honeybee-openstudio 2.38.16 → 2.38.17

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7bb326dd7f86dce32234c0d774ad1923f62d359411f6b1b407ca37e554ddb0f8
4
- data.tar.gz: f1c92f6f8fead434f4dbae6fd9dd53cdd7cf9b3ab02bb31519307abafc8cb74a
3
+ metadata.gz: 4b186cfee90a5b7844b5c7dab43611b384ab476decc61033066c5dbe3befd437
4
+ data.tar.gz: a216707dc66e588978cc855fdee27bcc5b4291082322ad80faba60e4e57d702d
5
5
  SHA512:
6
- metadata.gz: '08ac54b3971bdad919d0faf55fce65acabfcfe38903b0fe51562f66409c3e2e788711ebd15f805d1de60d4f4ab682684992eae1d687877490641a8e0302297ae'
7
- data.tar.gz: 2cec04a6e134aaff95e45e6034ecd40557e1c54beb07585d1651feb9640d9978f6cc79b0a213edd8b4bc037a6f6949df30f1f4a9261285055e9071b07e896fd4
6
+ metadata.gz: 277979e0ea12fa67cbd08dbe286a60849d8d3b00543e229ae9936950c86966923c07b49214199d70f5694704e54ee7fc185861e931fa28358f3378d5a529cd4f
7
+ data.tar.gz: b2df403658dd3de48695a16fa10cc4b6fd27b260fec025f8bd4d3ed1a988d8a57baebf51ccf203708dff5e2c6f5d69eb329f9369853c431eb9a27c3423e59925
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'honeybee-openstudio'
7
- spec.version = '2.38.16'
7
+ spec.version = '2.38.17'
8
8
  spec.authors = ['Tanushree Charan', 'Dan Macumber', 'Chris Mackey', 'Mostapha Sadeghipour Roudsari']
9
9
  spec.email = ['tanushree.charan@nrel.gov', 'chris@ladybug.tools']
10
10
 
@@ -38,7 +38,7 @@ class OpenStudio::Model::Model
38
38
  # Adds the HVAC system as derived from the combinations of CBECS 2012 MAINHT and MAINCL fields.
39
39
  # Mapping between combinations and HVAC systems per http://www.nrel.gov/docs/fy08osti/41956.pdf
40
40
  # Table C-31
41
- def add_cbecs_hvac_system(standard, system_type, zones)
41
+ def add_cbecs_hvac_system(standard, system_type, zones, doas_type)
42
42
  # the 'zones' argument includes zones that have heating, cooling, or both
43
43
  # if the HVAC system type serves a single zone, handle zones with only heating separately by adding unit heaters
44
44
  # applies to system types PTAC, PTHP, PSZ-AC, and Window AC
@@ -95,63 +95,63 @@ class OpenStudio::Model::Model
95
95
  standard.model_add_hvac_system(self, 'Evaporative Cooler', ht = nil, znht = nil, cl = 'Electricity', cooled_zones)
96
96
 
97
97
  when 'DOAS_FCU_Chiller_Boiler'
98
- standard.model_add_hvac_system(self, 'DOAS', ht = 'NaturalGas', znht = nil, cl = 'Electricity', zones)
98
+ standard.model_add_hvac_system(self, doas_type, ht = 'NaturalGas', znht = nil, cl = 'Electricity', zones)
99
99
  standard.model_add_hvac_system(self, 'Fan Coil', ht = 'NaturalGas', znht = nil, cl = 'Electricity', zones,
100
100
  zone_equipment_ventilation: false)
101
101
 
102
102
  when 'DOAS_FCU_Chiller_ASHP'
103
- standard.model_add_hvac_system(self, 'DOAS', ht = 'AirSourceHeatPump', znht = nil, cl = 'Electricity', zones)
103
+ standard.model_add_hvac_system(self, doas_type, ht = 'AirSourceHeatPump', znht = nil, cl = 'Electricity', zones)
104
104
  standard.model_add_hvac_system(self, 'Fan Coil', ht = 'AirSourceHeatPump', znht = nil, cl = 'Electricity', zones,
105
105
  zone_equipment_ventilation: false)
106
106
 
107
107
  when 'DOAS_FCU_Chiller_DHW'
108
- standard.model_add_hvac_system(self, 'DOAS', ht = 'DistrictHeating', znht = nil, cl = 'Electricity', zones)
108
+ standard.model_add_hvac_system(self, doas_type, ht = 'DistrictHeating', znht = nil, cl = 'Electricity', zones)
109
109
  standard.model_add_hvac_system(self, 'Fan Coil', ht = 'DistrictHeating', znht = nil, cl = 'Electricity', zones,
110
110
  zone_equipment_ventilation: false)
111
111
 
112
112
  when 'DOAS_FCU_Chiller_ElectricBaseboard'
113
- standard.model_add_hvac_system(self, 'DOAS', ht = nil, znht = nil, cl = 'Electricity', zones,
113
+ standard.model_add_hvac_system(self, doas_type, ht = nil, znht = nil, cl = 'Electricity', zones,
114
114
  air_loop_heating_type: nil)
115
115
  standard.model_add_hvac_system(self, 'Fan Coil', ht = nil, znht = nil, cl = 'Electricity', zones,
116
116
  zone_equipment_ventilation: false)
117
117
  standard.model_add_hvac_system(self, 'Baseboards', ht = 'Electricity', znht = nil, cl = nil, heated_zones)
118
118
 
119
119
  when 'DOAS_FCU_Chiller_GasHeaters'
120
- standard.model_add_hvac_system(self, 'DOAS', ht = nil, znht = nil, cl = 'Electricity', zones,
120
+ standard.model_add_hvac_system(self, doas_type, ht = nil, znht = nil, cl = 'Electricity', zones,
121
121
  air_loop_heating_type: nil)
122
122
  standard.model_add_hvac_system(self, 'Fan Coil', ht = nil, znht = nil, cl = 'Electricity', zones,
123
123
  zone_equipment_ventilation: false)
124
124
  standard.model_add_hvac_system(self, 'Unit Heaters', ht = 'NaturalGas', znht = nil, cl = nil, heated_zones)
125
125
 
126
126
  when 'DOAS_FCU_Chiller'
127
- standard.model_add_hvac_system(self, 'DOAS', ht = nil, znht = nil, cl = 'Electricity', zones,
127
+ standard.model_add_hvac_system(self, doas_type, ht = nil, znht = nil, cl = 'Electricity', zones,
128
128
  air_loop_heating_type: nil)
129
129
  standard.model_add_hvac_system(self, 'Fan Coil', ht = nil, znht = nil, cl = 'Electricity', zones,
130
130
  zone_equipment_ventilation: false)
131
131
 
132
132
  when 'DOAS_FCU_ACChiller_Boiler'
133
- standard.model_add_hvac_system(self, 'DOAS', ht = 'NaturalGas', znht = nil, cl = 'Electricity', zones,
133
+ standard.model_add_hvac_system(self, doas_type, ht = 'NaturalGas', znht = nil, cl = 'Electricity', zones,
134
134
  chilled_water_loop_cooling_type: 'AirCooled')
135
135
  standard.model_add_hvac_system(self, 'Fan Coil', ht = 'NaturalGas', znht = nil, cl = 'Electricity', zones,
136
136
  chilled_water_loop_cooling_type: 'AirCooled',
137
137
  zone_equipment_ventilation: false)
138
138
 
139
139
  when 'DOAS_FCU_ACChiller_ASHP'
140
- standard.model_add_hvac_system(self, 'DOAS', ht = 'AirSourceHeatPump', znht = nil, cl = 'Electricity', zones,
140
+ standard.model_add_hvac_system(self, doas_type, ht = 'AirSourceHeatPump', znht = nil, cl = 'Electricity', zones,
141
141
  chilled_water_loop_cooling_type: 'AirCooled')
142
142
  standard.model_add_hvac_system(self, 'Fan Coil', ht = 'AirSourceHeatPump', znht = nil, cl = 'Electricity', zones,
143
143
  chilled_water_loop_cooling_type: 'AirCooled',
144
144
  zone_equipment_ventilation: false)
145
145
 
146
146
  when 'DOAS_FCU_ACChiller_DHW'
147
- standard.model_add_hvac_system(self, 'DOAS', ht = 'DistrictHeating', znht = nil, cl = 'Electricity', zones,
147
+ standard.model_add_hvac_system(self, doas_type, ht = 'DistrictHeating', znht = nil, cl = 'Electricity', zones,
148
148
  chilled_water_loop_cooling_type: 'AirCooled')
149
149
  standard.model_add_hvac_system(self, 'Fan Coil', ht = 'DistrictHeating', znht = nil, cl = 'Electricity', zones,
150
150
  chilled_water_loop_cooling_type: 'AirCooled',
151
151
  zone_equipment_ventilation: false)
152
152
 
153
153
  when 'DOAS_FCU_ACChiller_ElectricBaseboard'
154
- standard.model_add_hvac_system(self, 'DOAS', ht = nil, znht = nil, cl = 'Electricity', zones,
154
+ standard.model_add_hvac_system(self, doas_type, ht = nil, znht = nil, cl = 'Electricity', zones,
155
155
  chilled_water_loop_cooling_type: 'AirCooled', air_loop_heating_type: nil)
156
156
  standard.model_add_hvac_system(self, 'Fan Coil', ht = nil, znht = nil, cl = 'Electricity', zones,
157
157
  chilled_water_loop_cooling_type: 'AirCooled',
@@ -159,7 +159,7 @@ class OpenStudio::Model::Model
159
159
  standard.model_add_hvac_system(self, 'Baseboards', ht = 'Electricity', znht = nil, cl = nil, heated_zones)
160
160
 
161
161
  when 'DOAS_FCU_ACChiller_GasHeaters'
162
- standard.model_add_hvac_system(self, 'DOAS', ht = nil, znht = nil, cl = 'Electricity', zones,
162
+ standard.model_add_hvac_system(self, doas_type, ht = nil, znht = nil, cl = 'Electricity', zones,
163
163
  chilled_water_loop_cooling_type: 'AirCooled', air_loop_heating_type: nil)
164
164
  standard.model_add_hvac_system(self, 'Fan Coil', ht = nil, znht = nil, cl = 'Electricity', zones,
165
165
  chilled_water_loop_cooling_type: 'AirCooled',
@@ -167,74 +167,74 @@ class OpenStudio::Model::Model
167
167
  standard.model_add_hvac_system(self, 'Unit Heaters', ht = 'NaturalGas', znht = nil, cl = nil, heated_zones)
168
168
 
169
169
  when 'DOAS_FCU_ACChiller'
170
- standard.model_add_hvac_system(self, 'DOAS', ht = nil, znht = nil, cl = 'Electricity', zones,
170
+ standard.model_add_hvac_system(self, doas_type, ht = nil, znht = nil, cl = 'Electricity', zones,
171
171
  chilled_water_loop_cooling_type: 'AirCooled', air_loop_heating_type: nil)
172
172
  standard.model_add_hvac_system(self, 'Fan Coil', ht = nil, znht = nil, cl = 'Electricity', zones,
173
173
  chilled_water_loop_cooling_type: 'AirCooled',
174
174
  zone_equipment_ventilation: false)
175
175
 
176
176
  when 'DOAS_FCU_DCW_Boiler'
177
- standard.model_add_hvac_system(self, 'DOAS', ht = 'NaturalGas', znht = nil, cl = 'DistrictCooling', zones)
177
+ standard.model_add_hvac_system(self, doas_type, ht = 'NaturalGas', znht = nil, cl = 'DistrictCooling', zones)
178
178
  standard.model_add_hvac_system(self, 'Fan Coil', ht = 'NaturalGas', znht = nil, cl = 'DistrictCooling', zones,
179
179
  zone_equipment_ventilation: false)
180
180
 
181
181
  when 'DOAS_FCU_DCW_ASHP'
182
- standard.model_add_hvac_system(self, 'DOAS', ht = 'AirSourceHeatPump', znht = nil, cl = 'DistrictCooling', zones)
182
+ standard.model_add_hvac_system(self, doas_type, ht = 'AirSourceHeatPump', znht = nil, cl = 'DistrictCooling', zones)
183
183
  standard.model_add_hvac_system(self, 'Fan Coil', ht = 'AirSourceHeatPump', znht = nil, cl = 'DistrictCooling', zones,
184
184
  zone_equipment_ventilation: false)
185
185
 
186
186
  when 'DOAS_FCU_DCW_DHW'
187
- standard.model_add_hvac_system(self, 'DOAS', ht = 'DistrictHeating', znht = nil, cl = 'DistrictCooling', zones)
187
+ standard.model_add_hvac_system(self, doas_type, ht = 'DistrictHeating', znht = nil, cl = 'DistrictCooling', zones)
188
188
  standard.model_add_hvac_system(self, 'Fan Coil', ht = 'DistrictHeating', znht = nil, cl = 'DistrictCooling', zones,
189
189
  zone_equipment_ventilation: false)
190
190
 
191
191
  when 'DOAS_FCU_DCW_ElectricBaseboard'
192
- standard.model_add_hvac_system(self, 'DOAS', ht = nil, znht = nil, cl = 'DistrictCooling', zones,
192
+ standard.model_add_hvac_system(self, doas_type, ht = nil, znht = nil, cl = 'DistrictCooling', zones,
193
193
  air_loop_heating_type: nil)
194
194
  standard.model_add_hvac_system(self, 'Fan Coil', ht = nil, znht = nil, cl = 'DistrictCooling', zones,
195
195
  zone_equipment_ventilation: false)
196
196
  standard.model_add_hvac_system(self, 'Baseboards', ht = 'Electricity', znht = nil, cl = nil, heated_zones)
197
197
 
198
198
  when 'DOAS_FCU_DCW_GasHeaters'
199
- standard.model_add_hvac_system(self, 'DOAS', ht = nil, znht = nil, cl = 'DistrictCooling', zones,
199
+ standard.model_add_hvac_system(self, doas_type, ht = nil, znht = nil, cl = 'DistrictCooling', zones,
200
200
  air_loop_heating_type: nil)
201
201
  standard.model_add_hvac_system(self, 'Fan Coil', ht = nil, znht = nil, cl = 'DistrictCooling', zones,
202
202
  zone_equipment_ventilation: false)
203
203
  standard.model_add_hvac_system(self, 'Unit Heaters', ht = 'NaturalGas', znht = nil, cl = nil, heated_zones)
204
204
 
205
205
  when 'DOAS_FCU_DCW'
206
- standard.model_add_hvac_system(self, 'DOAS', ht = nil, znht = nil, cl = 'DistrictCooling', zones,
206
+ standard.model_add_hvac_system(self, doas_type, ht = nil, znht = nil, cl = 'DistrictCooling', zones,
207
207
  air_loop_heating_type: nil)
208
208
  standard.model_add_hvac_system(self, 'Fan Coil', ht = nil, znht = nil, cl = 'DistrictCooling', zones,
209
209
  zone_equipment_ventilation: false)
210
210
 
211
211
  when 'DOAS_VRF'
212
- standard.model_add_hvac_system(self, 'DOAS', ht = 'Electricity', znht = nil, cl = 'Electricity', zones,
212
+ standard.model_add_hvac_system(self, doas_type, ht = 'Electricity', znht = nil, cl = 'Electricity', zones,
213
213
  air_loop_heating_type: 'DX',
214
214
  air_loop_cooling_type: 'DX')
215
215
  standard.model_add_hvac_system(self, 'VRF', ht = 'Electricity', znht = nil, cl = 'Electricity', zones)
216
216
 
217
217
  when 'DOAS_WSHP_FluidCooler_Boiler'
218
- standard.model_add_hvac_system(self, 'DOAS', ht = 'NaturalGas', znht = nil, cl = 'Electricity', zones)
218
+ standard.model_add_hvac_system(self, doas_type, ht = 'NaturalGas', znht = nil, cl = 'Electricity', zones)
219
219
  standard.model_add_hvac_system(self, 'Water Source Heat Pumps', ht = 'NaturalGas', znht = nil, cl = 'Electricity', zones,
220
220
  heat_pump_loop_cooling_type: 'FluidCooler',
221
221
  zone_equipment_ventilation: false)
222
222
 
223
223
  when 'DOAS_WSHP_CoolingTower_Boiler'
224
- standard.model_add_hvac_system(self, 'DOAS', ht = 'NaturalGas', znht = nil, cl = 'Electricity', zones)
224
+ standard.model_add_hvac_system(self, doas_type, ht = 'NaturalGas', znht = nil, cl = 'Electricity', zones)
225
225
  standard.model_add_hvac_system(self, 'Water Source Heat Pumps', ht = 'NaturalGas', znht = nil, cl = 'Electricity', zones,
226
226
  heat_pump_loop_cooling_type: 'CoolingTower',
227
227
  zone_equipment_ventilation: false)
228
228
 
229
229
  when 'DOAS_WSHP_GSHP'
230
- standard.model_add_hvac_system(self, 'DOAS', ht = 'Electricity', znht = nil, cl = 'Electricity', zones,
230
+ standard.model_add_hvac_system(self, doas_type, ht = 'Electricity', znht = nil, cl = 'Electricity', zones,
231
231
  air_loop_heating_type: 'DX',
232
232
  air_loop_cooling_type: 'DX')
233
233
  standard.model_add_hvac_system(self, 'Ground Source Heat Pumps', ht = 'Electricity', znht = nil, cl = 'Electricity', zones,
234
234
  zone_equipment_ventilation: false)
235
235
 
236
236
  when 'DOAS_WSHP_DCW_DHW'
237
- standard.model_add_hvac_system(self, 'DOAS', ht = 'DistrictHeating', znht = nil, cl = 'DistrictCooling', zones)
237
+ standard.model_add_hvac_system(self, doas_type, ht = 'DistrictHeating', znht = nil, cl = 'DistrictCooling', zones)
238
238
  standard.model_add_hvac_system(self, 'Water Source Heat Pumps', ht = 'DistrictHeating', znht = nil, cl = 'DistrictCooling', zones,
239
239
  zone_equipment_ventilation: false)
240
240
 
@@ -82,10 +82,14 @@ module Honeybee
82
82
  end
83
83
 
84
84
  # create the HVAC system
85
+ doas_type = 'DOAS'
86
+ if @hash[:demand_controlled_ventilation]
87
+ doas_type = 'DOAS with DCV'
88
+ end
85
89
  if equipment_type.to_s.include? 'Radiant'
86
90
  os_hvac = openstudio_model.add_radiant_hvac_system(standard, equipment_type.to_s, zones, @hash)
87
91
  else
88
- os_hvac = openstudio_model.add_cbecs_hvac_system(standard, equipment_type, zones)
92
+ os_hvac = openstudio_model.add_cbecs_hvac_system(standard, equipment_type, zones, doas_type)
89
93
  end
90
94
 
91
95
  # Get the air loops and assign the display name to the air loop name if it exists
@@ -258,14 +262,16 @@ module Honeybee
258
262
 
259
263
  # assign demand controlled ventilation if there's an air loop
260
264
  if @hash[:demand_controlled_ventilation] && !os_air_loops.empty?
261
- os_air_loops.each do |os_air_loop|
262
- oasys = os_air_loop.airLoopHVACOutdoorAirSystem
263
- unless oasys.empty?
264
- os_oasys = oasys.get
265
- oactrl = os_oasys.getControllerOutdoorAir
266
- vent_ctrl = oactrl.controllerMechanicalVentilation
267
- vent_ctrl.setDemandControlledVentilationNoFail(true)
268
- oactrl.resetMinimumFractionofOutdoorAirSchedule
265
+ if !equipment_type.to_s.include? 'DOAS'
266
+ os_air_loops.each do |os_air_loop|
267
+ oasys = os_air_loop.airLoopHVACOutdoorAirSystem
268
+ unless oasys.empty?
269
+ os_oasys = oasys.get
270
+ oactrl = os_oasys.getControllerOutdoorAir
271
+ vent_ctrl = oactrl.controllerMechanicalVentilation
272
+ vent_ctrl.setDemandControlledVentilationNoFail(true)
273
+ oactrl.resetMinimumFractionofOutdoorAirSchedule
274
+ end
269
275
  end
270
276
  end
271
277
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: honeybee-openstudio
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.38.16
4
+ version: 2.38.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanushree Charan
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2024-12-12 00:00:00.000000000 Z
14
+ date: 2024-12-17 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: json_pure