openstudio-load-flexibility-measures 0.2.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +36 -36
  3. data/.rubocop.yml +6 -9
  4. data/CHANGELOG.html +75 -75
  5. data/CHANGELOG.md +59 -37
  6. data/Gemfile +31 -7
  7. data/Jenkinsfile +11 -0
  8. data/README.md +53 -42
  9. data/Rakefile +15 -15
  10. data/doc_templates/LICENSE.md +26 -26
  11. data/doc_templates/README.md.erb +41 -41
  12. data/doc_templates/copyright_erb.txt +35 -35
  13. data/doc_templates/copyright_js.txt +3 -3
  14. data/doc_templates/copyright_ruby.txt +33 -33
  15. data/lib/measures/add_central_ice_storage/LICENSE.md +26 -26
  16. data/lib/measures/add_central_ice_storage/README.md +264 -264
  17. data/lib/measures/add_central_ice_storage/README.md.erb +41 -41
  18. data/lib/measures/add_central_ice_storage/measure.rb +1325 -1324
  19. data/lib/measures/add_central_ice_storage/measure.xml +503 -503
  20. data/lib/measures/add_central_ice_storage/resources/OsLib_Schedules.rb +171 -173
  21. data/lib/measures/add_central_ice_storage/tests/add_central_ice_storage_test.rb +203 -203
  22. data/lib/measures/add_central_ice_storage/tests/ice_test_model.osm +21523 -21523
  23. data/lib/measures/add_hpwh/LICENSE.md +26 -26
  24. data/lib/measures/add_hpwh/README.md +186 -186
  25. data/lib/measures/add_hpwh/README.md.erb +41 -41
  26. data/lib/measures/add_hpwh/docs/Flexible Domestic Hot Water Implementation Guide.pdf +0 -0
  27. data/lib/measures/add_hpwh/measure.rb +663 -647
  28. data/lib/measures/add_hpwh/measure.xml +402 -397
  29. data/lib/measures/add_hpwh/tests/SmallHotel-2A.osm +42893 -42893
  30. data/lib/measures/add_hpwh/tests/{add_hphw_test.rb → add_hpwh_test.rb} +137 -98
  31. data/lib/measures/add_packaged_ice_storage/LICENSE.md +26 -26
  32. data/lib/measures/add_packaged_ice_storage/README.html +185 -185
  33. data/lib/measures/add_packaged_ice_storage/README.md +189 -189
  34. data/lib/measures/add_packaged_ice_storage/measure.rb +694 -691
  35. data/lib/measures/add_packaged_ice_storage/measure.xml +245 -245
  36. data/lib/measures/add_packaged_ice_storage/resources/TESCurves.idf +1059 -1059
  37. data/lib/measures/add_packaged_ice_storage/tests/MeasureTest.osm +9507 -9507
  38. data/lib/measures/add_packaged_ice_storage/tests/add_packaged_ice_storage_test.rb +96 -96
  39. data/lib/openstudio/load_flexibility_measures/version.rb +40 -40
  40. data/lib/openstudio/load_flexibility_measures.rb +50 -50
  41. data/openstudio-load-flexibility-measures.gemspec +33 -32
  42. metadata +27 -27
@@ -1,264 +1,264 @@
1
-
2
-
3
- ###### (Automatically generated documentation)
4
-
5
- # Add Central Ice Storage
6
-
7
- ## Description
8
- This measure adds an ice storage tank to a chilled water loop for the purpose of thermal energy storage.
9
-
10
- ## Modeler Description
11
- This measure adds the necessary components and performs required model articulations to add an ice thermal storage tank (ITS) to an existing chilled water loop. Special consideration is given to implementing configuration and control options. Refer to the ASHRAE CTES Design Guide or manufacturer applications guides for detailed implementation info. A user guide document is included in the docs folder of this measure to help translate design objectives into measure argument input values.
12
-
13
- ## Measure Type
14
- ModelMeasure
15
-
16
- ## Taxonomy
17
-
18
-
19
- ## Arguments
20
-
21
-
22
- ### Select Energy Storage Objective:
23
-
24
- **Name:** objective,
25
- **Type:** Choice,
26
- **Units:** ,
27
- **Required:** true,
28
- **Model Dependent:** false
29
-
30
- ### Select Upstream Device:
31
- Partial Storage Only. See documentation for control implementation.
32
- **Name:** upstream,
33
- **Type:** Choice,
34
- **Units:** ,
35
- **Required:** true,
36
- **Model Dependent:** false
37
-
38
- ### Enter Thermal Energy Storage Capacity for Ice Tank [ton-hours]:
39
-
40
- **Name:** storage_capacity,
41
- **Type:** Double,
42
- **Units:** ,
43
- **Required:** true,
44
- **Model Dependent:** false
45
-
46
- ### Select Thaw Process Indicator for Ice Storage:
47
-
48
- **Name:** melt_indicator,
49
- **Type:** Choice,
50
- **Units:** ,
51
- **Required:** true,
52
- **Model Dependent:** false
53
-
54
- ### Select Loop:
55
- Error: No Cooling Loop Found
56
- **Name:** selected_loop,
57
- **Type:** Choice,
58
- **Units:** ,
59
- **Required:** true,
60
- **Model Dependent:** false
61
-
62
- ### Select Chiller:
63
- Error: No Chiller Found
64
- **Name:** selected_chiller,
65
- **Type:** Choice,
66
- **Units:** ,
67
- **Required:** true,
68
- **Model Dependent:** false
69
-
70
- ### Enter Chiller Sizing Factor:
71
-
72
- **Name:** chiller_resize_factor,
73
- **Type:** Double,
74
- **Units:** ,
75
- **Required:** false,
76
- **Model Dependent:** false
77
-
78
- ### Enter Chiller Max Capacity Limit During Ice Discharge:
79
- Enter as a fraction of chiller capacity (0.0 - 1.0).
80
- **Name:** chiller_limit,
81
- **Type:** Double,
82
- **Units:** ,
83
- **Required:** false,
84
- **Model Dependent:** false
85
-
86
- ### Use Existing (Pre-Defined) Temperature Control Schedules
87
- Use drop-down selections below.
88
- **Name:** old,
89
- **Type:** Boolean,
90
- **Units:** ,
91
- **Required:** false,
92
- **Model Dependent:** false
93
-
94
- ### Select Pre-Defined Ice Availability Schedule
95
-
96
- **Name:** ctes_av,
97
- **Type:** Choice,
98
- **Units:** ,
99
- **Required:** false,
100
- **Model Dependent:** false
101
-
102
- ### Select Pre-Defined Ice Tank Component Setpoint Schedule
103
-
104
- **Name:** ctes_sch,
105
- **Type:** Choice,
106
- **Units:** ,
107
- **Required:** false,
108
- **Model Dependent:** false
109
-
110
- ### Select Pre-Defined Chiller Component Setpoint Schedule
111
-
112
- **Name:** chill_sch,
113
- **Type:** Choice,
114
- **Units:** ,
115
- **Required:** false,
116
- **Model Dependent:** false
117
-
118
- ### Create New (Simple) Temperature Control Schedules
119
- Use entry fields below. If Pre-Defined is also selected, these new schedules will be created but not applied.
120
- **Name:** new,
121
- **Type:** Boolean,
122
- **Units:** ,
123
- **Required:** false,
124
- **Model Dependent:** false
125
-
126
- ### Loop Setpoint Temperature F:
127
- This value replaces the existing loop temperature setpoint manager; the old manager will be disconnected but not deleted from the model.
128
- **Name:** loop_sp,
129
- **Type:** Double,
130
- **Units:** ,
131
- **Required:** true,
132
- **Model Dependent:** false
133
-
134
- ### Enter Intermediate Setpoint for Upstream Cooling Device During Ice Discharge F:
135
- Partial storage only
136
- **Name:** inter_sp,
137
- **Type:** Double,
138
- **Units:** ,
139
- **Required:** false,
140
- **Model Dependent:** false
141
-
142
- ### Ice Charging Setpoint Temperature F:
143
-
144
- **Name:** chg_sp,
145
- **Type:** Double,
146
- **Units:** ,
147
- **Required:** true,
148
- **Model Dependent:** false
149
-
150
- ### Loop Design Temperature Difference F:
151
- Enter numeric value to adjust selected loop settings.
152
- **Name:** delta_t,
153
- **Type:** String,
154
- **Units:** ,
155
- **Required:** true,
156
- **Model Dependent:** false
157
-
158
- ### Enter Seasonal Availabity of Ice Storage:
159
- Use MM/DD-MM/DD format
160
- **Name:** ctes_season,
161
- **Type:** String,
162
- **Units:** ,
163
- **Required:** true,
164
- **Model Dependent:** false
165
-
166
- ### Enter Starting Time for Ice Discharge:
167
- Use 24 hour format (HR:MM)
168
- **Name:** discharge_start,
169
- **Type:** String,
170
- **Units:** ,
171
- **Required:** true,
172
- **Model Dependent:** false
173
-
174
- ### Enter End Time for Ice Discharge:
175
- Use 24 hour format (HR:MM)
176
- **Name:** discharge_end,
177
- **Type:** String,
178
- **Units:** ,
179
- **Required:** true,
180
- **Model Dependent:** false
181
-
182
- ### Enter Starting Time for Ice charge:
183
- Use 24 hour format (HR:MM)
184
- **Name:** charge_start,
185
- **Type:** String,
186
- **Units:** ,
187
- **Required:** true,
188
- **Model Dependent:** false
189
-
190
- ### Enter End Time for Ice charge:
191
- Use 24 hour format (HR:MM)
192
- **Name:** charge_end,
193
- **Type:** String,
194
- **Units:** ,
195
- **Required:** true,
196
- **Model Dependent:** false
197
-
198
- ### Allow Ice Discharge on Weekends
199
-
200
- **Name:** wknds,
201
- **Type:** Boolean,
202
- **Units:** ,
203
- **Required:** true,
204
- **Model Dependent:** false
205
-
206
- ### Select Reporting Frequency for New Output Variables
207
- This will not change reporting frequency for existing output variables in the model.
208
- **Name:** report_freq,
209
- **Type:** Choice,
210
- **Units:** ,
211
- **Required:** false,
212
- **Model Dependent:** false
213
-
214
- ### Test Demand Reponse Event
215
-
216
- **Name:** dr,
217
- **Type:** Boolean,
218
- **Units:** ,
219
- **Required:** false,
220
- **Model Dependent:** false
221
-
222
- ### Select if a Load Add or Load Shed Event
223
-
224
- **Name:** dr_add_shed,
225
- **Type:** Choice,
226
- **Units:** ,
227
- **Required:** false,
228
- **Model Dependent:** false
229
-
230
- ### Enter date of demand response event:
231
- Use MM/DD format.
232
- **Name:** dr_date,
233
- **Type:** String,
234
- **Units:** ,
235
- **Required:** false,
236
- **Model Dependent:** false
237
-
238
- ### Enter start time of demand response event:
239
- Use 24 hour format (HR:MM)
240
- **Name:** dr_time,
241
- **Type:** String,
242
- **Units:** ,
243
- **Required:** false,
244
- **Model Dependent:** false
245
-
246
- ### Enter duration of demand response event [hr]:
247
-
248
- **Name:** dr_dur,
249
- **Type:** Double,
250
- **Units:** ,
251
- **Required:** false,
252
- **Model Dependent:** false
253
-
254
- ### Allow chiller to back-up ice during DR event
255
- Unselection may result in unmet cooling hours
256
- **Name:** dr_chill,
257
- **Type:** Boolean,
258
- **Units:** ,
259
- **Required:** false,
260
- **Model Dependent:** false
261
-
262
-
263
-
264
-
1
+
2
+
3
+ ###### (Automatically generated documentation)
4
+
5
+ # Add Central Ice Storage
6
+
7
+ ## Description
8
+ This measure adds an ice storage tank to a chilled water loop for the purpose of thermal energy storage.
9
+
10
+ ## Modeler Description
11
+ This measure adds the necessary components and performs required model articulations to add an ice thermal storage tank (ITS) to an existing chilled water loop. Special consideration is given to implementing configuration and control options. Refer to the ASHRAE CTES Design Guide or manufacturer applications guides for detailed implementation info. A user guide document is included in the docs folder of this measure to help translate design objectives into measure argument input values.
12
+
13
+ ## Measure Type
14
+ ModelMeasure
15
+
16
+ ## Taxonomy
17
+
18
+
19
+ ## Arguments
20
+
21
+
22
+ ### Select Energy Storage Objective:
23
+
24
+ **Name:** objective,
25
+ **Type:** Choice,
26
+ **Units:** ,
27
+ **Required:** true,
28
+ **Model Dependent:** false
29
+
30
+ ### Select Upstream Device:
31
+ Partial Storage Only. See documentation for control implementation.
32
+ **Name:** upstream,
33
+ **Type:** Choice,
34
+ **Units:** ,
35
+ **Required:** true,
36
+ **Model Dependent:** false
37
+
38
+ ### Enter Thermal Energy Storage Capacity for Ice Tank [ton-hours]:
39
+
40
+ **Name:** storage_capacity,
41
+ **Type:** Double,
42
+ **Units:** ,
43
+ **Required:** true,
44
+ **Model Dependent:** false
45
+
46
+ ### Select Thaw Process Indicator for Ice Storage:
47
+
48
+ **Name:** melt_indicator,
49
+ **Type:** Choice,
50
+ **Units:** ,
51
+ **Required:** true,
52
+ **Model Dependent:** false
53
+
54
+ ### Select Loop:
55
+ Error: No Cooling Loop Found
56
+ **Name:** selected_loop,
57
+ **Type:** Choice,
58
+ **Units:** ,
59
+ **Required:** true,
60
+ **Model Dependent:** false
61
+
62
+ ### Select Chiller:
63
+ Error: No Chiller Found
64
+ **Name:** selected_chiller,
65
+ **Type:** Choice,
66
+ **Units:** ,
67
+ **Required:** true,
68
+ **Model Dependent:** false
69
+
70
+ ### Enter Chiller Sizing Factor:
71
+
72
+ **Name:** chiller_resize_factor,
73
+ **Type:** Double,
74
+ **Units:** ,
75
+ **Required:** false,
76
+ **Model Dependent:** false
77
+
78
+ ### Enter Chiller Max Capacity Limit During Ice Discharge:
79
+ Enter as a fraction of chiller capacity (0.0 - 1.0).
80
+ **Name:** chiller_limit,
81
+ **Type:** Double,
82
+ **Units:** ,
83
+ **Required:** false,
84
+ **Model Dependent:** false
85
+
86
+ ### Use Existing (Pre-Defined) Temperature Control Schedules
87
+ Use drop-down selections below.
88
+ **Name:** old,
89
+ **Type:** Boolean,
90
+ **Units:** ,
91
+ **Required:** false,
92
+ **Model Dependent:** false
93
+
94
+ ### Select Pre-Defined Ice Availability Schedule
95
+
96
+ **Name:** ctes_av,
97
+ **Type:** Choice,
98
+ **Units:** ,
99
+ **Required:** false,
100
+ **Model Dependent:** false
101
+
102
+ ### Select Pre-Defined Ice Tank Component Setpoint Schedule
103
+
104
+ **Name:** ctes_sch,
105
+ **Type:** Choice,
106
+ **Units:** ,
107
+ **Required:** false,
108
+ **Model Dependent:** false
109
+
110
+ ### Select Pre-Defined Chiller Component Setpoint Schedule
111
+
112
+ **Name:** chill_sch,
113
+ **Type:** Choice,
114
+ **Units:** ,
115
+ **Required:** false,
116
+ **Model Dependent:** false
117
+
118
+ ### Create New (Simple) Temperature Control Schedules
119
+ Use entry fields below. If Pre-Defined is also selected, these new schedules will be created but not applied.
120
+ **Name:** new,
121
+ **Type:** Boolean,
122
+ **Units:** ,
123
+ **Required:** false,
124
+ **Model Dependent:** false
125
+
126
+ ### Loop Setpoint Temperature F:
127
+ This value replaces the existing loop temperature setpoint manager; the old manager will be disconnected but not deleted from the model.
128
+ **Name:** loop_sp,
129
+ **Type:** Double,
130
+ **Units:** ,
131
+ **Required:** true,
132
+ **Model Dependent:** false
133
+
134
+ ### Enter Intermediate Setpoint for Upstream Cooling Device During Ice Discharge F:
135
+ Partial storage only
136
+ **Name:** inter_sp,
137
+ **Type:** Double,
138
+ **Units:** ,
139
+ **Required:** false,
140
+ **Model Dependent:** false
141
+
142
+ ### Ice Charging Setpoint Temperature F:
143
+
144
+ **Name:** chg_sp,
145
+ **Type:** Double,
146
+ **Units:** ,
147
+ **Required:** true,
148
+ **Model Dependent:** false
149
+
150
+ ### Loop Design Temperature Difference F:
151
+ Enter numeric value to adjust selected loop settings.
152
+ **Name:** delta_t,
153
+ **Type:** String,
154
+ **Units:** ,
155
+ **Required:** true,
156
+ **Model Dependent:** false
157
+
158
+ ### Enter Seasonal Availabity of Ice Storage:
159
+ Use MM/DD-MM/DD format
160
+ **Name:** ctes_season,
161
+ **Type:** String,
162
+ **Units:** ,
163
+ **Required:** true,
164
+ **Model Dependent:** false
165
+
166
+ ### Enter Starting Time for Ice Discharge:
167
+ Use 24 hour format (HR:MM)
168
+ **Name:** discharge_start,
169
+ **Type:** String,
170
+ **Units:** ,
171
+ **Required:** true,
172
+ **Model Dependent:** false
173
+
174
+ ### Enter End Time for Ice Discharge:
175
+ Use 24 hour format (HR:MM)
176
+ **Name:** discharge_end,
177
+ **Type:** String,
178
+ **Units:** ,
179
+ **Required:** true,
180
+ **Model Dependent:** false
181
+
182
+ ### Enter Starting Time for Ice charge:
183
+ Use 24 hour format (HR:MM)
184
+ **Name:** charge_start,
185
+ **Type:** String,
186
+ **Units:** ,
187
+ **Required:** true,
188
+ **Model Dependent:** false
189
+
190
+ ### Enter End Time for Ice charge:
191
+ Use 24 hour format (HR:MM)
192
+ **Name:** charge_end,
193
+ **Type:** String,
194
+ **Units:** ,
195
+ **Required:** true,
196
+ **Model Dependent:** false
197
+
198
+ ### Allow Ice Discharge on Weekends
199
+
200
+ **Name:** wknds,
201
+ **Type:** Boolean,
202
+ **Units:** ,
203
+ **Required:** true,
204
+ **Model Dependent:** false
205
+
206
+ ### Select Reporting Frequency for New Output Variables
207
+ This will not change reporting frequency for existing output variables in the model.
208
+ **Name:** report_freq,
209
+ **Type:** Choice,
210
+ **Units:** ,
211
+ **Required:** false,
212
+ **Model Dependent:** false
213
+
214
+ ### Test Demand Reponse Event
215
+
216
+ **Name:** dr,
217
+ **Type:** Boolean,
218
+ **Units:** ,
219
+ **Required:** false,
220
+ **Model Dependent:** false
221
+
222
+ ### Select if a Load Add or Load Shed Event
223
+
224
+ **Name:** dr_add_shed,
225
+ **Type:** Choice,
226
+ **Units:** ,
227
+ **Required:** false,
228
+ **Model Dependent:** false
229
+
230
+ ### Enter date of demand response event:
231
+ Use MM/DD format.
232
+ **Name:** dr_date,
233
+ **Type:** String,
234
+ **Units:** ,
235
+ **Required:** false,
236
+ **Model Dependent:** false
237
+
238
+ ### Enter start time of demand response event:
239
+ Use 24 hour format (HR:MM)
240
+ **Name:** dr_time,
241
+ **Type:** String,
242
+ **Units:** ,
243
+ **Required:** false,
244
+ **Model Dependent:** false
245
+
246
+ ### Enter duration of demand response event [hr]:
247
+
248
+ **Name:** dr_dur,
249
+ **Type:** Double,
250
+ **Units:** ,
251
+ **Required:** false,
252
+ **Model Dependent:** false
253
+
254
+ ### Allow chiller to back-up ice during DR event
255
+ Unselection may result in unmet cooling hours
256
+ **Name:** dr_chill,
257
+ **Type:** Boolean,
258
+ **Units:** ,
259
+ **Required:** false,
260
+ **Model Dependent:** false
261
+
262
+
263
+
264
+
@@ -1,42 +1,42 @@
1
- <%#= README.md.erb is used to auto-generate README.md. %>
2
- <%#= To manually maintain README.md throw away README.md.erb and manually edit README.md %>
3
- ###### (Automatically generated documentation)
4
-
5
- # <%= name %>
6
-
7
- ## Description
8
- <%= description %>
9
-
10
- ## Modeler Description
11
- <%= modelerDescription %>
12
-
13
- ## Measure Type
14
- <%= measureType %>
15
-
16
- ## Taxonomy
17
- <%= taxonomy %>
18
-
19
- ## Arguments
20
-
21
- <% arguments.each do |argument| %>
22
- ### <%= argument[:display_name] %>
23
- <%= argument[:description] %>
24
- **Name:** <%= argument[:name] %>,
25
- **Type:** <%= argument[:type] %>,
26
- **Units:** <%= argument[:units] %>,
27
- **Required:** <%= argument[:required] %>,
28
- **Model Dependent:** <%= argument[:model_dependent] %>
29
- <% end %>
30
-
31
- <% if arguments.size == 0 %>
32
- <%= "This measure does not have any user arguments" %>
33
- <% end %>
34
-
35
- <% if outputs.size > 0 %>
36
- ## Outputs
37
- <% output_names = [] %>
38
- <% outputs.each do |output| %>
39
- <% output_names << output[:display_name] %>
40
- <% end %>
41
- <%= output_names.join(", ") %>
1
+ <%#= README.md.erb is used to auto-generate README.md. %>
2
+ <%#= To manually maintain README.md throw away README.md.erb and manually edit README.md %>
3
+ ###### (Automatically generated documentation)
4
+
5
+ # <%= name %>
6
+
7
+ ## Description
8
+ <%= description %>
9
+
10
+ ## Modeler Description
11
+ <%= modelerDescription %>
12
+
13
+ ## Measure Type
14
+ <%= measureType %>
15
+
16
+ ## Taxonomy
17
+ <%= taxonomy %>
18
+
19
+ ## Arguments
20
+
21
+ <% arguments.each do |argument| %>
22
+ ### <%= argument[:display_name] %>
23
+ <%= argument[:description] %>
24
+ **Name:** <%= argument[:name] %>,
25
+ **Type:** <%= argument[:type] %>,
26
+ **Units:** <%= argument[:units] %>,
27
+ **Required:** <%= argument[:required] %>,
28
+ **Model Dependent:** <%= argument[:model_dependent] %>
29
+ <% end %>
30
+
31
+ <% if arguments.size == 0 %>
32
+ <%= "This measure does not have any user arguments" %>
33
+ <% end %>
34
+
35
+ <% if outputs.size > 0 %>
36
+ ## Outputs
37
+ <% output_names = [] %>
38
+ <% outputs.each do |output| %>
39
+ <% output_names << output[:display_name] %>
40
+ <% end %>
41
+ <%= output_names.join(", ") %>
42
42
  <% end %>