openstudio-geb 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +7 -3
  3. data/CHANGELOG.md +7 -0
  4. data/Gemfile +1 -12
  5. data/files/seasonal_shedding_peak_hours.json +1 -0
  6. data/files/seasonal_shifting_peak_hours.json +1 -0
  7. data/files/seasonal_shifting_take_hours.json +1 -0
  8. data/lib/measures/AddElectricVehicleChargingLoad/README.md +16 -0
  9. data/lib/measures/AddElectricVehicleChargingLoad/measure.xml +64 -32
  10. data/lib/measures/AdjustThermostatSetpointsByDegreesForPeakHours/README.md +266 -42
  11. data/lib/measures/AdjustThermostatSetpointsByDegreesForPeakHours/measure.rb +963 -442
  12. data/lib/measures/AdjustThermostatSetpointsByDegreesForPeakHours/measure.xml +330 -95
  13. data/lib/measures/GEB Metrics Report/README.md +41 -1
  14. data/lib/measures/GEB Metrics Report/measure.xml +84 -241
  15. data/lib/measures/GEB Metrics Report/resources/os_lib_reporting.rb +5 -5
  16. data/lib/measures/add_ceiling_fan/measure.rb +2 -2
  17. data/lib/measures/add_ceiling_fan/measure.xml +30 -30
  18. data/lib/measures/add_chilled_water_storage_tank/README.md +73 -33
  19. data/lib/measures/add_chilled_water_storage_tank/measure.rb +5 -0
  20. data/lib/measures/add_chilled_water_storage_tank/measure.xml +23 -23
  21. data/lib/measures/add_chilled_water_storage_tank/tests/370_medium_office_doas_fan_coil_acc_boiler_3A.osm +31800 -0
  22. data/lib/measures/add_chilled_water_storage_tank/tests/LargeOffice-90.1-2013-ASHRAE 169-2013-5A.osm +22036 -0
  23. data/lib/measures/add_exterior_blinds_and_control/measure.xml +28 -28
  24. data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/measure.rb +5 -0
  25. data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/measure.xml +20 -44
  26. data/lib/measures/add_heat_pump_water_heater/measure.rb +28 -28
  27. data/lib/measures/add_heat_pump_water_heater/measure.xml +30 -95
  28. data/lib/measures/add_interior_blinds_and_control/measure.xml +28 -28
  29. data/lib/measures/add_rooftop_pv_simple/measure.rb +1 -1
  30. data/lib/measures/add_rooftop_pv_simple/measure.xml +24 -24
  31. data/lib/measures/apply_dynamic_coating_to_roof_wall/LICENSE.md +13 -1
  32. data/lib/measures/apply_dynamic_coating_to_roof_wall/measure.rb +7 -2
  33. data/lib/measures/apply_dynamic_coating_to_roof_wall/measure.xml +20 -14
  34. data/lib/measures/apply_dynamic_coating_to_roof_wall/tests/SFD_1story_UB_UA_ASHP2_HPWH.osm +13110 -0
  35. data/lib/measures/apply_dynamic_coating_to_roof_wall/tests/apply_dynamic_coating_to_roof_wall_test.rb +5 -0
  36. data/lib/measures/average_ventilation_for_peak_hours/measure.xml +20 -20
  37. data/lib/measures/enable_occupancy_driven_lighting/measure.xml +28 -28
  38. data/lib/measures/precooling/README.md +137 -17
  39. data/lib/measures/precooling/measure.rb +964 -354
  40. data/lib/measures/precooling/measure.xml +172 -44
  41. data/lib/measures/preheating/README.md +125 -21
  42. data/lib/measures/preheating/measure.rb +940 -356
  43. data/lib/measures/preheating/measure.xml +160 -50
  44. data/lib/measures/reduce_epd_by_percentage_for_peak_hours/README.md +125 -29
  45. data/lib/measures/reduce_epd_by_percentage_for_peak_hours/measure.rb +509 -300
  46. data/lib/measures/reduce_epd_by_percentage_for_peak_hours/measure.xml +178 -70
  47. data/lib/measures/reduce_lpd_by_percentage_for_peak_hours/README.md +132 -28
  48. data/lib/measures/reduce_lpd_by_percentage_for_peak_hours/measure.rb +534 -309
  49. data/lib/measures/reduce_lpd_by_percentage_for_peak_hours/measure.xml +186 -69
  50. data/lib/openstudio/geb/version.rb +1 -1
  51. data/openstudio-geb.gemspec +5 -5
  52. metadata +31 -25
@@ -1,81 +1,209 @@
1
1
  <?xml version="1.0"?>
2
2
  <measure>
3
- <schema_version>3.0</schema_version>
3
+ <schema_version>3.1</schema_version>
4
4
  <name>precooling</name>
5
5
  <uid>58a80cd6-4b78-44f1-8b5b-b589b92f94e2</uid>
6
- <version_id>4e7fdd9d-fc9c-46b2-b69c-a463312203f4</version_id>
7
- <version_modified>20230718T215421Z</version_modified>
6
+ <version_id>c876ea55-76ae-47e3-b3bc-e396fda90187</version_id>
7
+ <version_modified>2025-06-30T21:09:49Z</version_modified>
8
8
  <xml_checksum>037F7E44</xml_checksum>
9
9
  <class_name>Precooling</class_name>
10
10
  <display_name>Precooling</display_name>
11
11
  <description>This measure adjusts cooling schedules by a user specified number of degrees for the specified time period of a day. User can also specify the start and end date for the adjustment. This is applied throughout the entire building.</description>
12
- <modeler_description>This measure will clone all of the schedules that are used as cooling setpoints for thermal zones. The clones are hooked up to the thermostat in place of the original schedules. Then the schedules are adjusted by the specified values. HVAC operation schedule will also be changed. There is a checkbox to determine if the thermostat for design days should be altered.</modeler_description>
12
+ <modeler_description>This measure will clone all of the schedules that are used for cooling setpoints for thermal zones. The clones are hooked up to the thermostat in place of the original schedules. Then the schedules are adjusted by the specified values. HVAC operation schedule will also be changed. There is a checkbox to determine if the thermostat for design days should be altered.</modeler_description>
13
13
  <arguments>
14
14
  <argument>
15
15
  <name>cooling_adjustment</name>
16
16
  <display_name>Degrees Fahrenheit to Adjust Cooling Setpoint By</display_name>
17
+ <description>Use negative value for reducing cooling setpoint during precooling period</description>
17
18
  <type>Double</type>
18
19
  <required>true</required>
19
20
  <model_dependent>false</model_dependent>
20
21
  <default_value>-4</default_value>
21
22
  </argument>
22
23
  <argument>
23
- <name>starttime_cooling</name>
24
- <display_name>Start Time for Pre-cooling</display_name>
24
+ <name>start_date1</name>
25
+ <display_name>First start date for precooling</display_name>
26
+ <description>In MM-DD format</description>
27
+ <type>String</type>
28
+ <required>true</required>
29
+ <model_dependent>false</model_dependent>
30
+ <default_value>06-01</default_value>
31
+ </argument>
32
+ <argument>
33
+ <name>end_date1</name>
34
+ <display_name>First end date for precooling</display_name>
35
+ <description>In MM-DD format</description>
36
+ <type>String</type>
37
+ <required>true</required>
38
+ <model_dependent>false</model_dependent>
39
+ <default_value>09-30</default_value>
40
+ </argument>
41
+ <argument>
42
+ <name>start_date2</name>
43
+ <display_name>Second start date for precooling (optional)</display_name>
44
+ <description>Specify a date in MM-DD format if you want a second season of precooling; leave blank if not needed.</description>
45
+ <type>String</type>
46
+ <required>false</required>
47
+ <model_dependent>false</model_dependent>
48
+ <default_value></default_value>
49
+ </argument>
50
+ <argument>
51
+ <name>end_date2</name>
52
+ <display_name>Second end date for precooling</display_name>
53
+ <description>Specify a date in MM-DD format if you want a second season of precooling; leave blank if not needed. If either the start or end date is blank, the period is considered not used.</description>
54
+ <type>String</type>
55
+ <required>false</required>
56
+ <model_dependent>false</model_dependent>
57
+ <default_value></default_value>
58
+ </argument>
59
+ <argument>
60
+ <name>start_date3</name>
61
+ <display_name>Third start date for precooling (optional)</display_name>
62
+ <description>Specify a date in MM-DD format if you want a third season of precooling; leave blank if not needed.</description>
63
+ <type>String</type>
64
+ <required>false</required>
65
+ <model_dependent>false</model_dependent>
66
+ <default_value></default_value>
67
+ </argument>
68
+ <argument>
69
+ <name>end_date3</name>
70
+ <display_name>Third end date for precooling</display_name>
71
+ <description>Specify a date in MM-DD format if you want a third season of precooling; leave blank if not needed. If either the start or end date is blank, the period is considered not used.</description>
72
+ <type>String</type>
73
+ <required>false</required>
74
+ <model_dependent>false</model_dependent>
75
+ <default_value></default_value>
76
+ </argument>
77
+ <argument>
78
+ <name>start_date4</name>
79
+ <display_name>Fourth start date for precooling (optional)</display_name>
80
+ <description>Specify a date in MM-DD format if you want a fourth season of precooling; leave blank if not needed.</description>
81
+ <type>String</type>
82
+ <required>false</required>
83
+ <model_dependent>false</model_dependent>
84
+ <default_value></default_value>
85
+ </argument>
86
+ <argument>
87
+ <name>end_date4</name>
88
+ <display_name>Fourth end date for precooling</display_name>
89
+ <description>Specify a date in MM-DD format if you want a fourth season of precooling; leave blank if not needed. If either the start or end date is blank, the period is considered not used.</description>
90
+ <type>String</type>
91
+ <required>false</required>
92
+ <model_dependent>false</model_dependent>
93
+ <default_value></default_value>
94
+ </argument>
95
+ <argument>
96
+ <name>start_date5</name>
97
+ <display_name>Fifth start date for precooling (optional)</display_name>
98
+ <description>Specify a date in MM-DD format if you want a fifth season of precooling; leave blank if not needed.</description>
99
+ <type>String</type>
100
+ <required>false</required>
101
+ <model_dependent>false</model_dependent>
102
+ <default_value></default_value>
103
+ </argument>
104
+ <argument>
105
+ <name>end_date5</name>
106
+ <display_name>Fifth end date for precooling</display_name>
107
+ <description>Specify a date in MM-DD format if you want a fifth season of precooling; leave blank if not needed. If either the start or end date is blank, the period is considered not used.</description>
108
+ <type>String</type>
109
+ <required>false</required>
110
+ <model_dependent>false</model_dependent>
111
+ <default_value></default_value>
112
+ </argument>
113
+ <argument>
114
+ <name>start_time1</name>
115
+ <display_name>Start time of precooling for the first season</display_name>
25
116
  <description>In HH:MM:SS format</description>
26
117
  <type>String</type>
27
118
  <required>true</required>
28
119
  <model_dependent>false</model_dependent>
29
- <default_value>11:59:00</default_value>
120
+ <default_value>17:00:00</default_value>
30
121
  </argument>
31
122
  <argument>
32
- <name>endtime_cooling</name>
33
- <display_name>End Time for Pre-cooling</display_name>
123
+ <name>end_time1</name>
124
+ <display_name>End time of precooling for the first season</display_name>
34
125
  <description>In HH:MM:SS format</description>
35
126
  <type>String</type>
36
127
  <required>true</required>
37
128
  <model_dependent>false</model_dependent>
38
- <default_value>15:59:00</default_value>
129
+ <default_value>21:00:00</default_value>
39
130
  </argument>
40
131
  <argument>
41
- <name>cooling_startdate</name>
42
- <display_name>Start Date for Pre-cooling</display_name>
43
- <description>In MM-DD format</description>
132
+ <name>start_time2</name>
133
+ <display_name>Start time of precooling for the second season (optional)</display_name>
134
+ <description>In HH:MM:SS format</description>
44
135
  <type>String</type>
45
136
  <required>false</required>
46
137
  <model_dependent>false</model_dependent>
47
- <default_value>06-01</default_value>
138
+ <default_value></default_value>
48
139
  </argument>
49
140
  <argument>
50
- <name>cooling_enddate</name>
51
- <display_name>End Date for Pre-cooling</display_name>
52
- <description>In MM-DD format</description>
141
+ <name>end_time2</name>
142
+ <display_name>End time of precooling for the second season (optional)</display_name>
143
+ <description>In HH:MM:SS format</description>
53
144
  <type>String</type>
54
145
  <required>false</required>
55
146
  <model_dependent>false</model_dependent>
56
- <default_value>09-30</default_value>
147
+ <default_value></default_value>
57
148
  </argument>
58
149
  <argument>
59
- <name>auto_date</name>
60
- <display_name>Enable Climate-specific Periods Setting ?</display_name>
61
- <type>Boolean</type>
62
- <required>true</required>
150
+ <name>start_time3</name>
151
+ <display_name>Start time of precooling for the third season (optional)</display_name>
152
+ <description>In HH:MM:SS format</description>
153
+ <type>String</type>
154
+ <required>false</required>
63
155
  <model_dependent>false</model_dependent>
64
- <default_value>false</default_value>
65
- <choices>
66
- <choice>
67
- <value>true</value>
68
- <display_name>true</display_name>
69
- </choice>
70
- <choice>
71
- <value>false</value>
72
- <display_name>false</display_name>
73
- </choice>
74
- </choices>
156
+ <default_value></default_value>
157
+ </argument>
158
+ <argument>
159
+ <name>end_time3</name>
160
+ <display_name>End time of precooling for the third season (optional)</display_name>
161
+ <description>In HH:MM:SS format</description>
162
+ <type>String</type>
163
+ <required>false</required>
164
+ <model_dependent>false</model_dependent>
165
+ <default_value></default_value>
166
+ </argument>
167
+ <argument>
168
+ <name>start_time4</name>
169
+ <display_name>Start time of precooling for the fourth season (optional)</display_name>
170
+ <description>In HH:MM:SS format</description>
171
+ <type>String</type>
172
+ <required>false</required>
173
+ <model_dependent>false</model_dependent>
174
+ <default_value></default_value>
175
+ </argument>
176
+ <argument>
177
+ <name>end_time4</name>
178
+ <display_name>End time of precooling for the fourth season (optional)</display_name>
179
+ <description>In HH:MM:SS format</description>
180
+ <type>String</type>
181
+ <required>false</required>
182
+ <model_dependent>false</model_dependent>
183
+ <default_value></default_value>
184
+ </argument>
185
+ <argument>
186
+ <name>start_time5</name>
187
+ <display_name>Start time of precooling for the fifth season (optional)</display_name>
188
+ <description>In HH:MM:SS format</description>
189
+ <type>String</type>
190
+ <required>false</required>
191
+ <model_dependent>false</model_dependent>
192
+ <default_value></default_value>
193
+ </argument>
194
+ <argument>
195
+ <name>end_time5</name>
196
+ <display_name>End time of precooling for the fifth season (optional)</display_name>
197
+ <description>In HH:MM:SS format</description>
198
+ <type>String</type>
199
+ <required>false</required>
200
+ <model_dependent>false</model_dependent>
201
+ <default_value></default_value>
75
202
  </argument>
76
203
  <argument>
77
204
  <name>alt_periods</name>
78
- <display_name>Alternate Peak and Take Periods ?</display_name>
205
+ <display_name>Use alternative default start and end time based on the state of the model from the Cambium load profile peak period?</display_name>
206
+ <description>This will overwrite the start and end time and date provided by the user</description>
79
207
  <type>Boolean</type>
80
208
  <required>true</required>
81
209
  <model_dependent>false</model_dependent>
@@ -131,22 +259,22 @@
131
259
  </attributes>
132
260
  <files>
133
261
  <file>
134
- <filename>README.md.erb</filename>
135
- <filetype>erb</filetype>
136
- <usage_type>readmeerb</usage_type>
137
- <checksum>703C9964</checksum>
262
+ <filename>LICENSE.md</filename>
263
+ <filetype>md</filetype>
264
+ <usage_type>license</usage_type>
265
+ <checksum>BFFB1AA6</checksum>
138
266
  </file>
139
267
  <file>
140
268
  <filename>README.md</filename>
141
269
  <filetype>md</filetype>
142
270
  <usage_type>readme</usage_type>
143
- <checksum>02F34247</checksum>
271
+ <checksum>D6514577</checksum>
144
272
  </file>
145
273
  <file>
146
- <filename>LICENSE.md</filename>
147
- <filetype>md</filetype>
148
- <usage_type>license</usage_type>
149
- <checksum>BFFB1AA6</checksum>
274
+ <filename>README.md.erb</filename>
275
+ <filetype>erb</filetype>
276
+ <usage_type>readmeerb</usage_type>
277
+ <checksum>703C9964</checksum>
150
278
  </file>
151
279
  <file>
152
280
  <version>
@@ -157,7 +285,7 @@
157
285
  <filename>measure.rb</filename>
158
286
  <filetype>rb</filetype>
159
287
  <usage_type>script</usage_type>
160
- <checksum>A8C58179</checksum>
288
+ <checksum>29B4D616</checksum>
161
289
  </file>
162
290
  </files>
163
291
  </measure>
@@ -20,71 +20,175 @@ ModelMeasure
20
20
 
21
21
 
22
22
  ### Degrees Fahrenheit to Adjust Heating Setpoint By
23
-
23
+ Use positive value for increasing heating setpoint during preheating period
24
24
  **Name:** heating_adjustment,
25
25
  **Type:** Double,
26
26
  **Units:** ,
27
27
  **Required:** true,
28
28
  **Model Dependent:** false
29
29
 
30
- ### First Start Date for Pre-heating
30
+ ### First start date for preheating
31
31
  In MM-DD format
32
- **Name:** heating_startdate1,
32
+ **Name:** start_date1,
33
33
  **Type:** String,
34
34
  **Units:** ,
35
- **Required:** false,
35
+ **Required:** true,
36
36
  **Model Dependent:** false
37
37
 
38
- ### First End Date for Pre-heating
38
+ ### First end date for preheating
39
39
  In MM-DD format
40
- **Name:** heating_enddate1,
40
+ **Name:** end_date1,
41
+ **Type:** String,
42
+ **Units:** ,
43
+ **Required:** true,
44
+ **Model Dependent:** false
45
+
46
+ ### Second start date for preheating (optional)
47
+ Specify a date in MM-DD format if you want a second season of preheating; leave blank if not needed.
48
+ **Name:** start_date2,
41
49
  **Type:** String,
42
50
  **Units:** ,
43
51
  **Required:** false,
44
52
  **Model Dependent:** false
45
53
 
46
- ### Second Start Date for Pre-heating
47
- In MM-DD format
48
- **Name:** heating_startdate2,
54
+ ### Second end date for preheating
55
+ Specify a date in MM-DD format if you want a second season of preheating; leave blank if not needed. If either the start or end date is blank, the period is considered not used.
56
+ **Name:** end_date2,
49
57
  **Type:** String,
50
58
  **Units:** ,
51
59
  **Required:** false,
52
60
  **Model Dependent:** false
53
61
 
54
- ### First End Date for Pre-heating
55
- In MM-DD format
56
- **Name:** heating_enddate2,
62
+ ### Third start date for preheating (optional)
63
+ Specify a date in MM-DD format if you want a third season of preheating; leave blank if not needed.
64
+ **Name:** start_date3,
65
+ **Type:** String,
66
+ **Units:** ,
67
+ **Required:** false,
68
+ **Model Dependent:** false
69
+
70
+ ### Third end date for preheating
71
+ Specify a date in MM-DD format if you want a third season of preheating; leave blank if not needed. If either the start or end date is blank, the period is considered not used.
72
+ **Name:** end_date3,
73
+ **Type:** String,
74
+ **Units:** ,
75
+ **Required:** false,
76
+ **Model Dependent:** false
77
+
78
+ ### Fourth start date for preheating (optional)
79
+ Specify a date in MM-DD format if you want a fourth season of preheating; leave blank if not needed.
80
+ **Name:** start_date4,
57
81
  **Type:** String,
58
82
  **Units:** ,
59
83
  **Required:** false,
60
84
  **Model Dependent:** false
61
85
 
62
- ### Start Time for Pre-heating
86
+ ### Fourth end date for preheating
87
+ Specify a date in MM-DD format if you want a fourth season of preheating; leave blank if not needed. If either the start or end date is blank, the period is considered not used.
88
+ **Name:** end_date4,
89
+ **Type:** String,
90
+ **Units:** ,
91
+ **Required:** false,
92
+ **Model Dependent:** false
93
+
94
+ ### Fifth start date for preheating (optional)
95
+ Specify a date in MM-DD format if you want a fifth season of preheating; leave blank if not needed.
96
+ **Name:** start_date5,
97
+ **Type:** String,
98
+ **Units:** ,
99
+ **Required:** false,
100
+ **Model Dependent:** false
101
+
102
+ ### Fifth end date for preheating
103
+ Specify a date in MM-DD format if you want a fifth season of preheating; leave blank if not needed. If either the start or end date is blank, the period is considered not used.
104
+ **Name:** end_date5,
105
+ **Type:** String,
106
+ **Units:** ,
107
+ **Required:** false,
108
+ **Model Dependent:** false
109
+
110
+ ### Start time of preheating for the first season
63
111
  In HH:MM:SS format
64
- **Name:** starttime_heating,
112
+ **Name:** start_time1,
65
113
  **Type:** String,
66
114
  **Units:** ,
67
115
  **Required:** true,
68
116
  **Model Dependent:** false
69
117
 
70
- ### End Time for Pre-heating
118
+ ### End time of preheating for the first season
71
119
  In HH:MM:SS format
72
- **Name:** endtime_heating,
120
+ **Name:** end_time1,
73
121
  **Type:** String,
74
122
  **Units:** ,
75
123
  **Required:** true,
76
124
  **Model Dependent:** false
77
125
 
78
- ### Enable Climate-specific Periods Setting ?
126
+ ### Start time of preheating for the second season (optional)
127
+ In HH:MM:SS format
128
+ **Name:** start_time2,
129
+ **Type:** String,
130
+ **Units:** ,
131
+ **Required:** false,
132
+ **Model Dependent:** false
133
+
134
+ ### End time of preheating for the second season (optional)
135
+ In HH:MM:SS format
136
+ **Name:** end_time2,
137
+ **Type:** String,
138
+ **Units:** ,
139
+ **Required:** false,
140
+ **Model Dependent:** false
79
141
 
80
- **Name:** auto_date,
81
- **Type:** Boolean,
142
+ ### Start time of preheating for the third season (optional)
143
+ In HH:MM:SS format
144
+ **Name:** start_time3,
145
+ **Type:** String,
82
146
  **Units:** ,
83
- **Required:** true,
147
+ **Required:** false,
148
+ **Model Dependent:** false
149
+
150
+ ### End time of preheating for the third season (optional)
151
+ In HH:MM:SS format
152
+ **Name:** end_time3,
153
+ **Type:** String,
154
+ **Units:** ,
155
+ **Required:** false,
156
+ **Model Dependent:** false
157
+
158
+ ### Start time of preheating for the fourth season (optional)
159
+ In HH:MM:SS format
160
+ **Name:** start_time4,
161
+ **Type:** String,
162
+ **Units:** ,
163
+ **Required:** false,
164
+ **Model Dependent:** false
165
+
166
+ ### End time of preheating for the fourth season (optional)
167
+ In HH:MM:SS format
168
+ **Name:** end_time4,
169
+ **Type:** String,
170
+ **Units:** ,
171
+ **Required:** false,
172
+ **Model Dependent:** false
173
+
174
+ ### Start time of preheating for the fifth season (optional)
175
+ In HH:MM:SS format
176
+ **Name:** start_time5,
177
+ **Type:** String,
178
+ **Units:** ,
179
+ **Required:** false,
84
180
  **Model Dependent:** false
85
181
 
86
- ### Alternate Peak and Take Periods ?
182
+ ### End time of preheating for the fifth season (optional)
183
+ In HH:MM:SS format
184
+ **Name:** end_time5,
185
+ **Type:** String,
186
+ **Units:** ,
187
+ **Required:** false,
188
+ **Model Dependent:** false
87
189
 
190
+ ### Use alternative default start and end time based on the state of the model from the Cambium load profile peak period?
191
+ This will overwrite the start and end time and date provided by the user
88
192
  **Name:** alt_periods,
89
193
  **Type:** Boolean,
90
194
  **Units:** ,