openstudio-standards 0.8.3 → 0.8.4
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 +4 -4
- data/lib/openstudio-standards/btap/costing/README.md +502 -0
- data/lib/openstudio-standards/btap/costing/btap_costing.rb +473 -0
- data/lib/openstudio-standards/btap/costing/btap_measure_helper.rb +359 -0
- data/lib/openstudio-standards/btap/costing/btap_workflow.rb +117 -0
- data/lib/openstudio-standards/btap/costing/common_paths.rb +78 -0
- data/lib/openstudio-standards/btap/costing/common_resources/ConstructionProperties.csv +52 -0
- data/lib/openstudio-standards/btap/costing/common_resources/Constructions.csv +37 -0
- data/lib/openstudio-standards/btap/costing/common_resources/construction_sets.csv +1270 -0
- data/lib/openstudio-standards/btap/costing/common_resources/constructions_glazing.csv +61 -0
- data/lib/openstudio-standards/btap/costing/common_resources/constructions_opaque.csv +2256 -0
- data/lib/openstudio-standards/btap/costing/common_resources/costs.csv +1904 -0
- data/lib/openstudio-standards/btap/costing/common_resources/costs_local_factors.csv +2315 -0
- data/lib/openstudio-standards/btap/costing/common_resources/hvac_vent_ahu.csv +925 -0
- data/lib/openstudio-standards/btap/costing/common_resources/lighting.csv +364 -0
- data/lib/openstudio-standards/btap/costing/common_resources/lighting_sets.csv +2667 -0
- data/lib/openstudio-standards/btap/costing/common_resources/locations.csv +75 -0
- data/lib/openstudio-standards/btap/costing/common_resources/materials_glazing.csv +35 -0
- data/lib/openstudio-standards/btap/costing/common_resources/materials_hvac.csv +1699 -0
- data/lib/openstudio-standards/btap/costing/common_resources/materials_lighting.csv +267 -0
- data/lib/openstudio-standards/btap/costing/common_resources/materials_opaque.csv +164 -0
- data/lib/openstudio-standards/btap/costing/copy_test_results_files_to_expected_results.rb +11 -0
- data/lib/openstudio-standards/btap/costing/cost_building_from_file.rb +136 -0
- data/lib/openstudio-standards/btap/costing/costing_database_wrapper.rb +177 -0
- data/lib/openstudio-standards/btap/costing/daylighting_sensor_control_costing.rb +353 -0
- data/lib/openstudio-standards/btap/costing/dcv_costing.rb +314 -0
- data/lib/openstudio-standards/btap/costing/dummy.epw +8768 -0
- data/lib/openstudio-standards/btap/costing/dummy.osm +5320 -0
- data/lib/openstudio-standards/btap/costing/envelope_costing.rb +284 -0
- data/lib/openstudio-standards/btap/costing/heating_cooling_costing.rb +2584 -0
- data/lib/openstudio-standards/btap/costing/led_lighting_costing.rb +155 -0
- data/lib/openstudio-standards/btap/costing/lighting_costing.rb +209 -0
- data/lib/openstudio-standards/btap/costing/mech_sizing.json +502 -0
- data/lib/openstudio-standards/btap/costing/neb_end_use_prices.csv +42 -0
- data/lib/openstudio-standards/btap/costing/necb_2011_spacetype_info.csv +225 -0
- data/lib/openstudio-standards/btap/costing/necb_reference_runs.csv +28705 -0
- data/lib/openstudio-standards/btap/costing/nv_costing.rb +547 -0
- data/lib/openstudio-standards/btap/costing/parallel_tests.rb +92 -0
- data/lib/openstudio-standards/btap/costing/pv_ground_costing.rb +687 -0
- data/lib/openstudio-standards/btap/costing/shw_costing.rb +705 -0
- data/lib/openstudio-standards/btap/costing/test_list.txt +17 -0
- data/lib/openstudio-standards/btap/costing/test_run_all_test_locally.rb +26 -0
- data/lib/openstudio-standards/btap/costing/test_run_costing_tests.rb +80 -0
- data/lib/openstudio-standards/btap/costing/ventilation_costing.rb +2616 -0
- data/lib/openstudio-standards/constructions/modify.rb +2 -1
- data/lib/openstudio-standards/standards/Standards.Model.rb +39 -9
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Model.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/ashrae_90_1_prm.UserData.rb +6 -1
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/btap_pre1980.rb +2 -27
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_3_and_8_single_speed.rb +68 -27
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_4.rb +64 -25
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_6.rb +9 -14
- data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +46 -20
- data/lib/openstudio-standards/standards/necb/NECB2011/autozone.rb +635 -248
- data/lib/openstudio-standards/standards/necb/NECB2011/data/constants.json +43 -7
- data/lib/openstudio-standards/standards/necb/NECB2011/data/fuel_type_sets.json +7 -1
- data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/HighriseApartmentMult.osm +14272 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/data/necb_2015_table_c1.json +1 -1
- data/lib/openstudio-standards/standards/necb/NECB2011/data/space_types.json +437 -437
- data/lib/openstudio-standards/standards/necb/NECB2011/data/systems.json +516 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/data/systems_including_sys5.json +588 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_namer.rb +489 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_single_speed.rb +16 -6
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_2_and_5.rb +48 -5
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_multi_speed.rb +2 -2
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_single_speed.rb +35 -27
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_4.rb +34 -23
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_6.rb +8 -6
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +42 -13
- data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +214 -25
- data/lib/openstudio-standards/standards/necb/NECB2011/system_fuels.rb +61 -1
- data/lib/openstudio-standards/standards/necb/NECB2015/data/space_types.json +636 -636
- data/lib/openstudio-standards/standards/necb/NECB2015/data/unitary_acs.json +38 -38
- data/lib/openstudio-standards/standards/necb/NECB2015/hvac_systems.rb +15 -6
- data/lib/openstudio-standards/standards/necb/NECB2017/data/space_types.json +636 -636
- data/lib/openstudio-standards/standards/necb/NECB2020/data/chillers.json +71 -71
- data/lib/openstudio-standards/standards/necb/README.md +343 -0
- data/lib/openstudio-standards/standards/necb/common/btap_data.rb +190 -28
- data/lib/openstudio-standards/standards/necb/common/btap_datapoint.rb +14 -5
- data/lib/openstudio-standards/standards/necb/common/eccc_electric_grid_intensity_20250311.csv +14 -0
- data/lib/openstudio-standards/standards/necb/common/nir_gas_grid_intensity_20250311.csv +14 -0
- data/lib/openstudio-standards/standards/necb/common/system_types.yaml +0 -0
- data/lib/openstudio-standards/utilities/logging.rb +18 -14
- data/lib/openstudio-standards/version.rb +1 -1
- data/lib/openstudio-standards/weather/modify.rb +2 -2
- data/lib/openstudio-standards.rb +12 -0
- metadata +53 -2
@@ -296,6 +296,7 @@ class ECMS
|
|
296
296
|
outdoor_vrf_unit.setMinimumHeatPumpPartLoadRatio(0.5)
|
297
297
|
outdoor_vrf_unit.setCondenserType(condenser_type)
|
298
298
|
outdoor_vrf_unit.setCrankcaseHeaterPowerperCompressor(1.0e-6)
|
299
|
+
outdoor_vrf_unit.setMinimumOutdoorTemperatureinCoolingMode(-10)
|
299
300
|
heat_defrost_eir_ft = nil
|
300
301
|
if ecm_name
|
301
302
|
search_criteria = {}
|
@@ -516,7 +517,7 @@ class ECMS
|
|
516
517
|
|
517
518
|
# Create one hot-water loop for hot-water baseboards if required
|
518
519
|
hw_loop = nil
|
519
|
-
hw_loop = add_hotwater_loop(model: model, fuel_type_set: standard.fuel_type_set) if standard.fuel_type_set.baseboard_type == 'Hot Water'
|
520
|
+
hw_loop = add_hotwater_loop(model: model, fuel_type_set: standard.fuel_type_set) if standard.fuel_type_set.baseboard_type == 'Hot Water' || standard.fuel_type_set.force_airloop_hot_water
|
520
521
|
|
521
522
|
# Update system zones map if needed
|
522
523
|
system_zones_map = update_system_zones_map_keys(system_zones_map,'sys_1')
|
@@ -537,6 +538,7 @@ class ECMS
|
|
537
538
|
system_doas_flags: system_doas_flags)
|
538
539
|
sys_supp_htg_eqpt_type = 'coil_electric'
|
539
540
|
sys_supp_htg_eqpt_type = 'coil_gas' if heating_fuel == 'NaturalGas'
|
541
|
+
sys_supp_htg_eqpt_type = 'coil_hw' if standard.fuel_type_set.force_airloop_hot_water
|
540
542
|
airloop,clg_dx_coil,htg_dx_coil,return_fan = add_air_system(model: model,
|
541
543
|
zones: zones,
|
542
544
|
sys_abbr: sys_info['sys_abbr'],
|
@@ -547,7 +549,8 @@ class ECMS
|
|
547
549
|
sys_clg_eqpt_type: air_sys_eqpt_type,
|
548
550
|
sys_supp_fan_type: sys_info['sys_supp_fan_type'],
|
549
551
|
sys_ret_fan_type: sys_info['sys_ret_fan_type'],
|
550
|
-
sys_setpoint_mgr_type: sys_info['sys_setpoint_mgr_type']
|
552
|
+
sys_setpoint_mgr_type: sys_info['sys_setpoint_mgr_type'],
|
553
|
+
hw_loop: hw_loop)
|
551
554
|
# Appy performance curves
|
552
555
|
if air_sys_eqpt_type == 'ccashp'
|
553
556
|
eqpt_name = 'Mitsubishi_Hyper_Heating_VRF_Outdoor_Unit RTU'
|
@@ -740,7 +743,7 @@ class ECMS
|
|
740
743
|
|
741
744
|
# =============================================================================================================================
|
742
745
|
# create air system heating equipment
|
743
|
-
def create_air_sys_htg_eqpt(model, htg_eqpt_type)
|
746
|
+
def create_air_sys_htg_eqpt(model, htg_eqpt_type, hw_loop = nil)
|
744
747
|
always_on = model.alwaysOnDiscreteSchedule
|
745
748
|
htg_eqpt = nil
|
746
749
|
case htg_eqpt_type.downcase
|
@@ -769,6 +772,7 @@ class ECMS
|
|
769
772
|
when 'coil_hw'
|
770
773
|
htg_eqpt = OpenStudio::Model::CoilHeatingWater.new(model)
|
771
774
|
htg_eqpt.setName('CoilHeatingWater')
|
775
|
+
hw_loop.addDemandBranchForComponent(htg_eqpt) unless hw_loop.nil?
|
772
776
|
end
|
773
777
|
|
774
778
|
return htg_eqpt
|
@@ -786,7 +790,8 @@ class ECMS
|
|
786
790
|
sys_clg_eqpt_type:,
|
787
791
|
sys_supp_fan_type:,
|
788
792
|
sys_ret_fan_type:,
|
789
|
-
sys_setpoint_mgr_type
|
793
|
+
sys_setpoint_mgr_type:,
|
794
|
+
hw_loop: nil)
|
790
795
|
|
791
796
|
# create all the needed components and the air loop
|
792
797
|
airloop = create_airloop(model, sys_vent_type)
|
@@ -796,7 +801,7 @@ class ECMS
|
|
796
801
|
return_fan = create_air_sys_fan(model, sys_ret_fan_type)
|
797
802
|
return_fan.setName('Return Fan') if return_fan
|
798
803
|
htg_eqpt = create_air_sys_htg_eqpt(model, sys_htg_eqpt_type)
|
799
|
-
supp_htg_eqpt = create_air_sys_htg_eqpt(model, sys_supp_htg_eqpt_type)
|
804
|
+
supp_htg_eqpt = create_air_sys_htg_eqpt(model, sys_supp_htg_eqpt_type, hw_loop)
|
800
805
|
clg_eqpt = create_air_sys_clg_eqpt(model, sys_clg_eqpt_type)
|
801
806
|
# add components to the air loop
|
802
807
|
clg_eqpt.addToNode(airloop.supplyOutletNode) if clg_eqpt
|
@@ -823,7 +828,10 @@ class ECMS
|
|
823
828
|
sys_name_pars['sys_rf'] = 'none'
|
824
829
|
sys_name_pars['sys_rf'] = 'cv' if sys_ret_fan_type == 'constant_volume'
|
825
830
|
sys_name_pars['sys_rf'] = 'vv' if sys_ret_fan_type == 'variable_volume'
|
826
|
-
assign_base_sys_name(
|
831
|
+
assign_base_sys_name( air_loop: airloop,
|
832
|
+
sys_abbr: sys_abbr,
|
833
|
+
sys_oa: sys_vent_type,
|
834
|
+
sys_name_pars: sys_name_pars)
|
827
835
|
return airloop, clg_eqpt, htg_eqpt, return_fan
|
828
836
|
end
|
829
837
|
|
@@ -1236,11 +1244,12 @@ class ECMS
|
|
1236
1244
|
|
1237
1245
|
# Create one hot-water loop for hot-water baseboards if required
|
1238
1246
|
hw_loop = nil
|
1239
|
-
hw_loop = add_hotwater_loop(model: model, fuel_type_set: standard.fuel_type_set) if standard.fuel_type_set.baseboard_type == 'Hot Water'
|
1247
|
+
hw_loop = add_hotwater_loop(model: model, fuel_type_set: standard.fuel_type_set) if standard.fuel_type_set.baseboard_type == 'Hot Water' || standard.fuel_type_set.force_airloop_hot_water
|
1240
1248
|
|
1241
1249
|
# Set supplemental heating for air loop
|
1242
1250
|
sys_supp_htg_eqpt_type = 'coil_electric'
|
1243
1251
|
sys_supp_htg_eqpt_type = 'coil_gas' if heating_fuel == 'NaturalGas'
|
1252
|
+
sys_supp_htg_eqpt_type = 'coil_hw' if standard.fuel_type_set.force_airloop_hot_water
|
1244
1253
|
systems = []
|
1245
1254
|
system_zones_map.sort.each do |sys_name, zones|
|
1246
1255
|
sys_info = air_sys_comps_assumptions(sys_name: sys_name,
|
@@ -1258,7 +1267,8 @@ class ECMS
|
|
1258
1267
|
sys_clg_eqpt_type: 'ccashp',
|
1259
1268
|
sys_supp_fan_type: sys_info['sys_supp_fan_type'],
|
1260
1269
|
sys_ret_fan_type: sys_info['sys_ret_fan_type'],
|
1261
|
-
sys_setpoint_mgr_type: sys_info['sys_setpoint_mgr_type']
|
1270
|
+
sys_setpoint_mgr_type: sys_info['sys_setpoint_mgr_type'],
|
1271
|
+
hw_loop: hw_loop
|
1262
1272
|
)
|
1263
1273
|
# Apply performance curves
|
1264
1274
|
eqpt_name = 'Mitsubishi_Hyper_Heating_VRF_Outdoor_Unit RTU'
|
@@ -1417,12 +1427,16 @@ class ECMS
|
|
1417
1427
|
ecm_system_zones_map_option:,
|
1418
1428
|
standard:)
|
1419
1429
|
hw_loop = nil
|
1430
|
+
if standard.fuel_type_set.force_airloop_hot_water || standard.fuel_type_set.necb_reference_hp_supp_fuel.to_s.downcase == "hot water"
|
1431
|
+
hw_loop = add_hotwater_loop(model: model, fuel_type_set: standard.fuel_type_set)
|
1432
|
+
end
|
1420
1433
|
|
1421
1434
|
# Get the heating fuel type from the system fuels object defined by the standards object
|
1422
1435
|
heating_fuel = standard.fuel_type_set.ecm_fueltype
|
1423
1436
|
# Set supplemental heaing for airloop
|
1424
1437
|
sys_supp_htg_eqpt_type = 'coil_electric'
|
1425
1438
|
sys_supp_htg_eqpt_type = 'coil_gas' if heating_fuel == 'NaturalGas'
|
1439
|
+
sys_supp_htg_eqpt_type = 'coil_hw' if standard.fuel_type_set.force_airloop_hot_water || standard.fuel_type_set.necb_reference_hp_supp_fuel.to_s.downcase == "hot water"
|
1426
1440
|
# Update system zones map if needed
|
1427
1441
|
system_zones_map = update_system_zones_map_keys(system_zones_map,'sys_1')
|
1428
1442
|
system_zones_map = update_system_zones_map(model,system_zones_map,ecm_system_zones_map_option,'sys_1') if ecm_system_zones_map_option != 'NECB_Default'
|
@@ -1445,7 +1459,8 @@ class ECMS
|
|
1445
1459
|
sys_clg_eqpt_type: 'ashp',
|
1446
1460
|
sys_supp_fan_type: sys_info['sys_supp_fan_type'],
|
1447
1461
|
sys_ret_fan_type: sys_info['sys_ret_fan_type'],
|
1448
|
-
sys_setpoint_mgr_type: sys_info['sys_setpoint_mgr_type']
|
1462
|
+
sys_setpoint_mgr_type: sys_info['sys_setpoint_mgr_type'],
|
1463
|
+
hw_loop: hw_loop)
|
1449
1464
|
eqpt_name = 'HS11_PTHP'
|
1450
1465
|
coil_cooling_dx_single_speed_apply_curves(clg_dx_coil,eqpt_name)
|
1451
1466
|
coil_heating_dx_single_speed_apply_curves(htg_dx_coil,eqpt_name)
|
@@ -1488,7 +1503,7 @@ class ECMS
|
|
1488
1503
|
# =============================================================================================================================
|
1489
1504
|
# Apply efficiencies and performance curves for ECM "hs11_ashp_pthp"
|
1490
1505
|
def apply_efficiency_ecm_hs11_ashp_pthp(model,standard)
|
1491
|
-
fr_backup_coil_cap_as_dx_coil_cap = 0.5 # fraction of electric backup heating coil capacity assigned to dx heating coil
|
1506
|
+
fr_backup_coil_cap_as_dx_coil_cap = 0.5 # fraction of electric or hot-water backup heating coil capacity assigned to dx heating coil
|
1492
1507
|
apply_efficiency_ecm_hs12_ashp_baseboard(model,standard)
|
1493
1508
|
pthp_eqpt_name = 'HS11_PTHP'
|
1494
1509
|
model.getAirLoopHVACs.sort.each do |isys|
|
@@ -1568,11 +1583,12 @@ class ECMS
|
|
1568
1583
|
|
1569
1584
|
# Create one hot-water loop for hot-water baseboards if required
|
1570
1585
|
hw_loop = nil
|
1571
|
-
hw_loop = add_hotwater_loop(model: model, fuel_type_set: standard.fuel_type_set) if standard.fuel_type_set.baseboard_type == 'Hot Water'
|
1586
|
+
hw_loop = add_hotwater_loop(model: model, fuel_type_set: standard.fuel_type_set) if standard.fuel_type_set.baseboard_type == 'Hot Water' || standard.fuel_type_set.force_airloop_hot_water
|
1572
1587
|
|
1573
1588
|
# Set supplemental heating fuel for airloop
|
1574
1589
|
sys_supp_htg_eqpt_type = 'coil_electric'
|
1575
1590
|
sys_supp_htg_eqpt_type = 'coil_gas' if heating_fuel == 'NaturalGas'
|
1591
|
+
sys_supp_htg_eqpt_type = 'coil_hw' if standard.fuel_type_set.force_airloop_hot_water
|
1576
1592
|
systems = []
|
1577
1593
|
system_zones_map.sort.each do |sys_name, zones|
|
1578
1594
|
sys_info = air_sys_comps_assumptions(sys_name: sys_name,
|
@@ -1589,7 +1605,8 @@ class ECMS
|
|
1589
1605
|
sys_clg_eqpt_type: 'ashp',
|
1590
1606
|
sys_supp_fan_type: sys_info['sys_supp_fan_type'],
|
1591
1607
|
sys_ret_fan_type: sys_info['sys_ret_fan_type'],
|
1592
|
-
sys_setpoint_mgr_type: sys_info['sys_setpoint_mgr_type']
|
1608
|
+
sys_setpoint_mgr_type: sys_info['sys_setpoint_mgr_type'],
|
1609
|
+
hw_loop: hw_loop)
|
1593
1610
|
eqpt_name = 'NECB2015_ASHP'
|
1594
1611
|
coil_cooling_dx_single_speed_apply_curves(clg_dx_coil,eqpt_name)
|
1595
1612
|
coil_heating_dx_single_speed_apply_curves(htg_dx_coil,eqpt_name)
|
@@ -1814,7 +1831,7 @@ class ECMS
|
|
1814
1831
|
loop_heat_rej_eqpt_type: 'none',
|
1815
1832
|
loop_pump_type: 'variable_speed',
|
1816
1833
|
loop_spm_type: 'Scheduled',
|
1817
|
-
loop_setpoint:
|
1834
|
+
loop_setpoint: 60.0,
|
1818
1835
|
loop_temp_diff: 5.0)
|
1819
1836
|
model.getCoilHeatingWaters.sort.each {|coil| hw_loop.addDemandBranchForComponent(coil)}
|
1820
1837
|
hcapf_curve_name = "HEATPUMP_WATERTOWATER_HCAPF"
|
@@ -2124,7 +2141,7 @@ class ECMS
|
|
2124
2141
|
loop_heat_rej_eqpt_type: 'none',
|
2125
2142
|
loop_pump_type: 'variable_speed',
|
2126
2143
|
loop_spm_type: 'Scheduled',
|
2127
|
-
loop_setpoint:
|
2144
|
+
loop_setpoint: 60.0,
|
2128
2145
|
loop_temp_diff: 5.0)
|
2129
2146
|
# set additional parameters for heating heat pump
|
2130
2147
|
hw_loop_htg_eqpt.setCondenserType('AirSoure')
|
@@ -2152,7 +2169,7 @@ class ECMS
|
|
2152
2169
|
hw_boilers.reverse().each {|boiler| boiler.addToNode(hw_loop_htg_eqpt_outlet_node)}
|
2153
2170
|
# add setpoint manager at the exit of the heat pump heating comp
|
2154
2171
|
sch = OpenStudio::Model::ScheduleConstant.new(model)
|
2155
|
-
sch.setValue(
|
2172
|
+
sch.setValue(60.0)
|
2156
2173
|
spm = OpenStudio::Model::SetpointManagerScheduled.new(model,sch)
|
2157
2174
|
spm.setName("HeatPumpHtgSetpointManager")
|
2158
2175
|
spm.addToNode(hw_loop_htg_eqpt_outlet_node)
|
@@ -2333,6 +2350,7 @@ class ECMS
|
|
2333
2350
|
# Set supplemental heaing for airloop
|
2334
2351
|
sys_supp_htg_eqpt_type = 'coil_electric'
|
2335
2352
|
sys_supp_htg_eqpt_type = 'coil_gas' if heating_fuel == 'NaturalGas'
|
2353
|
+
sys_supp_htg_eqpt_type = 'coil_hw' if standard.fuel_type_set.force_airloop_hot_water
|
2336
2354
|
# call ecm HS15 to add the air loop
|
2337
2355
|
add_ecm_hs15_cawhp_fancoils(model: model,
|
2338
2356
|
system_zones_map: system_zones_map,
|
@@ -3864,15 +3882,23 @@ class ECMS
|
|
3864
3882
|
boiler_fueltype = standard.fuel_type_set.boiler_fueltype
|
3865
3883
|
backup_boiler_fueltype = standard.fuel_type_set.backup_boiler_fueltype
|
3866
3884
|
baseboard_type = standard.fuel_type_set.baseboard_type
|
3885
|
+
heating_coil_type_sys2 = standard.fuel_type_set.heating_coil_type_sys2
|
3886
|
+
heating_coil_type_sys3 = standard.fuel_type_set.heating_coil_type_sys3
|
3887
|
+
heating_coil_type_sys4 = standard.fuel_type_set.heating_coil_type_sys4
|
3888
|
+
heating_coil_type_sys6 = standard.fuel_type_set.heating_coil_type_sys6
|
3867
3889
|
mau_heating_coil_type = 'none'
|
3868
3890
|
|
3869
3891
|
# Create the hot water loop if necessary.
|
3870
3892
|
hw_loop = standard.create_hw_loop_if_required(
|
3871
|
-
baseboard_type,
|
3872
|
-
boiler_fueltype,
|
3873
|
-
backup_boiler_fueltype,
|
3874
|
-
mau_heating_coil_type,
|
3875
|
-
model
|
3893
|
+
baseboard_type: baseboard_type,
|
3894
|
+
boiler_fueltype: boiler_fueltype,
|
3895
|
+
backup_boiler_fueltype: backup_boiler_fueltype,
|
3896
|
+
mau_heating_coil_type: mau_heating_coil_type,
|
3897
|
+
model: model,
|
3898
|
+
heating_coil_type_sys2: heating_coil_type_sys2,
|
3899
|
+
heating_coil_type_sys3: heating_coil_type_sys3,
|
3900
|
+
heating_coil_type_sys4: heating_coil_type_sys4,
|
3901
|
+
heating_coil_type_sys6: heating_coil_type_sys6
|
3876
3902
|
)
|
3877
3903
|
|
3878
3904
|
# Add baseboard heaters to each heated zone.
|