openstudio-geb 0.6.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 (41) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -1
  3. data/Gemfile +1 -1
  4. data/lib/measures/AddElectricVehicleChargingLoad/README.md +16 -0
  5. data/lib/measures/AddElectricVehicleChargingLoad/measure.xml +64 -32
  6. data/lib/measures/AdjustThermostatSetpointsByDegreesForPeakHours/README.md +266 -42
  7. data/lib/measures/AdjustThermostatSetpointsByDegreesForPeakHours/measure.xml +330 -95
  8. data/lib/measures/GEB Metrics Report/README.md +41 -1
  9. data/lib/measures/GEB Metrics Report/measure.xml +84 -241
  10. data/lib/measures/GEB Metrics Report/resources/os_lib_reporting.rb +5 -5
  11. data/lib/measures/add_ceiling_fan/measure.xml +30 -30
  12. data/lib/measures/add_chilled_water_storage_tank/README.md +73 -33
  13. data/lib/measures/add_chilled_water_storage_tank/measure.rb +5 -0
  14. data/lib/measures/add_chilled_water_storage_tank/measure.xml +23 -23
  15. data/lib/measures/add_chilled_water_storage_tank/tests/370_medium_office_doas_fan_coil_acc_boiler_3A.osm +31800 -0
  16. data/lib/measures/add_chilled_water_storage_tank/tests/LargeOffice-90.1-2013-ASHRAE 169-2013-5A.osm +22036 -0
  17. data/lib/measures/add_exterior_blinds_and_control/measure.xml +28 -28
  18. data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/measure.rb +5 -0
  19. data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/measure.xml +20 -44
  20. data/lib/measures/add_heat_pump_water_heater/measure.rb +28 -28
  21. data/lib/measures/add_heat_pump_water_heater/measure.xml +30 -95
  22. data/lib/measures/add_interior_blinds_and_control/measure.xml +28 -28
  23. data/lib/measures/add_rooftop_pv_simple/measure.xml +24 -24
  24. data/lib/measures/apply_dynamic_coating_to_roof_wall/LICENSE.md +13 -1
  25. data/lib/measures/apply_dynamic_coating_to_roof_wall/measure.rb +5 -0
  26. data/lib/measures/apply_dynamic_coating_to_roof_wall/measure.xml +20 -14
  27. data/lib/measures/apply_dynamic_coating_to_roof_wall/tests/SFD_1story_UB_UA_ASHP2_HPWH.osm +13110 -0
  28. data/lib/measures/apply_dynamic_coating_to_roof_wall/tests/apply_dynamic_coating_to_roof_wall_test.rb +5 -0
  29. data/lib/measures/average_ventilation_for_peak_hours/measure.xml +20 -20
  30. data/lib/measures/enable_occupancy_driven_lighting/measure.xml +28 -28
  31. data/lib/measures/precooling/README.md +137 -17
  32. data/lib/measures/precooling/measure.xml +172 -44
  33. data/lib/measures/preheating/README.md +125 -21
  34. data/lib/measures/preheating/measure.xml +160 -50
  35. data/lib/measures/reduce_epd_by_percentage_for_peak_hours/README.md +125 -29
  36. data/lib/measures/reduce_epd_by_percentage_for_peak_hours/measure.xml +178 -70
  37. data/lib/measures/reduce_lpd_by_percentage_for_peak_hours/README.md +132 -28
  38. data/lib/measures/reduce_lpd_by_percentage_for_peak_hours/measure.xml +186 -69
  39. data/lib/openstudio/geb/version.rb +1 -1
  40. data/openstudio-geb.gemspec +4 -2
  41. metadata +37 -6
@@ -8,7 +8,7 @@
8
8
  This measure adds a chilled water storage tank to a chilled water loop for the purpose of thermal energy storage.
9
9
 
10
10
  ## Modeler Description
11
- This measure adds a chilled water storage tank and links it to an existing chilled water loop. User can specify the operating season, charge period, discharge period, setpoint temperature and volume of the chilled water tank. If the volume is not provided, a sizing simulation will be run to autosize the tank.
11
+ This measure adds a chilled water storage tank and links it to an existing chilled water loop.
12
12
 
13
13
  ## Measure Type
14
14
  ModelMeasure
@@ -18,103 +18,143 @@ ModelMeasure
18
18
 
19
19
  ## Arguments
20
20
 
21
- ### Tank volume
22
- Thermal storage chilled water tank volume in m3
21
+
22
+ ### Thermal storage chilled water tank volume in m3
23
+
23
24
  **Name:** tank_vol,
24
25
  **Type:** Double,
25
- **Units:** m3,
26
+ **Units:** ,
26
27
  **Required:** false,
27
28
  **Model Dependent:** false
28
29
 
29
- ### Energy storage objective
30
- Select from 'Full Storage' and 'Partial Storage'
30
+ ### Select Energy Storage Objective:
31
+
31
32
  **Name:** objective,
32
33
  **Type:** Choice,
33
34
  **Units:** ,
34
35
  **Required:** true,
35
36
  **Model Dependent:** false
36
37
 
37
- ### Chilled water loop
38
- Select a chilled water loop in the model to connect the tank
38
+ ### Select Primary Loop:
39
+ Error: No Cooling Loop Found
39
40
  **Name:** selected_primary_loop_name,
40
41
  **Type:** Choice,
41
42
  **Units:** ,
43
+ **Required:** false,
44
+ **Model Dependent:** false
45
+
46
+ ### Primary Loop (charging) Setpoint Temperature degree C:
47
+
48
+ **Name:** primary_loop_sp,
49
+ **Type:** Double,
50
+ **Units:** ,
42
51
  **Required:** true,
43
- **Model Dependent:** true
52
+ **Model Dependent:** false
53
+
54
+ ### Secondary Loop (discharging) Setpoint Temperature degree C:
55
+
56
+ **Name:** secondary_loop_sp,
57
+ **Type:** Double,
58
+ **Units:** ,
59
+ **Required:** true,
60
+ **Model Dependent:** false
61
+
62
+ ### Chilled Water Tank Setpoint Temperature degree C:
44
63
 
45
- ### Setpoint temperature
46
- Chilled water tank setpoint temperature in degree C
47
64
  **Name:** tank_charge_sp,
48
65
  **Type:** Double,
49
- **Units:** degree C,
66
+ **Units:** ,
50
67
  **Required:** true,
51
68
  **Model Dependent:** false
52
69
 
53
- ### Loop design delta T
54
- Loop design temperature difference in degree C; Use 'Use Existing Loop Value' to use the current loop setting
70
+ ### Loop Design Temperature Difference degree C:
71
+ Enter numeric value to adjust selected loop settings.
55
72
  **Name:** primary_delta_t,
56
73
  **Type:** String,
57
- **Units:** degree C,
74
+ **Units:** ,
58
75
  **Required:** true,
59
76
  **Model Dependent:** false
60
77
 
61
- ### Secondary loop design delta T
62
- Secondary loop design temperature difference in degree C
78
+ ### Secondary Loop Design Temperature Difference degree C
79
+
63
80
  **Name:** secondary_delta_t,
64
81
  **Type:** Double,
65
- **Units:** degree C,
82
+ **Units:** ,
66
83
  **Required:** true,
67
84
  **Model Dependent:** false
68
85
 
69
- ### Available season
70
- Seasonal Availability of Chilled Water Storage in MM/DD-MM/DD format
71
- **Name:** thermal_storage_season,
86
+ ### Start Date for thermal storage
87
+ In MM-DD format
88
+ **Name:** thermal_storage_startdate,
72
89
  **Type:** String,
73
90
  **Units:** ,
74
- **Required:** true,
91
+ **Required:** false,
92
+ **Model Dependent:** false
93
+
94
+ ### End Date for thermal storage
95
+ In MM-DD format
96
+ **Name:** thermal_storage_enddate,
97
+ **Type:** String,
98
+ **Units:** ,
99
+ **Required:** false,
75
100
  **Model Dependent:** false
76
101
 
77
- ### Discharge start time
78
- Starting Time for Chilled Water Tank Discharge in HR:mm (24 hour format)
102
+ ### Enter Starting Time for Chilled Water Tank Discharge:
103
+ Use 24 hour format (HR:MM)
79
104
  **Name:** discharge_start,
80
105
  **Type:** String,
81
106
  **Units:** ,
82
107
  **Required:** true,
83
108
  **Model Dependent:** false
84
109
 
85
- ### Discharge end time
86
- Ending Time for Chilled Water Tank Discharge in HR:mm (24 hour format)
110
+ ### Enter End Time for Chilled Water Tank Discharge:
111
+ Use 24 hour format (HR:MM)
87
112
  **Name:** discharge_end,
88
113
  **Type:** String,
89
114
  **Units:** ,
90
115
  **Required:** true,
91
116
  **Model Dependent:** false
92
117
 
93
-
94
- ### Charge start time
95
- Starting Time for Chilled Water Tank Charge in HR:mm (24 hour format)
118
+ ### Enter Starting Time for Chilled Water Tank charge:
119
+ Use 24 hour format (HR:MM)
96
120
  **Name:** charge_start,
97
121
  **Type:** String,
98
122
  **Units:** ,
99
123
  **Required:** true,
100
124
  **Model Dependent:** false
101
125
 
102
- ### Charge end time
103
- Ending Time for Chilled Water Tank Charge in HR:mm (24 hour format)
126
+ ### Enter End Time for Chilled Water Tank charge:
127
+ Use 24 hour format (HR:MM)
104
128
  **Name:** charge_end,
105
129
  **Type:** String,
106
130
  **Units:** ,
107
131
  **Required:** true,
108
132
  **Model Dependent:** false
109
133
 
110
- ### Work on weekends?
111
- Allow Chilled Water Tank Work on Weekends?
134
+ ### Allow Chilled Water Tank Work on Weekends
135
+
112
136
  **Name:** wknds,
113
137
  **Type:** Boolean,
114
138
  **Units:** ,
115
139
  **Required:** true,
116
140
  **Model Dependent:** false
117
141
 
142
+ ### Output path for tank sizing run (if tank volume is not provided)
143
+
144
+ **Name:** run_output_path,
145
+ **Type:** Path,
146
+ **Units:** ,
147
+ **Required:** false,
148
+ **Model Dependent:** false
149
+
150
+ ### epw file path for tank sizing run (if tank volume is not provided)
151
+
152
+ **Name:** epw_path,
153
+ **Type:** Path,
154
+ **Units:** ,
155
+ **Required:** false,
156
+ **Model Dependent:** false
157
+
118
158
 
119
159
 
120
160
 
@@ -559,6 +559,9 @@ class AddChilledWaterStorageTank < OpenStudio::Measure::ModelMeasure
559
559
  sim_control.setRunSimulationforSizingPeriods(false)
560
560
  sim_control.setRunSimulationforWeatherFileRunPeriods(true)
561
561
 
562
+ # TODO: add IF condition when there is existing secondary loop, just need to add new tank, no need to add pump
563
+ # TODO: test with large office building
564
+
562
565
  sec_loop = OpenStudio::Model::PlantLoop.new(model)
563
566
  sec_loop.setName("Chilled Water Secondary Loop")
564
567
  selected_primary_loop.setName("Chilled Water Primary Loop")
@@ -640,6 +643,8 @@ class AddChilledWaterStorageTank < OpenStudio::Measure::ModelMeasure
640
643
  end
641
644
  end
642
645
 
646
+ # TODO: clone pump from either supply or demand side to secondary loop, update the primary loop pump pressure drop (check online)
647
+ # TODO: test with medium office
643
648
  # move pump from demand component if any to secondary loop
644
649
  selected_primary_loop.demandComponents.each do |comp|
645
650
  if comp.to_PumpConstantSpeed.is_initialized
@@ -1,10 +1,10 @@
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>add_chilled_water_storage_tank</name>
5
5
  <uid>8aafeff8-7798-43ab-8075-9cfe59a611b8</uid>
6
- <version_id>762ec571-fcf5-4617-a95a-5aaa2951f61d</version_id>
7
- <version_modified>20230719T172112Z</version_modified>
6
+ <version_id>534953f6-ef6c-4921-92fb-d4396994351e</version_id>
7
+ <version_modified>2025-06-30T21:09:49Z</version_modified>
8
8
  <xml_checksum>6394841D</xml_checksum>
9
9
  <class_name>AddChilledWaterStorageTank</class_name>
10
10
  <display_name>Add Chilled Water Storage Tank</display_name>
@@ -223,6 +223,18 @@
223
223
  </attribute>
224
224
  </attributes>
225
225
  <files>
226
+ <file>
227
+ <filename>LICENSE.md</filename>
228
+ <filetype>md</filetype>
229
+ <usage_type>license</usage_type>
230
+ <checksum>BFFB1AA6</checksum>
231
+ </file>
232
+ <file>
233
+ <filename>README.md</filename>
234
+ <filetype>md</filetype>
235
+ <usage_type>readme</usage_type>
236
+ <checksum>107C2731</checksum>
237
+ </file>
226
238
  <file>
227
239
  <filename>README.md.erb</filename>
228
240
  <filetype>erb</filetype>
@@ -235,12 +247,6 @@
235
247
  <usage_type>doc</usage_type>
236
248
  <checksum>00000000</checksum>
237
249
  </file>
238
- <file>
239
- <filename>example_model.osm</filename>
240
- <filetype>osm</filetype>
241
- <usage_type>test</usage_type>
242
- <checksum>53D14E69</checksum>
243
- </file>
244
250
  <file>
245
251
  <version>
246
252
  <software_program>OpenStudio</software_program>
@@ -250,13 +256,13 @@
250
256
  <filename>measure.rb</filename>
251
257
  <filetype>rb</filetype>
252
258
  <usage_type>script</usage_type>
253
- <checksum>EFE2DEC1</checksum>
259
+ <checksum>8E1839DF</checksum>
254
260
  </file>
255
261
  <file>
256
- <filename>LICENSE.md</filename>
257
- <filetype>md</filetype>
258
- <usage_type>license</usage_type>
259
- <checksum>BFFB1AA6</checksum>
262
+ <filename>CZ06RV2.epw</filename>
263
+ <filetype>epw</filetype>
264
+ <usage_type>test</usage_type>
265
+ <checksum>52282D70</checksum>
260
266
  </file>
261
267
  <file>
262
268
  <filename>add_chilled_water_storage_tank_test.rb</filename>
@@ -265,16 +271,10 @@
265
271
  <checksum>AC813F36</checksum>
266
272
  </file>
267
273
  <file>
268
- <filename>README.md</filename>
269
- <filetype>md</filetype>
270
- <usage_type>readme</usage_type>
271
- <checksum>107C2731</checksum>
272
- </file>
273
- <file>
274
- <filename>CZ06RV2.epw</filename>
275
- <filetype>epw</filetype>
274
+ <filename>example_model.osm</filename>
275
+ <filetype>osm</filetype>
276
276
  <usage_type>test</usage_type>
277
- <checksum>52282D70</checksum>
277
+ <checksum>53D14E69</checksum>
278
278
  </file>
279
279
  <file>
280
280
  <filename>restaurant.osm</filename>