openstudio-load-flexibility-measures 0.3.1 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) 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 +63 -48
  6. data/Gemfile +31 -7
  7. data/Jenkinsfile +11 -10
  8. data/LICENSE.md +27 -0
  9. data/README.md +57 -42
  10. data/Rakefile +15 -15
  11. data/doc_templates/LICENSE.md +26 -26
  12. data/doc_templates/README.md.erb +41 -41
  13. data/doc_templates/copyright_erb.txt +35 -35
  14. data/doc_templates/copyright_js.txt +3 -3
  15. data/doc_templates/copyright_ruby.txt +33 -33
  16. data/lib/measures/add_central_ice_storage/LICENSE.md +26 -26
  17. data/lib/measures/add_central_ice_storage/README.md +264 -264
  18. data/lib/measures/add_central_ice_storage/README.md.erb +41 -41
  19. data/lib/measures/add_central_ice_storage/measure.rb +1325 -1324
  20. data/lib/measures/add_central_ice_storage/measure.xml +503 -503
  21. data/lib/measures/add_central_ice_storage/resources/OsLib_Schedules.rb +171 -173
  22. data/lib/measures/add_central_ice_storage/tests/add_central_ice_storage_test.rb +203 -203
  23. data/lib/measures/add_central_ice_storage/tests/ice_test_model.osm +21523 -21523
  24. data/lib/measures/add_hpwh/LICENSE.md +26 -26
  25. data/lib/measures/add_hpwh/README.md +186 -186
  26. data/lib/measures/add_hpwh/README.md.erb +41 -41
  27. data/lib/measures/add_hpwh/docs/Flexible Domestic Hot Water Implementation Guide.pdf +0 -0
  28. data/lib/measures/add_hpwh/measure.rb +674 -647
  29. data/lib/measures/add_hpwh/measure.xml +402 -397
  30. data/lib/measures/add_hpwh/tests/SmallHotel-2A.osm +42893 -42893
  31. data/lib/measures/add_hpwh/tests/add_hpwh_test.rb +237 -0
  32. data/lib/measures/add_packaged_ice_storage/LICENSE.md +26 -26
  33. data/lib/measures/add_packaged_ice_storage/README.html +185 -185
  34. data/lib/measures/add_packaged_ice_storage/README.md +189 -189
  35. data/lib/measures/add_packaged_ice_storage/measure.rb +694 -691
  36. data/lib/measures/add_packaged_ice_storage/measure.xml +245 -245
  37. data/lib/measures/add_packaged_ice_storage/resources/TESCurves.idf +1059 -1059
  38. data/lib/measures/add_packaged_ice_storage/tests/MeasureTest.osm +9507 -9507
  39. data/lib/measures/add_packaged_ice_storage/tests/add_packaged_ice_storage_test.rb +96 -96
  40. data/lib/openstudio/load_flexibility_measures/version.rb +40 -40
  41. data/lib/openstudio/load_flexibility_measures.rb +50 -50
  42. data/openstudio-load-flexibility-measures.gemspec +33 -34
  43. metadata +25 -24
  44. data/lib/measures/add_hpwh/tests/add_hphw_test.rb +0 -98
@@ -1,189 +1,189 @@
1
- # Guide for the Add Packaged Ice Storage Measure
2
-
3
- ## Description
4
- This measure removes the cooling coils in the model and replaces them with packaged air conditioning units with integrated ice storage.
5
-
6
- ## Modeler Description
7
- This measure applies to packaged single zone air conditioning systems or packaged variable air volume systems that were originally modeled with *CoilSystem:Cooling:DX* or *AirLoopHVAC:UnitarySystem* container objects. It adds a *Coil:Cooling:DX:SingleSpeed:ThermalStorage* coil object to each user-selected thermal zone and deletes the existing cooling coil.
8
-
9
- Users inputs are accepted for cooling coil size, ice storage size, system control method, modes of operation, and operating schedule.
10
-
11
- The measure requires schedule objects and performance curves from an included resource file TESCurves.idf. Output variables of typical interest are included as well.
12
-
13
- ## Measure Type
14
- EnergyPlus Measure
15
-
16
- ## Application
17
- This measure is built to simulate packaged ice storage units which integrate with packaged single zone AC units (eg. RTUs). An EnergyPlus object was created in 2013 to model this system, but it is not currently available in OpenStudio.
18
-
19
- ## Requirements
20
- - Existing OpenStudio model with PVAV or PSZAC HVAC
21
- - Original HVAC must use *CoilSystem:Cooling:DX* or *AirLoopHVAC:UnitarySystem* container objects
22
- - "TESCurves.idf" resource file
23
-
24
- ## Limitations
25
- - The measure **may** or **may not** properly replace the cooling coils in a VAV system, depending on the way the original HVAC model was built (container object dependent).
26
- - If AutoSizing produces over/under-sized ice storage capacities, an adjustment multiplier is available. This multiplier will be applied to all AutoSized ice units.
27
- - Cooling and Discharge Mode is currently unavailable due to the lack of available performance curves in the referenced EnergyPlus 9.3 example file.
28
- - Cooling and Charge Mode is currently unavailable due to the lack of available performance curves in the referenced EnergyPlus 9.3 example file.
29
-
30
- ## How the Measure Works
31
- The measure works by replacing user-selected single-speed and two-speed cooling coils (all applicable coils are pre-selected by default) with *Coil:Cooling:DX:SingleSpeed:ThermalStorage* objects. These TES units may be AutoSized, or hard-sized
32
-
33
- An Energy Management System (EMS) program is created for each new TES coil. The default controller turns ice charging and discharging on/off based on ice storage tank end fraction (state of charge) and user-defined operating schedule. If users desire advanced control strategies, the EMS code may be modified directly in the "measure.rb" file (line 663 ff.). A built-in Schedule Modes controller is also available.
34
-
35
- Whether EMS Control or Schedule Modes are used, a charge/discharge schedule is required. The default is a simple schedule created by user inputs. Ice storage capacity is based on the ice discharge window.
36
-
37
- ### TES Coil Operating Schedules
38
- - *Simple User Sched* - Default. Builds schedule from user inputs.
39
- - *TES Sched 1: TES Off* - Useful for creating a baseline case.
40
- - *TES Sched 2: 1-5 Peak* - Discharges ice between 1:00-5:00 pm, Charges from midnight to 7 am.
41
- - *TES Sched 3: 3-8 Peak* - Discharges ice between 3:00-8:00 pm, Charges from midnight to 7 am.
42
- - *Rate Sched: GSS-T* - Aligns ice discharge to Sacramento's 2018 GSS-T electricity rate plan peak hours.
43
-
44
- More complex custom schedules may be added to "TESCurves.idf".
45
-
46
- ### TES Coil Operating Modes
47
- - 0: Off
48
- - 1: Cooling Only (Ice tank is bypassed, state of charge is tracked)
49
- - 2: Cooling and Charge (Ice charging simultaneous with zone cooling) - **UNAVAILABLE**
50
- - 3: Cooling and Discharge (Zone cooling from both ice and AC cooling coil) - **UNAVAILABLE**
51
- - 4: Charge Only (No zone cooling provided during ice charge)
52
- - 5: Discharge Only (Zone cooling from ice only)
53
-
54
- ### Default EMS Controller for each Coil
55
- EnergyManagementSystem:Program,
56
- #{u_name}_Control,
57
- SET #{u_name}_OpMode = TESIntendedSchedule,
58
- IF CurrentEnvironment == 1,
59
- SET #{u_name}_MinSOC = 1,
60
- ENDIF,
61
- IF (#{u_name}_OpMode == 5),
62
- IF ( #{u_name}_sTES < 0.05 ),
63
- SET #{u_name}_OpMode = 1,
64
- ENDIF,
65
- SET #{u_name}_MinSOC = #{u_name}_sTES,
66
- ENDIF,
67
- IF (#{u_name}_OpMode == 4),
68
- IF ( #{u_name}_sTES > 0.99 ),
69
- SET #{u_name}_OpMode = 1,
70
- ENDIF,
71
- ENDIF;"
72
-
73
- where
74
-
75
- "z_name" is the zone name
76
- "TESIntendedSchedule" obtains the scheduled coil operating mode (0-5)
77
- "sTES" is the fractional state of charge of the ice tank (0-1)
78
- "OpMode" sets the operating mode of the coil
79
- "MinSOC" is the minimum state of charge of the ice tank at the end of the previous discharge period
80
-
81
- ### Performance Curve Selection
82
- Default curves are those used in EnergyPlus 9.3 example file "RetailPackagedTESCoil.idf". Performance curves may be added to "TESCurves.idf".
83
-
84
- ### Arguments and Defaults
85
-
86
- #### Select applicable zones:
87
- **Name:** coil_selection,
88
- **Type:** Boolean,
89
- **Units:** ,
90
- **Required:** true,
91
- **Model Dependent:** true
92
- **Default:** All Thermal Zones
93
-
94
- #### Select ice storage capacity [ton-hours]
95
- **Name:** ice_cap,
96
- **Type:** Choice,
97
- **Units:** ton-hours (refrigeration),
98
- **Required:** true,
99
- **Model Dependent:** false,
100
- **Default:** Autosize
101
-
102
- #### Enter a sizing multiplier to manually adjust the autosize results for ice tank capacities.
103
- **Name:** size_mult
104
- **Type:** String,
105
- **Units:** ,
106
- **Required:** false,
107
- **Model Dependent:** false,
108
- **Default:** 1.0
109
-
110
- #### Select ice storage control method
111
- **Name:** ctl,
112
- **Type:** Choice,
113
- **Units:** ,
114
- **Required:** true,
115
- **Model Dependent:** false,
116
- **Default:** EMS Controlled
117
-
118
- #### Select the operating mode schedule for the new TES coils
119
- **Name:** sched,
120
- **Type:** Choice,
121
- **Units:** ,
122
- **Required:** true,
123
- **Model Dependent:** false,
124
- **Default:** Simple User Sched
125
-
126
- #### Run TES on the weekends?
127
- **Name:** wknd,
128
- **Type:** Boolean,
129
- **Units:** ,
130
- **Required:** false,
131
- **Model Dependent:** false,
132
- **Default:** true
133
-
134
- #### Select season during which the ice cooling may be used:
135
- **Name:** season,
136
- **Type:** String,
137
- **Units:** ,
138
- **Required:** false,
139
- **Model Dependent:** false,
140
- **Default:** 01/01-12/31
141
-
142
- #### Input start time for ice charge (hr:min)
143
- **Name:** charge_start,
144
- **Type:** String,
145
- **Units:** ,
146
- **Required:** false,
147
- **Model Dependent:** false,
148
- **Default:** 22:00
149
-
150
- #### Input end time for ice charge (hr:min)
151
- **Name:** charge_end,
152
- **Type:** String,
153
- **Units:** ,
154
- **Required:** false,
155
- **Model Dependent:** false,
156
- **Default:** 07:00
157
-
158
- #### Input start time for ice discharge (hr:min)
159
- **Name:** discharge_start,
160
- **Type:** String,
161
- **Units:** ,
162
- **Required:** false,
163
- **Model Dependent:** false,
164
- **Default:** 12:00
165
-
166
- #### Input target end time for ice discharge (hr:min)
167
- **Name:** discharge_end,
168
- **Type:** String,
169
- **Units:** ,
170
- **Required:** false,
171
- **Model Dependent:** false,
172
- **Default:** 18:00
173
-
174
- ## References
175
- DOE (2020). *15.2.27 Packaged Thermal Storage Cooling Coil*. Engineering Reference, EnergyPlus Version 9.3.0 Documentation. Accessed June 16, 2020, from https://energyplus.net/documentation/.
176
-
177
- DOE (2020). *1.41.39 Coil:Cooling:DX:SingleSpeed:ThermalStorage*. Input-Output Reference, EnergyPlus Version 9.3.0 Documentation. Accessed June 16, 2020, from https://energyplus.net/documentation/.
178
-
179
- EnergyPlus 9.3.0 (2018). *RetailPackagedTESCoil.idf*. Example file included with software. Accessed June 16, 2020, from https://energyplus.net/downloads/.
180
-
181
- IceEnergy. *Ice Bear 40 Product Information Sheet*. Accessed Jun 1, 2018 from
182
- https://www.ice-energy.com/wp-content/uploads/2018/05/IB-40-ProductSheet-2018-US-D3.pdf
183
-
184
- Kung, F., Deru, M., and Bonnema, E. (2013). *Evaluation Framework and Analyses for Thermal Energy Storage Integrated with Packaged Air Conditioning*. NREL/TP-5500-60415. Accessed June 27, 2018, from https://www.nrel.gov/docs/fy14osti/60415.pdf/.
185
-
186
- Willis, R. and Parsonnet, B. (2010). *Energy Efficient TES Designs for Commercial DX Systems*, ASHRAE Transactions, Vol. 116, pt. 1, Orlando 2010.
187
-
188
- ___
189
- ###### Author: Karl Heine, January 2019; Revised June 2020
1
+ # Guide for the Add Packaged Ice Storage Measure
2
+
3
+ ## Description
4
+ This measure removes the cooling coils in the model and replaces them with packaged air conditioning units with integrated ice storage.
5
+
6
+ ## Modeler Description
7
+ This measure applies to packaged single zone air conditioning systems or packaged variable air volume systems that were originally modeled with *CoilSystem:Cooling:DX* or *AirLoopHVAC:UnitarySystem* container objects. It adds a *Coil:Cooling:DX:SingleSpeed:ThermalStorage* coil object to each user-selected thermal zone and deletes the existing cooling coil.
8
+
9
+ Users inputs are accepted for cooling coil size, ice storage size, system control method, modes of operation, and operating schedule.
10
+
11
+ The measure requires schedule objects and performance curves from an included resource file TESCurves.idf. Output variables of typical interest are included as well.
12
+
13
+ ## Measure Type
14
+ EnergyPlus Measure
15
+
16
+ ## Application
17
+ This measure is built to simulate packaged ice storage units which integrate with packaged single zone AC units (eg. RTUs). An EnergyPlus object was created in 2013 to model this system, but it is not currently available in OpenStudio.
18
+
19
+ ## Requirements
20
+ - Existing OpenStudio model with PVAV or PSZAC HVAC
21
+ - Original HVAC must use *CoilSystem:Cooling:DX* or *AirLoopHVAC:UnitarySystem* container objects
22
+ - "TESCurves.idf" resource file
23
+
24
+ ## Limitations
25
+ - The measure **may** or **may not** properly replace the cooling coils in a VAV system, depending on the way the original HVAC model was built (container object dependent).
26
+ - If AutoSizing produces over/under-sized ice storage capacities, an adjustment multiplier is available. This multiplier will be applied to all AutoSized ice units.
27
+ - Cooling and Discharge Mode is currently unavailable due to the lack of available performance curves in the referenced EnergyPlus 9.3 example file.
28
+ - Cooling and Charge Mode is currently unavailable due to the lack of available performance curves in the referenced EnergyPlus 9.3 example file.
29
+
30
+ ## How the Measure Works
31
+ The measure works by replacing user-selected single-speed and two-speed cooling coils (all applicable coils are pre-selected by default) with *Coil:Cooling:DX:SingleSpeed:ThermalStorage* objects. These TES units may be AutoSized, or hard-sized
32
+
33
+ An Energy Management System (EMS) program is created for each new TES coil. The default controller turns ice charging and discharging on/off based on ice storage tank end fraction (state of charge) and user-defined operating schedule. If users desire advanced control strategies, the EMS code may be modified directly in the "measure.rb" file (line 663 ff.). A built-in Schedule Modes controller is also available.
34
+
35
+ Whether EMS Control or Schedule Modes are used, a charge/discharge schedule is required. The default is a simple schedule created by user inputs. Ice storage capacity is based on the ice discharge window.
36
+
37
+ ### TES Coil Operating Schedules
38
+ - *Simple User Sched* - Default. Builds schedule from user inputs.
39
+ - *TES Sched 1: TES Off* - Useful for creating a baseline case.
40
+ - *TES Sched 2: 1-5 Peak* - Discharges ice between 1:00-5:00 pm, Charges from midnight to 7 am.
41
+ - *TES Sched 3: 3-8 Peak* - Discharges ice between 3:00-8:00 pm, Charges from midnight to 7 am.
42
+ - *Rate Sched: GSS-T* - Aligns ice discharge to Sacramento's 2018 GSS-T electricity rate plan peak hours.
43
+
44
+ More complex custom schedules may be added to "TESCurves.idf".
45
+
46
+ ### TES Coil Operating Modes
47
+ - 0: Off
48
+ - 1: Cooling Only (Ice tank is bypassed, state of charge is tracked)
49
+ - 2: Cooling and Charge (Ice charging simultaneous with zone cooling) - **UNAVAILABLE**
50
+ - 3: Cooling and Discharge (Zone cooling from both ice and AC cooling coil) - **UNAVAILABLE**
51
+ - 4: Charge Only (No zone cooling provided during ice charge)
52
+ - 5: Discharge Only (Zone cooling from ice only)
53
+
54
+ ### Default EMS Controller for each Coil
55
+ EnergyManagementSystem:Program,
56
+ #{u_name}_Control,
57
+ SET #{u_name}_OpMode = TESIntendedSchedule,
58
+ IF CurrentEnvironment == 1,
59
+ SET #{u_name}_MinSOC = 1,
60
+ ENDIF,
61
+ IF (#{u_name}_OpMode == 5),
62
+ IF ( #{u_name}_sTES < 0.05 ),
63
+ SET #{u_name}_OpMode = 1,
64
+ ENDIF,
65
+ SET #{u_name}_MinSOC = #{u_name}_sTES,
66
+ ENDIF,
67
+ IF (#{u_name}_OpMode == 4),
68
+ IF ( #{u_name}_sTES > 0.99 ),
69
+ SET #{u_name}_OpMode = 1,
70
+ ENDIF,
71
+ ENDIF;"
72
+
73
+ where
74
+
75
+ "z_name" is the zone name
76
+ "TESIntendedSchedule" obtains the scheduled coil operating mode (0-5)
77
+ "sTES" is the fractional state of charge of the ice tank (0-1)
78
+ "OpMode" sets the operating mode of the coil
79
+ "MinSOC" is the minimum state of charge of the ice tank at the end of the previous discharge period
80
+
81
+ ### Performance Curve Selection
82
+ Default curves are those used in EnergyPlus 9.3 example file "RetailPackagedTESCoil.idf". Performance curves may be added to "TESCurves.idf".
83
+
84
+ ### Arguments and Defaults
85
+
86
+ #### Select applicable zones:
87
+ **Name:** coil_selection,
88
+ **Type:** Boolean,
89
+ **Units:** ,
90
+ **Required:** true,
91
+ **Model Dependent:** true
92
+ **Default:** All Thermal Zones
93
+
94
+ #### Select ice storage capacity [ton-hours]
95
+ **Name:** ice_cap,
96
+ **Type:** Choice,
97
+ **Units:** ton-hours (refrigeration),
98
+ **Required:** true,
99
+ **Model Dependent:** false,
100
+ **Default:** Autosize
101
+
102
+ #### Enter a sizing multiplier to manually adjust the autosize results for ice tank capacities.
103
+ **Name:** size_mult
104
+ **Type:** String,
105
+ **Units:** ,
106
+ **Required:** false,
107
+ **Model Dependent:** false,
108
+ **Default:** 1.0
109
+
110
+ #### Select ice storage control method
111
+ **Name:** ctl,
112
+ **Type:** Choice,
113
+ **Units:** ,
114
+ **Required:** true,
115
+ **Model Dependent:** false,
116
+ **Default:** EMS Controlled
117
+
118
+ #### Select the operating mode schedule for the new TES coils
119
+ **Name:** sched,
120
+ **Type:** Choice,
121
+ **Units:** ,
122
+ **Required:** true,
123
+ **Model Dependent:** false,
124
+ **Default:** Simple User Sched
125
+
126
+ #### Run TES on the weekends?
127
+ **Name:** wknd,
128
+ **Type:** Boolean,
129
+ **Units:** ,
130
+ **Required:** false,
131
+ **Model Dependent:** false,
132
+ **Default:** true
133
+
134
+ #### Select season during which the ice cooling may be used:
135
+ **Name:** season,
136
+ **Type:** String,
137
+ **Units:** ,
138
+ **Required:** false,
139
+ **Model Dependent:** false,
140
+ **Default:** 01/01-12/31
141
+
142
+ #### Input start time for ice charge (hr:min)
143
+ **Name:** charge_start,
144
+ **Type:** String,
145
+ **Units:** ,
146
+ **Required:** false,
147
+ **Model Dependent:** false,
148
+ **Default:** 22:00
149
+
150
+ #### Input end time for ice charge (hr:min)
151
+ **Name:** charge_end,
152
+ **Type:** String,
153
+ **Units:** ,
154
+ **Required:** false,
155
+ **Model Dependent:** false,
156
+ **Default:** 07:00
157
+
158
+ #### Input start time for ice discharge (hr:min)
159
+ **Name:** discharge_start,
160
+ **Type:** String,
161
+ **Units:** ,
162
+ **Required:** false,
163
+ **Model Dependent:** false,
164
+ **Default:** 12:00
165
+
166
+ #### Input target end time for ice discharge (hr:min)
167
+ **Name:** discharge_end,
168
+ **Type:** String,
169
+ **Units:** ,
170
+ **Required:** false,
171
+ **Model Dependent:** false,
172
+ **Default:** 18:00
173
+
174
+ ## References
175
+ DOE (2020). *15.2.27 Packaged Thermal Storage Cooling Coil*. Engineering Reference, EnergyPlus Version 9.3.0 Documentation. Accessed June 16, 2020, from https://energyplus.net/documentation/.
176
+
177
+ DOE (2020). *1.41.39 Coil:Cooling:DX:SingleSpeed:ThermalStorage*. Input-Output Reference, EnergyPlus Version 9.3.0 Documentation. Accessed June 16, 2020, from https://energyplus.net/documentation/.
178
+
179
+ EnergyPlus 9.3.0 (2018). *RetailPackagedTESCoil.idf*. Example file included with software. Accessed June 16, 2020, from https://energyplus.net/downloads/.
180
+
181
+ IceEnergy. *Ice Bear 40 Product Information Sheet*. Accessed Jun 1, 2018 from
182
+ https://www.ice-energy.com/wp-content/uploads/2018/05/IB-40-ProductSheet-2018-US-D3.pdf
183
+
184
+ Kung, F., Deru, M., and Bonnema, E. (2013). *Evaluation Framework and Analyses for Thermal Energy Storage Integrated with Packaged Air Conditioning*. NREL/TP-5500-60415. Accessed June 27, 2018, from https://www.nrel.gov/docs/fy14osti/60415.pdf/.
185
+
186
+ Willis, R. and Parsonnet, B. (2010). *Energy Efficient TES Designs for Commercial DX Systems*, ASHRAE Transactions, Vol. 116, pt. 1, Orlando 2010.
187
+
188
+ ___
189
+ ###### Author: Karl Heine, January 2019; Revised June 2020