openstudio-standards 0.2.15 → 0.2.16.rc1

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 (94) hide show
  1. checksums.yaml +4 -4
  2. data/data/geometry/ASHRAEHighriseApartment.osm +0 -27
  3. data/data/standards/OpenStudio_Standards-ashrae_90_1.xlsx +0 -0
  4. data/data/standards/OpenStudio_Standards-ashrae_90_1_28Jan2022.xlsx +0 -0
  5. data/data/standards/test_performance_expected_dd_results.csv +710 -710
  6. data/lib/openstudio-standards/btap/btap_result.rb +2 -2
  7. data/lib/openstudio-standards/btap/reporting.rb +2 -2
  8. data/lib/openstudio-standards/btap/simmanager.rb +2 -2
  9. data/lib/openstudio-standards/hvac_sizing/Siz.ControllerOutdoorAir.rb +0 -54
  10. data/lib/openstudio-standards/hvac_sizing/Siz.HeatingCoolingFuels.rb +11 -1
  11. data/lib/openstudio-standards/hvac_sizing/Siz.Model.rb +1 -1
  12. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.College.rb +26 -5
  13. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWaterToAirHeatPumpEquationFit.rb +35 -16
  14. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWaterToAirHeatPumpEquationFit.rb +23 -10
  15. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +36 -0
  16. data/lib/openstudio-standards/prototypes/common/objects/Prototype.ServiceWaterHeating.rb +6 -6
  17. data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +0 -3
  18. data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +2 -2
  19. data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +9 -3
  20. data/lib/openstudio-standards/standards/Standards.CoilHeatingGas.rb +2 -0
  21. data/lib/openstudio-standards/standards/Standards.Construction.rb +12 -6
  22. data/lib/openstudio-standards/standards/Standards.Model.rb +38 -7
  23. data/lib/openstudio-standards/standards/Standards.Space.rb +1 -1
  24. data/lib/openstudio-standards/standards/Standards.SpaceType.rb +7 -0
  25. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.Model.rb +32 -11
  26. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_properties.json +22 -742
  27. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_sets.json +2 -2
  28. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.prototype_inputs.json +3 -3
  29. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +6 -6
  30. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_properties.json +19 -559
  31. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_sets.json +2 -2
  32. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.prototype_inputs.json +3 -3
  33. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +6 -6
  34. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_properties.json +19 -559
  35. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_sets.json +2 -2
  36. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.prototype_inputs.json +5 -5
  37. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +7 -7
  38. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_properties.json +19 -559
  39. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_sets.json +2 -2
  40. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.prototype_inputs.json +5 -5
  41. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +7 -7
  42. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.construction_properties.json +370 -910
  43. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.construction_sets.json +2 -2
  44. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.prototype_inputs.json +6 -6
  45. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.refrigeration_system.json +0 -8
  46. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.spc_typ.json +12 -12
  47. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +19 -6
  48. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.construction_properties.json +2380 -1300
  49. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.construction_sets.json +2 -2
  50. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.prototype_inputs.json +6 -6
  51. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.refrigeration_system.json +0 -8
  52. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.spc_typ.json +12 -12
  53. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.constructions.json +140 -0
  54. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.schedules.json +1176 -312
  55. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.construction_properties.json +172 -1132
  56. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.construction_sets.json +14 -14
  57. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.prototype_inputs.json +2 -2
  58. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.spc_typ.json +9 -9
  59. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.construction_properties.json +180 -1140
  60. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.construction_sets.json +14 -14
  61. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.prototype_inputs.json +2 -2
  62. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.spc_typ.json +10 -10
  63. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.construction_properties.json +9 -9
  64. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.construction_properties.json +9 -9
  65. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_3_and_8_single_speed.rb +12 -6
  66. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_4.rb +12 -6
  67. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_6.rb +16 -8
  68. data/lib/openstudio-standards/standards/necb/ECMS/ecms.rb +10 -20
  69. data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +209 -37
  70. data/lib/openstudio-standards/standards/necb/ECMS/loads.rb +1 -0
  71. data/lib/openstudio-standards/standards/necb/ECMS/pv_ground.rb +8 -6
  72. data/lib/openstudio-standards/standards/necb/NECB2011/autozone.rb +16 -9
  73. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/HighriseApartment.osm +1 -1
  74. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/LowriseApartment.osm +1 -1
  75. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/MidriseApartment.osm +1 -1
  76. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_multi_speed.rb +9 -5
  77. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_single_speed.rb +10 -6
  78. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_2_and_5.rb +9 -5
  79. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_multi_speed.rb +14 -8
  80. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_single_speed.rb +14 -8
  81. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_4.rb +13 -6
  82. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_6.rb +12 -6
  83. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +4 -2
  84. data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +38 -19
  85. data/lib/openstudio-standards/standards/necb/NECB2011/qaqc/necb_qaqc.rb +2 -2
  86. data/lib/openstudio-standards/standards/necb/NECB2011/service_water_heating.rb +15 -4
  87. data/lib/openstudio-standards/standards/necb/NECB2020/building_envelope.rb +10 -651
  88. data/lib/openstudio-standards/standards/necb/NECB2020/necb_2020.rb +8 -38
  89. data/lib/openstudio-standards/standards/necb/NECB2020/service_water_heating.rb +159 -0
  90. data/lib/openstudio-standards/standards/necb/common/btap_data.rb +41 -43
  91. data/lib/openstudio-standards/standards/necb/common/btap_datapoint.rb +7 -4
  92. data/lib/openstudio-standards/version.rb +1 -1
  93. data/lib/openstudio-standards.rb +1 -0
  94. metadata +4 -2
@@ -145,7 +145,7 @@
145
145
  "interior_ceilings": "Typical Interior Ceiling",
146
146
  "ground_contact_wall_standards_construction_type": "Mass",
147
147
  "ground_contact_wall_building_category": "Nonresidential",
148
- "ground_contact_floor_standards_construction_type": "Mass",
148
+ "ground_contact_floor_standards_construction_type": "Unheated",
149
149
  "ground_contact_floor_building_category": "Nonresidential",
150
150
  "ground_contact_ceiling_standards_construction_type": null,
151
151
  "ground_contact_ceiling_building_category": "Nonresidential",
@@ -317,7 +317,7 @@
317
317
  "interior_ceilings": "Typical Interior Ceiling",
318
318
  "ground_contact_wall_standards_construction_type": "Mass",
319
319
  "ground_contact_wall_building_category": "Nonresidential",
320
- "ground_contact_floor_standards_construction_type": "Mass",
320
+ "ground_contact_floor_standards_construction_type": "Unheated",
321
321
  "ground_contact_floor_building_category": "Nonresidential",
322
322
  "ground_contact_ceiling_standards_construction_type": null,
323
323
  "ground_contact_ceiling_building_category": "Nonresidential",
@@ -360,7 +360,7 @@
360
360
  "interior_ceilings": "Typical Interior Ceiling",
361
361
  "ground_contact_wall_standards_construction_type": "Mass",
362
362
  "ground_contact_wall_building_category": "Nonresidential",
363
- "ground_contact_floor_standards_construction_type": "Mass",
363
+ "ground_contact_floor_standards_construction_type": "Unheated",
364
364
  "ground_contact_floor_building_category": "Nonresidential",
365
365
  "ground_contact_ceiling_standards_construction_type": null,
366
366
  "ground_contact_ceiling_building_category": "Nonresidential",
@@ -403,7 +403,7 @@
403
403
  "interior_ceilings": "Typical Interior Ceiling",
404
404
  "ground_contact_wall_standards_construction_type": "Mass",
405
405
  "ground_contact_wall_building_category": "Nonresidential",
406
- "ground_contact_floor_standards_construction_type": "Mass",
406
+ "ground_contact_floor_standards_construction_type": "Unheated",
407
407
  "ground_contact_floor_building_category": "Nonresidential",
408
408
  "ground_contact_ceiling_standards_construction_type": null,
409
409
  "ground_contact_ceiling_building_category": "Nonresidential",
@@ -446,7 +446,7 @@
446
446
  "interior_ceilings": "Typical Interior Ceiling",
447
447
  "ground_contact_wall_standards_construction_type": "Mass",
448
448
  "ground_contact_wall_building_category": "Nonresidential",
449
- "ground_contact_floor_standards_construction_type": "Mass",
449
+ "ground_contact_floor_standards_construction_type": "Unheated",
450
450
  "ground_contact_floor_building_category": "Nonresidential",
451
451
  "ground_contact_ceiling_standards_construction_type": null,
452
452
  "ground_contact_ceiling_building_category": "Nonresidential",
@@ -489,7 +489,7 @@
489
489
  "interior_ceilings": "Typical Interior Ceiling",
490
490
  "ground_contact_wall_standards_construction_type": "Mass",
491
491
  "ground_contact_wall_building_category": "Nonresidential",
492
- "ground_contact_floor_standards_construction_type": "Mass",
492
+ "ground_contact_floor_standards_construction_type": "Unheated",
493
493
  "ground_contact_floor_building_category": "Nonresidential",
494
494
  "ground_contact_ceiling_standards_construction_type": null,
495
495
  "ground_contact_ceiling_building_category": "Nonresidential",
@@ -532,7 +532,7 @@
532
532
  "interior_ceilings": "Typical Interior Ceiling",
533
533
  "ground_contact_wall_standards_construction_type": "Mass",
534
534
  "ground_contact_wall_building_category": "Nonresidential",
535
- "ground_contact_floor_standards_construction_type": "Mass",
535
+ "ground_contact_floor_standards_construction_type": "Unheated",
536
536
  "ground_contact_floor_building_category": "Nonresidential",
537
537
  "ground_contact_ceiling_standards_construction_type": null,
538
538
  "ground_contact_ceiling_building_category": "Nonresidential",
@@ -618,7 +618,7 @@
618
618
  "interior_ceilings": "Typical Interior Ceiling",
619
619
  "ground_contact_wall_standards_construction_type": "Mass",
620
620
  "ground_contact_wall_building_category": "Nonresidential",
621
- "ground_contact_floor_standards_construction_type": "Mass",
621
+ "ground_contact_floor_standards_construction_type": "Unheated",
622
622
  "ground_contact_floor_building_category": "Nonresidential",
623
623
  "ground_contact_ceiling_standards_construction_type": null,
624
624
  "ground_contact_ceiling_building_category": "Nonresidential",
@@ -661,7 +661,7 @@
661
661
  "interior_ceilings": "Typical Interior Ceiling",
662
662
  "ground_contact_wall_standards_construction_type": "Mass",
663
663
  "ground_contact_wall_building_category": "Nonresidential",
664
- "ground_contact_floor_standards_construction_type": "SteelFramed",
664
+ "ground_contact_floor_standards_construction_type": "Unheated",
665
665
  "ground_contact_floor_building_category": "Nonresidential",
666
666
  "ground_contact_ceiling_standards_construction_type": null,
667
667
  "ground_contact_ceiling_building_category": "Nonresidential",
@@ -704,7 +704,7 @@
704
704
  "interior_ceilings": "Typical Interior Ceiling",
705
705
  "ground_contact_wall_standards_construction_type": "Mass",
706
706
  "ground_contact_wall_building_category": "Nonresidential",
707
- "ground_contact_floor_standards_construction_type": "Mass",
707
+ "ground_contact_floor_standards_construction_type": "Unheated",
708
708
  "ground_contact_floor_building_category": "Nonresidential",
709
709
  "ground_contact_ceiling_standards_construction_type": null,
710
710
  "ground_contact_ceiling_building_category": "Nonresidential",
@@ -833,7 +833,7 @@
833
833
  "interior_ceilings": "Typical Interior Ceiling",
834
834
  "ground_contact_wall_standards_construction_type": "Mass",
835
835
  "ground_contact_wall_building_category": "Nonresidential",
836
- "ground_contact_floor_standards_construction_type": "Mass",
836
+ "ground_contact_floor_standards_construction_type": "Unheated",
837
837
  "ground_contact_floor_building_category": "Nonresidential",
838
838
  "ground_contact_ceiling_standards_construction_type": null,
839
839
  "ground_contact_ceiling_building_category": "Nonresidential",
@@ -876,7 +876,7 @@
876
876
  "interior_ceilings": "Typical Interior Ceiling",
877
877
  "ground_contact_wall_standards_construction_type": "Mass",
878
878
  "ground_contact_wall_building_category": "Nonresidential",
879
- "ground_contact_floor_standards_construction_type": "Mass",
879
+ "ground_contact_floor_standards_construction_type": "Unheated",
880
880
  "ground_contact_floor_building_category": "Nonresidential",
881
881
  "ground_contact_ceiling_standards_construction_type": null,
882
882
  "ground_contact_ceiling_building_category": "Nonresidential",
@@ -919,7 +919,7 @@
919
919
  "interior_ceilings": "Typical Interior Ceiling",
920
920
  "ground_contact_wall_standards_construction_type": "Mass",
921
921
  "ground_contact_wall_building_category": "Nonresidential",
922
- "ground_contact_floor_standards_construction_type": "Mass",
922
+ "ground_contact_floor_standards_construction_type": "Unheated",
923
923
  "ground_contact_floor_building_category": "Nonresidential",
924
924
  "ground_contact_ceiling_standards_construction_type": null,
925
925
  "ground_contact_ceiling_building_category": "Nonresidential",
@@ -962,7 +962,7 @@
962
962
  "interior_ceilings": "Typical Interior Ceiling",
963
963
  "ground_contact_wall_standards_construction_type": "Mass",
964
964
  "ground_contact_wall_building_category": "Nonresidential",
965
- "ground_contact_floor_standards_construction_type": "Mass",
965
+ "ground_contact_floor_standards_construction_type": "Unheated",
966
966
  "ground_contact_floor_building_category": "Nonresidential",
967
967
  "ground_contact_ceiling_standards_construction_type": null,
968
968
  "ground_contact_ceiling_building_category": "Nonresidential",
@@ -24,9 +24,9 @@
24
24
  "pszac_oa_damper_schedule_3": null,
25
25
  "occ_sensing_exterior_lighting_power": null,
26
26
  "occ_sensing_exterior_lighting_schedule": null,
27
- "nondimming_exterior_lighting_power": null,
27
+ "nondimming_exterior_lighting_power": 21874,
28
28
  "nondimming_exterior_lighting_schedule": "College EXTERIOR_LIGHT_SCH",
29
- "building_area_method_lpd": 1.0,
29
+ "building_area_method_lpd": null,
30
30
  "exterior_fuel_equipment1_power": null,
31
31
  "exterior_fuel_equipment1_schedule": null,
32
32
  "exterior_fuel_equipment2_power": null,
@@ -129,8 +129,8 @@
129
129
  "electric_equipment_schedule": "College BLDG_EQUIP_SCH_Base",
130
130
  "additional_electric_equipment_schedule": null,
131
131
  "additional_gas_equipment_schedule": null,
132
- "occupancy_per_area": null,
133
- "occupancy_schedule": "College BLDG_OCC_SCH",
132
+ "occupancy_per_area": 20.0,
133
+ "occupancy_schedule": "College BLDG_Studio_OCC_SCH",
134
134
  "occupancy_activity_schedule": "College ACTIVITY_SCH",
135
135
  "is_residential": null,
136
136
  "ventilation_standard": "ASHRAE 62.1-1999",
@@ -218,7 +218,7 @@
218
218
  "additional_electric_equipment_schedule": null,
219
219
  "additional_gas_equipment_schedule": null,
220
220
  "occupancy_per_area": 65.0,
221
- "occupancy_schedule": "College BLDG_OCC_SCH",
221
+ "occupancy_schedule": "College BLDG_Class_OCC_SCH",
222
222
  "occupancy_activity_schedule": "College ACTIVITY_SCH",
223
223
  "is_residential": null,
224
224
  "ventilation_standard": "ASHRAE 62.1-1999",
@@ -646,7 +646,7 @@
646
646
  "additional_electric_equipment_schedule": null,
647
647
  "additional_gas_equipment_schedule": null,
648
648
  "occupancy_per_area": 25.0,
649
- "occupancy_schedule": "College BLDG_OCC_SCH",
649
+ "occupancy_schedule": "College BLDG_Lab_OCC_SCH",
650
650
  "occupancy_activity_schedule": "College ACTIVITY_SCH",
651
651
  "is_residential": null,
652
652
  "ventilation_standard": "ASHRAE 62.1-1999",
@@ -734,7 +734,7 @@
734
734
  "additional_electric_equipment_schedule": null,
735
735
  "additional_gas_equipment_schedule": null,
736
736
  "occupancy_per_area": 65.0,
737
- "occupancy_schedule": "College BLDG_OCC_SCH_Lecture Theater",
737
+ "occupancy_schedule": "College BLDG_Lecture_OCC_SCH",
738
738
  "occupancy_activity_schedule": "College ACTIVITY_SCH",
739
739
  "is_residential": null,
740
740
  "ventilation_standard": "ASHRAE 62.1-1999",
@@ -822,7 +822,7 @@
822
822
  "additional_electric_equipment_schedule": null,
823
823
  "additional_gas_equipment_schedule": null,
824
824
  "occupancy_per_area": 25.0,
825
- "occupancy_schedule": "College BLDG_OCC_SCH",
825
+ "occupancy_schedule": "College BLDG_Cafe_OCC_SCH",
826
826
  "occupancy_activity_schedule": "College ACTIVITY_SCH",
827
827
  "is_residential": null,
828
828
  "ventilation_standard": "ASHRAE 62.1-1999",
@@ -910,7 +910,7 @@
910
910
  "additional_electric_equipment_schedule": null,
911
911
  "additional_gas_equipment_schedule": null,
912
912
  "occupancy_per_area": 10.0,
913
- "occupancy_schedule": "College BLDG_OCC_SCH_Lecture Theater",
913
+ "occupancy_schedule": "College BLDG_Lecture_OCC_SCH",
914
914
  "occupancy_activity_schedule": "College ACTIVITY_SCH",
915
915
  "is_residential": null,
916
916
  "ventilation_standard": "ASHRAE 62.1-1999",
@@ -1237,9 +1237,9 @@
1237
1237
  "psa_nongeometry_fraction": null,
1238
1238
  "ssa_nongeometry_fraction": null,
1239
1239
  "notes": null,
1240
- "occupancy_per_area": 15.0,
1241
- "occupancy_schedule": "College BLDG_OCC_SCH",
1242
- "occupancy_activity_schedule": "College ACTIVITY_SCH",
1240
+ "occupancy_per_area": null,
1241
+ "occupancy_schedule": null,
1242
+ "occupancy_activity_schedule": null,
1243
1243
  "is_residential": null,
1244
1244
  "ventilation_standard": "ASHRAE 62.1-1999",
1245
1245
  "ventilation_primary_space_type": "Retail Stores, Sales Floors, and Show Room Floors",
@@ -425,7 +425,7 @@
425
425
  "climate_zone_set": "ClimateZone 0",
426
426
  "operation_type": null,
427
427
  "intended_surface_type": "GroundContactFloor",
428
- "standards_construction_type": "Mass",
428
+ "standards_construction_type": "Unheated",
429
429
  "building_category": "Adiabatic",
430
430
  "construction": "Adiabatic GroundContactFloor",
431
431
  "orientation": null,
@@ -905,7 +905,7 @@
905
905
  "climate_zone_set": "ClimateZone 1",
906
906
  "operation_type": null,
907
907
  "intended_surface_type": "GroundContactFloor",
908
- "standards_construction_type": "Mass",
908
+ "standards_construction_type": "Unheated",
909
909
  "building_category": "Adiabatic",
910
910
  "construction": "Adiabatic GroundContactFloor",
911
911
  "orientation": null,
@@ -1385,7 +1385,7 @@
1385
1385
  "climate_zone_set": "ClimateZone 2",
1386
1386
  "operation_type": null,
1387
1387
  "intended_surface_type": "GroundContactFloor",
1388
- "standards_construction_type": "Mass",
1388
+ "standards_construction_type": "Unheated",
1389
1389
  "building_category": "Adiabatic",
1390
1390
  "construction": "Adiabatic GroundContactFloor",
1391
1391
  "orientation": null,
@@ -1865,7 +1865,7 @@
1865
1865
  "climate_zone_set": "ClimateZone 3",
1866
1866
  "operation_type": null,
1867
1867
  "intended_surface_type": "GroundContactFloor",
1868
- "standards_construction_type": "Mass",
1868
+ "standards_construction_type": "Unheated",
1869
1869
  "building_category": "Adiabatic",
1870
1870
  "construction": "Adiabatic GroundContactFloor",
1871
1871
  "orientation": null,
@@ -2345,7 +2345,7 @@
2345
2345
  "climate_zone_set": "ClimateZone 4",
2346
2346
  "operation_type": null,
2347
2347
  "intended_surface_type": "GroundContactFloor",
2348
- "standards_construction_type": "Mass",
2348
+ "standards_construction_type": "Unheated",
2349
2349
  "building_category": "Adiabatic",
2350
2350
  "construction": "Adiabatic GroundContactFloor",
2351
2351
  "orientation": null,
@@ -3485,7 +3485,7 @@
3485
3485
  "climate_zone_set": "ClimateZone 5",
3486
3486
  "operation_type": null,
3487
3487
  "intended_surface_type": "GroundContactFloor",
3488
- "standards_construction_type": "Mass",
3488
+ "standards_construction_type": "Unheated",
3489
3489
  "building_category": "Adiabatic",
3490
3490
  "construction": "Adiabatic GroundContactFloor",
3491
3491
  "orientation": null,
@@ -4225,7 +4225,7 @@
4225
4225
  "climate_zone_set": "ClimateZone 6",
4226
4226
  "operation_type": null,
4227
4227
  "intended_surface_type": "GroundContactFloor",
4228
- "standards_construction_type": "Mass",
4228
+ "standards_construction_type": "Unheated",
4229
4229
  "building_category": "Adiabatic",
4230
4230
  "construction": "Adiabatic GroundContactFloor",
4231
4231
  "orientation": null,
@@ -4705,7 +4705,7 @@
4705
4705
  "climate_zone_set": "ClimateZone 7",
4706
4706
  "operation_type": null,
4707
4707
  "intended_surface_type": "GroundContactFloor",
4708
- "standards_construction_type": "Mass",
4708
+ "standards_construction_type": "Unheated",
4709
4709
  "building_category": "Adiabatic",
4710
4710
  "construction": "Adiabatic GroundContactFloor",
4711
4711
  "orientation": null,
@@ -5185,7 +5185,7 @@
5185
5185
  "climate_zone_set": "ClimateZone 8",
5186
5186
  "operation_type": null,
5187
5187
  "intended_surface_type": "GroundContactFloor",
5188
- "standards_construction_type": "Mass",
5188
+ "standards_construction_type": "Unheated",
5189
5189
  "building_category": "Adiabatic",
5190
5190
  "construction": "Adiabatic GroundContactFloor",
5191
5191
  "orientation": null,
@@ -385,7 +385,7 @@
385
385
  "climate_zone_set": "ClimateZone 0",
386
386
  "operation_type": null,
387
387
  "intended_surface_type": "GroundContactFloor",
388
- "standards_construction_type": "Mass",
388
+ "standards_construction_type": "Unheated",
389
389
  "building_category": "Adiabatic",
390
390
  "construction": "Adiabatic GroundContactFloor",
391
391
  "orientation": null,
@@ -825,7 +825,7 @@
825
825
  "climate_zone_set": "ClimateZone 1",
826
826
  "operation_type": null,
827
827
  "intended_surface_type": "GroundContactFloor",
828
- "standards_construction_type": "Mass",
828
+ "standards_construction_type": "Unheated",
829
829
  "building_category": "Adiabatic",
830
830
  "construction": "Adiabatic GroundContactFloor",
831
831
  "orientation": null,
@@ -1265,7 +1265,7 @@
1265
1265
  "climate_zone_set": "ClimateZone 2",
1266
1266
  "operation_type": null,
1267
1267
  "intended_surface_type": "GroundContactFloor",
1268
- "standards_construction_type": "Mass",
1268
+ "standards_construction_type": "Unheated",
1269
1269
  "building_category": "Adiabatic",
1270
1270
  "construction": "Adiabatic GroundContactFloor",
1271
1271
  "orientation": null,
@@ -1705,7 +1705,7 @@
1705
1705
  "climate_zone_set": "ClimateZone 3",
1706
1706
  "operation_type": null,
1707
1707
  "intended_surface_type": "GroundContactFloor",
1708
- "standards_construction_type": "Mass",
1708
+ "standards_construction_type": "Unheated",
1709
1709
  "building_category": "Adiabatic",
1710
1710
  "construction": "Adiabatic GroundContactFloor",
1711
1711
  "orientation": null,
@@ -2145,7 +2145,7 @@
2145
2145
  "climate_zone_set": "ClimateZone 4",
2146
2146
  "operation_type": null,
2147
2147
  "intended_surface_type": "GroundContactFloor",
2148
- "standards_construction_type": "Mass",
2148
+ "standards_construction_type": "Unheated",
2149
2149
  "building_category": "Adiabatic",
2150
2150
  "construction": "Adiabatic GroundContactFloor",
2151
2151
  "orientation": null,
@@ -2825,7 +2825,7 @@
2825
2825
  "climate_zone_set": "ClimateZone 5",
2826
2826
  "operation_type": null,
2827
2827
  "intended_surface_type": "GroundContactFloor",
2828
- "standards_construction_type": "Mass",
2828
+ "standards_construction_type": "Unheated",
2829
2829
  "building_category": "Adiabatic",
2830
2830
  "construction": "Adiabatic GroundContactFloor",
2831
2831
  "orientation": null,
@@ -3505,7 +3505,7 @@
3505
3505
  "climate_zone_set": "ClimateZone 6",
3506
3506
  "operation_type": null,
3507
3507
  "intended_surface_type": "GroundContactFloor",
3508
- "standards_construction_type": "Mass",
3508
+ "standards_construction_type": "Unheated",
3509
3509
  "building_category": "Adiabatic",
3510
3510
  "construction": "Adiabatic GroundContactFloor",
3511
3511
  "orientation": null,
@@ -3945,7 +3945,7 @@
3945
3945
  "climate_zone_set": "ClimateZone 7",
3946
3946
  "operation_type": null,
3947
3947
  "intended_surface_type": "GroundContactFloor",
3948
- "standards_construction_type": "Mass",
3948
+ "standards_construction_type": "Unheated",
3949
3949
  "building_category": "Adiabatic",
3950
3950
  "construction": "Adiabatic GroundContactFloor",
3951
3951
  "orientation": null,
@@ -4385,7 +4385,7 @@
4385
4385
  "climate_zone_set": "ClimateZone 8",
4386
4386
  "operation_type": null,
4387
4387
  "intended_surface_type": "GroundContactFloor",
4388
- "standards_construction_type": "Mass",
4388
+ "standards_construction_type": "Unheated",
4389
4389
  "building_category": "Adiabatic",
4390
4390
  "construction": "Adiabatic GroundContactFloor",
4391
4391
  "orientation": null,
@@ -31,8 +31,10 @@ class BTAPPRE1980
31
31
  system_data[:CentralHeatingDesignSupplyAirHumidityRatio] = 0.0080
32
32
 
33
33
  # System 3 Zone data
34
- system_data[:ZoneCoolingDesignSupplyAirTemperature] = 13.0
35
- system_data[:ZoneHeatingDesignSupplyAirTemperature] = 43.0
34
+ system_data[:ZoneCoolingDesignSupplyAirTemperatureInputMethod] = 'TemperatureDifference'
35
+ system_data[:ZoneCoolingDesignSupplyAirTemperatureDifference] = 11.0
36
+ system_data[:ZoneHeatingDesignSupplyAirTemperatureInputMethod] = 'TemperatureDifference'
37
+ system_data[:ZoneHeatingDesignSupplyAirTemperatureDifference] = 21.0
36
38
  system_data[:SetpointManagerSingleZoneReheatSupplyTempMin] = 13.0
37
39
  system_data[:SetpointManagerSingleZoneReheatSupplyTempMax] = 43.0
38
40
  system_data[:ZoneDXCoolingSizingFactor] = 1.0
@@ -52,8 +54,10 @@ class BTAPPRE1980
52
54
  # Add Zone equipment
53
55
  zones.each do |zone| # Zone sizing temperature
54
56
  sizing_zone = zone.sizingZone
55
- sizing_zone.setZoneCoolingDesignSupplyAirTemperature(system_data[:ZoneCoolingDesignSupplyAirTemperature])
56
- sizing_zone.setZoneHeatingDesignSupplyAirTemperature(system_data[:ZoneHeatingDesignSupplyAirTemperature])
57
+ sizing_zone.setZoneCoolingDesignSupplyAirTemperatureInputMethod(system_data[:ZoneCoolingDesignSupplyAirTemperatureInputMethod])
58
+ sizing_zone.setZoneCoolingDesignSupplyAirTemperatureDifference(system_data[:ZoneCoolingDesignSupplyAirTemperatureDifference])
59
+ sizing_zone.setZoneHeatingDesignSupplyAirTemperatureInputMethod(system_data[:ZoneHeatingDesignSupplyAirTemperatureInputMethod])
60
+ sizing_zone.setZoneHeatingDesignSupplyAirTemperatureDifference(system_data[:ZoneHeatingDesignSupplyAirTemperatureDifference])
57
61
  sizing_zone.setZoneCoolingSizingFactor(system_data[:ZoneCoolingSizingFactor])
58
62
  sizing_zone.setZoneHeatingSizingFactor(system_data[:ZoneHeatingSizingFactor])
59
63
  add_sys3_and_8_zone_equip(air_loop,
@@ -108,8 +112,10 @@ class BTAPPRE1980
108
112
 
109
113
  # Zone sizing temperature
110
114
  sizing_zone = control_zone.sizingZone
111
- sizing_zone.setZoneCoolingDesignSupplyAirTemperature(system_data[:ZoneCoolingDesignSupplyAirTemperature])
112
- sizing_zone.setZoneHeatingDesignSupplyAirTemperature(system_data[:ZoneHeatingDesignSupplyAirTemperature])
115
+ sizing_zone.setZoneCoolingDesignSupplyAirTemperatureInputMethod(system_data[:ZoneCoolingDesignSupplyAirTemperatureInputMethod])
116
+ sizing_zone.setZoneCoolingDesignSupplyAirTemperatureDifference(system_data[:ZoneCoolingDesignSupplyAirTemperatureDifference])
117
+ sizing_zone.setZoneHeatingDesignSupplyAirTemperatureInputMethod(system_data[:ZoneHeatingDesignSupplyAirTemperatureInputMethod])
118
+ sizing_zone.setZoneHeatingDesignSupplyAirTemperatureDifference(system_data[:ZoneHeatingDesignSupplyAirTemperatureDifference])
113
119
  sizing_zone.setZoneCoolingSizingFactor(system_data[:ZoneCoolingSizingFactor])
114
120
  sizing_zone.setZoneHeatingSizingFactor(system_data[:ZoneHeatingSizingFactor])
115
121
 
@@ -31,8 +31,10 @@ class BTAPPRE1980
31
31
  # zone
32
32
  system_data[:SetpointManagerSingleZoneReheatSupplyTempMax] = 43.0
33
33
  system_data[:SetpointManagerSingleZoneReheatSupplyTempMin] = 13.0
34
- system_data[:ZoneCoolingDesignSupplyAirTemperature] = 13.0
35
- system_data[:ZoneHeatingDesignSupplyAirTemperature] = 43.0
34
+ system_data[:ZoneCoolingDesignSupplyAirTemperatureInputMethod] = 'TemperatureDifference'
35
+ system_data[:ZoneCoolingDesignSupplyAirTemperatureDifference] = 11.0
36
+ system_data[:ZoneHeatingDesignSupplyAirTemperatureInputMethod] = 'TemperatureDifference'
37
+ system_data[:ZoneHeatingDesignSupplyAirTemperatureDifference] = 21.0
36
38
  system_data[:ZoneCoolingSizingFactor] = 1.1
37
39
  system_data[:ZoneHeatingSizingFactor] = 1.3
38
40
 
@@ -66,8 +68,10 @@ class BTAPPRE1980
66
68
 
67
69
  # Zone sizing temperature
68
70
  sizing_zone = control_zone.sizingZone
69
- sizing_zone.setZoneCoolingDesignSupplyAirTemperature(system_data[:ZoneCoolingDesignSupplyAirTemperature])
70
- sizing_zone.setZoneHeatingDesignSupplyAirTemperature(system_data[:ZoneHeatingDesignSupplyAirTemperature])
71
+ sizing_zone.setZoneCoolingDesignSupplyAirTemperatureInputMethod(system_data[:ZoneCoolingDesignSupplyAirTemperatureInputMethod])
72
+ sizing_zone.setZoneCoolingDesignSupplyAirTemperatureDifference(system_data[:ZoneCoolingDesignSupplyAirTemperatureDifference])
73
+ sizing_zone.setZoneHeatingDesignSupplyAirTemperatureInputMethod(system_data[:ZoneHeatingDesignSupplyAirTemperatureInputMethod])
74
+ sizing_zone.setZoneHeatingDesignSupplyAirTemperatureDifference(system_data[:ZoneHeatingDesignSupplyAirTemperatureDifference])
71
75
  sizing_zone.setZoneCoolingSizingFactor(system_data[:ZoneCoolingSizingFactor])
72
76
  sizing_zone.setZoneHeatingSizingFactor(system_data[:ZoneHeatingSizingFactor])
73
77
 
@@ -134,8 +138,10 @@ class BTAPPRE1980
134
138
  exhaust_fan_name = 'Sys_4_zone_exhaust_fan'
135
139
  zones.each do |zone|
136
140
  sizing_zone = zone.sizingZone
137
- sizing_zone.setZoneCoolingDesignSupplyAirTemperature(system_data[:ZoneCoolingDesignSupplyAirTemperature])
138
- sizing_zone.setZoneHeatingDesignSupplyAirTemperature(system_data[:ZoneHeatingDesignSupplyAirTemperature])
141
+ sizing_zone.setZoneCoolingDesignSupplyAirTemperatureInputMethod(system_data[:ZoneCoolingDesignSupplyAirTemperatureInputMethod])
142
+ sizing_zone.setZoneCoolingDesignSupplyAirTemperatureDifference(system_data[:ZoneCoolingDesignSupplyAirTemperatureDifference])
143
+ sizing_zone.setZoneHeatingDesignSupplyAirTemperatureInputMethod(system_data[:ZoneHeatingDesignSupplyAirTemperatureInputMethod])
144
+ sizing_zone.setZoneHeatingDesignSupplyAirTemperatureDifference(system_data[:ZoneHeatingDesignSupplyAirTemperatureDifference])
139
145
  sizing_zone.setZoneCoolingSizingFactor(system_data[:ZoneCoolingSizingFactor])
140
146
  sizing_zone.setZoneHeatingSizingFactor(system_data[:ZoneHeatingSizingFactor])
141
147
  # Create a diffuser and attach the zone/diffuser pair to the air loop
@@ -34,8 +34,10 @@ class BTAPPRE1980
34
34
  # zone data
35
35
  system_data[:max_system_supply_air_temperature] = 43.0
36
36
  system_data[:min_system_supply_air_temperature] = 13.0
37
- system_data[:ZoneCoolingDesignSupplyAirTemperature] = 13.0
38
- system_data[:ZoneHeatingDesignSupplyAirTemperature] = 43.0
37
+ system_data[:ZoneCoolingDesignSupplyAirTemperatureInputMethod] = 'TemperatureDifference'
38
+ system_data[:ZoneCoolingDesignSupplyAirTemperatureDifference] = 11.0
39
+ system_data[:ZoneHeatingDesignSupplyAirTemperatureInputMethod] = 'TemperatureDifference'
40
+ system_data[:ZoneHeatingDesignSupplyAirTemperatureDifference] = 21.0
39
41
  system_data[:ZoneCoolingSizingFactor] = 1.1
40
42
  system_data[:ZoneHeatingSizingFactor] = 1.3
41
43
  system_data[:ZoneVAVMinFlowFactorPerFloorArea] = 0.002
@@ -115,8 +117,10 @@ class BTAPPRE1980
115
117
  (BTAP::Geometry::BuildingStoreys.get_zones_from_storey(story) & zones).each do |zone|
116
118
  # Zone sizing parameters
117
119
  sizing_zone = zone.sizingZone
118
- sizing_zone.setZoneCoolingDesignSupplyAirTemperature(system_data[:ZoneCoolingDesignSupplyAirTemperature])
119
- sizing_zone.setZoneHeatingDesignSupplyAirTemperature(system_data[:ZoneHeatingDesignSupplyAirTemperature])
120
+ sizing_zone.setZoneCoolingDesignSupplyAirTemperatureInputMethod(system_data[:ZoneCoolingDesignSupplyAirTemperatureInputMethod])
121
+ sizing_zone.setZoneCoolingDesignSupplyAirTemperatureDifference(system_data[:ZoneCoolingDesignSupplyAirTemperatureDifference])
122
+ sizing_zone.setZoneHeatingDesignSupplyAirTemperatureInputMethod(system_data[:ZoneHeatingDesignSupplyAirTemperatureInputMethod])
123
+ sizing_zone.setZoneHeatingDesignSupplyAirTemperatureDifference(system_data[:ZoneHeatingDesignSupplyAirTemperatureDifference])
120
124
  sizing_zone.setZoneCoolingSizingFactor(system_data[:ZoneCoolingSizingFactor])
121
125
  sizing_zone.setZoneHeatingSizingFactor(system_data[:ZoneHeatingSizingFactor])
122
126
 
@@ -197,8 +201,10 @@ class BTAPPRE1980
197
201
  # zone data
198
202
  system_6_data[:max_system_supply_air_temperature] = 43.0
199
203
  system_6_data[:min_system_supply_air_temperature] = 13.0
200
- system_6_data[:ZoneCoolingDesignSupplyAirTemperature] = 13.0
201
- system_6_data[:ZoneHeatingDesignSupplyAirTemperature] = 43.0
204
+ system_6_data[:ZoneCoolingDesignSupplyAirTemperatureInputMethod] = 'TemperatureDifference'
205
+ system_6_data[:ZoneCoolingDesignSupplyAirTemperatureDifference] = 11.0
206
+ system_6_data[:ZoneHeatingDesignSupplyAirTemperatureInputMethod] = 'TemperatureDifference'
207
+ system_6_data[:ZoneHeatingDesignSupplyAirTemperatureDifference] = 21.0
202
208
  system_6_data[:ZoneCoolingSizingFactor] = 1.1
203
209
  system_6_data[:ZoneHeatingSizingFactor] = 1.3
204
210
  system_6_data[:ZoneVAVMinFlowFactorPerFloorArea] = 0.002
@@ -285,8 +291,10 @@ class BTAPPRE1980
285
291
  (BTAP::Geometry::BuildingStoreys.get_zones_from_storey(story) & zones).each do |zone|
286
292
  # Zone sizing parameters
287
293
  sizing_zone = zone.sizingZone
288
- sizing_zone.setZoneCoolingDesignSupplyAirTemperature(system_data[:ZoneCoolingDesignSupplyAirTemperature])
289
- sizing_zone.setZoneHeatingDesignSupplyAirTemperature(system_data[:ZoneHeatingDesignSupplyAirTemperature])
294
+ sizing_zone.setZoneCoolingDesignSupplyAirTemperatureInputMethod(system_data[:ZoneCoolingDesignSupplyAirTemperatureInputMethod])
295
+ sizing_zone.setZoneCoolingDesignSupplyAirTemperatureDifference(system_data[:ZoneCoolingDesignSupplyAirTemperatureDifference])
296
+ sizing_zone.setZoneHeatingDesignSupplyAirTemperatureInputMethod(system_data[:ZoneHeatingDesignSupplyAirTemperatureInputMethod])
297
+ sizing_zone.setZoneHeatingDesignSupplyAirTemperatureDifference(system_data[:ZoneHeatingDesignSupplyAirTemperatureDifference])
290
298
  sizing_zone.setZoneCoolingSizingFactor(system_data[:ZoneCoolingSizingFactor])
291
299
  sizing_zone.setZoneHeatingSizingFactor(system_data[:ZoneHeatingSizingFactor])
292
300
 
@@ -39,42 +39,32 @@ class ECMS < NECB2011
39
39
  @standards_data['curves'] = standards_data['tables']['curves']['table']
40
40
  end
41
41
 
42
- def apply_system_ecm(model:, ecm_system_name: nil, template_standard:, runner: nil, primary_heating_fuel: nil)
42
+ def apply_system_ecm(model:, ecm_system_name: nil, template_standard:, runner: nil, primary_heating_fuel: nil, ecm_system_zones_map_option: 'NECB_Default')
43
43
  # Do nothing if nil or other usual suspects.. covering all bases for now.
44
44
  return if ecm_system_name.nil? || ecm_system_name == 'none' || ecm_system_name == 'NECB_Default'
45
+ ecm_system_zones_map_option = 'NECB_Default' if ecm_system_zones_map_option.nil? || ecm_system_zones_map_option == 'none'
45
46
 
46
47
  ecm_std = Standard.build('ECMS')
47
48
  systems = model.getAirLoopHVACs
48
49
  map_system_to_zones, system_doas_flags = ecm_std.get_map_systems_to_zones(systems)
49
- zone_clg_eqpt_type = ecm_std.get_zone_clg_eqpt_type(model)
50
- # when the ecm is associated with adding a new HVAC system, then remove existing system components and loops
51
50
  ecm_add_method_name = "add_ecm_#{ecm_system_name.downcase}"
52
51
 
53
52
  raise("the method #{ecm_add_method_name} does not exist in the ECM class. Please verify that this should be called.") unless ecm_std.respond_to? ecm_add_method_name
54
53
 
54
+ # when the ecm is associated with adding a new HVAC system, then remove existing system components and loops
55
55
  ecm_std.remove_all_zone_eqpt(systems)
56
56
  ecm_std.remove_air_loops(model)
57
57
  ecm_std.remove_hw_loops(model)
58
58
  ecm_std.remove_chw_loops(model)
59
59
  ecm_std.remove_cw_loops(model)
60
60
 
61
- # Rather than go through every add_ecm class to add 'the primary_heating_fuel' argument I added this statement to
62
- # only include it when it is used (for now in the add_ecm_remove_airloops_add_zone_baseboards method).
63
- if ecm_add_method_name == 'add_ecm_remove_airloops_add_zone_baseboards'
64
- ecm_std.send(ecm_add_method_name,
65
- model: model,
66
- system_zones_map: map_system_to_zones,
67
- system_doas_flags: system_doas_flags,
68
- zone_clg_eqpt_type: zone_clg_eqpt_type,
69
- standard: template_standard,
70
- primary_heating_fuel: primary_heating_fuel)
71
- else
72
- ecm_std.send(ecm_add_method_name,
73
- model: model,
74
- system_zones_map: map_system_to_zones,
75
- system_doas_flags: system_doas_flags)
76
- end
77
- # ecm_std.add_ecm_hs09_ccashpsys(model:model,system_zones_map:,system_doas_flags:,zone_clg_eqpt_type: nil,standard:,baseboard_flag: true)
61
+ ecm_std.send(ecm_add_method_name,
62
+ model: model,
63
+ system_zones_map: map_system_to_zones,
64
+ system_doas_flags: system_doas_flags,
65
+ ecm_system_zones_map_option: ecm_system_zones_map_option,
66
+ standard: template_standard,
67
+ heating_fuel: primary_heating_fuel)
78
68
  end
79
69
 
80
70
  def apply_system_efficiencies_ecm(model:, ecm_system_name: nil)