openstudio-standards 0.8.4 → 0.8.5.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 (289) hide show
  1. checksums.yaml +4 -4
  2. data/data/geometry/ASHRAECollege.osm +30 -30
  3. data/data/geometry/ASHRAECourthouse.osm +22 -22
  4. data/data/geometry/ASHRAESmallOfficeDetailed.osm +2 -2
  5. data/data/geometry/DEER_Asm.osm +1 -1
  6. data/data/geometry/DEER_ECC.osm +1 -1
  7. data/data/geometry/DEER_EPr.osm +1 -1
  8. data/data/geometry/DEER_ERC.osm +1 -1
  9. data/data/geometry/DEER_ESe.osm +1 -1
  10. data/data/geometry/DEER_EUn.osm +1 -1
  11. data/data/geometry/DEER_Hsp.osm +1 -1
  12. data/data/geometry/DEER_Htl.osm +1 -1
  13. data/data/geometry/DEER_MBT.osm +1 -1
  14. data/data/geometry/DEER_MFm.osm +1 -1
  15. data/data/geometry/DEER_Nrs.osm +1 -1
  16. data/data/geometry/DEER_OfL.osm +1 -1
  17. data/data/geometry/DEER_OfS.osm +1 -1
  18. data/data/geometry/DEER_RFF.osm +1 -1
  19. data/data/geometry/DEER_RSD.osm +1 -1
  20. data/data/geometry/DEER_Rt3.osm +1 -1
  21. data/data/geometry/DEER_RtS.osm +1 -1
  22. data/data/standards/export_OpenStudio_libraries.rb +2 -3
  23. data/data/standards/test_performance_expected_dd_results.csv +42 -42
  24. data/lib/openstudio-standards/btap/NECB_building_types.csv +35 -0
  25. data/lib/openstudio-standards/btap/NECB_space_types.csv +109 -0
  26. data/lib/openstudio-standards/btap/activity.rb +480 -0
  27. data/lib/openstudio-standards/btap/attributes.rb +166 -0
  28. data/lib/openstudio-standards/btap/bridging.rb +561 -1402
  29. data/lib/openstudio-standards/btap/btap.rb +4 -2
  30. data/lib/openstudio-standards/btap/btap_test_helper.rb +86 -0
  31. data/lib/openstudio-standards/btap/carbon/btap_carbon.rb +177 -0
  32. data/lib/openstudio-standards/btap/{costing/common_paths.rb → common_paths.rb} +14 -11
  33. data/lib/openstudio-standards/btap/common_resources/carbon_frame.csv +35 -0
  34. data/lib/openstudio-standards/btap/common_resources/carbon_glazing.csv +35 -0
  35. data/lib/openstudio-standards/btap/common_resources/carbon_opaque.csv +164 -0
  36. data/lib/openstudio-standards/btap/common_resources/constructions_glazing.csv +121 -0
  37. data/lib/openstudio-standards/btap/common_resources/costs.csv +1897 -0
  38. data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/lighting.csv +59 -59
  39. data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/materials_hvac.csv +1019 -1032
  40. data/lib/openstudio-standards/btap/costing/btap_costing.rb +3 -7
  41. data/lib/openstudio-standards/btap/costing/costing_database_wrapper.rb +1 -5
  42. data/lib/openstudio-standards/btap/costing/daylighting_sensor_control_costing.rb +5 -4
  43. data/lib/openstudio-standards/btap/costing/dcv_costing.rb +1 -1
  44. data/lib/openstudio-standards/btap/costing/envelope_costing.rb +112 -181
  45. data/lib/openstudio-standards/btap/costing/heating_cooling_costing.rb +4 -4
  46. data/lib/openstudio-standards/btap/costing/led_lighting_costing.rb +2 -1
  47. data/lib/openstudio-standards/btap/costing/lighting_costing.rb +3 -3
  48. data/lib/openstudio-standards/btap/costing/test_list.txt +15 -17
  49. data/lib/openstudio-standards/btap/costing/test_run_all_test_locally.rb +10 -9
  50. data/lib/openstudio-standards/btap/geometry.rb +86 -6
  51. data/lib/openstudio-standards/btap/structure.rb +657 -0
  52. data/lib/openstudio-standards/create_typical/create_typical.rb +17 -33
  53. data/lib/openstudio-standards/create_typical/space_type_ratios.rb +36 -36
  54. data/lib/openstudio-standards/equipment/create_transformer.rb +104 -0
  55. data/lib/openstudio-standards/equipment/create_typical_equipment.rb +117 -0
  56. data/lib/openstudio-standards/equipment/data/electric_equipment_space_types.json +1514 -0
  57. data/lib/openstudio-standards/equipment/data/gas_equipment_space_types.json +227 -0
  58. data/lib/openstudio-standards/exterior_lighting/create.rb +22 -22
  59. data/lib/openstudio-standards/exterior_lighting/information.rb +3 -2
  60. data/lib/openstudio-standards/hvac/components/air_conditioner_vrf.rb +482 -0
  61. data/lib/openstudio-standards/hvac/components/air_terminal.rb +31 -0
  62. data/lib/openstudio-standards/hvac/components/boiler_hot_water.rb +163 -0
  63. data/lib/openstudio-standards/hvac/components/central_air_source_heat_pump.rb +220 -0
  64. data/lib/openstudio-standards/hvac/components/chiller.rb +25 -0
  65. data/lib/openstudio-standards/hvac/components/coil.rb +276 -0
  66. data/lib/openstudio-standards/hvac/components/coil_cooling_dx_multi_speed.rb +40 -0
  67. data/lib/openstudio-standards/hvac/components/coil_cooling_dx_single_speed.rb +300 -0
  68. data/lib/openstudio-standards/hvac/components/coil_cooling_dx_two_speed.rb +187 -0
  69. data/lib/openstudio-standards/hvac/components/coil_cooling_water.rb +80 -0
  70. data/lib/openstudio-standards/hvac/components/coil_cooling_water_to_air_heat_pump_equation_fit.rb +182 -0
  71. data/lib/openstudio-standards/hvac/components/coil_heating_dx_single_speed.rb +220 -0
  72. data/lib/openstudio-standards/hvac/components/coil_heating_electric.rb +56 -0
  73. data/lib/openstudio-standards/hvac/components/coil_heating_gas.rb +90 -0
  74. data/lib/openstudio-standards/hvac/components/coil_heating_gas_multi_stage.rb +33 -0
  75. data/lib/openstudio-standards/hvac/components/coil_heating_water.rb +98 -0
  76. data/lib/openstudio-standards/hvac/components/coil_heating_water_to_air_heat_pump_equation_fit.rb +147 -0
  77. data/lib/openstudio-standards/hvac/components/component.rb +39 -0
  78. data/lib/openstudio-standards/{standards/ashrae_90_1/data/ashrae_90_1.fans.json → hvac/components/data/fans.json} +6 -6
  79. data/lib/openstudio-standards/hvac/components/fan.rb +363 -0
  80. data/lib/openstudio-standards/hvac/components/heat_exchanger_air_to_air.rb +203 -0
  81. data/lib/openstudio-standards/hvac/components/pump.rb +181 -0
  82. data/lib/openstudio-standards/hvac/controls/radiant_system_controls.rb +594 -0
  83. data/lib/openstudio-standards/hvac/conversions.rb +222 -0
  84. data/lib/openstudio-standards/hvac/curves.rb +192 -0
  85. data/lib/openstudio-standards/hvac/helpers.rb +357 -0
  86. data/lib/openstudio-standards/hvac/setpoint_managers/information.rb +4 -4
  87. data/lib/openstudio-standards/interior_lighting/create_lights.rb +52 -0
  88. data/lib/openstudio-standards/interior_lighting/create_typical_interior_lighting.rb +254 -0
  89. data/lib/openstudio-standards/interior_lighting/data/convert_lighting_data.rb +249 -0
  90. data/lib/openstudio-standards/interior_lighting/data/lighting_space_types.csv +96 -0
  91. data/lib/openstudio-standards/interior_lighting/data/lighting_space_types.json +1429 -0
  92. data/lib/openstudio-standards/interior_lighting/data/lighting_technology.csv +46 -0
  93. data/lib/openstudio-standards/interior_lighting/data/lighting_technology.json +859 -0
  94. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +1 -1
  95. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +1 -1
  96. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +1 -1
  97. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.rb +4 -4
  98. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +1 -1
  99. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.rb +4 -4
  100. data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +1 -1
  101. data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +1 -1
  102. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.HighRiseApartment.rb +6 -7
  103. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Hospital.rb +15 -15
  104. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeHotel.rb +4 -4
  105. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOffice.rb +5 -5
  106. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOffice.rb +6 -6
  107. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Outpatient.rb +7 -7
  108. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.PrimarySchool.rb +4 -4
  109. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SecondarySchool.rb +6 -6
  110. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOfficeDetailed.rb +5 -1
  111. data/lib/openstudio-standards/prototypes/common/data/prototype_space_type_map.json +2594 -0
  112. data/lib/openstudio-standards/prototypes/common/data/thermostat_schedule_lookup.json +2108 -0
  113. data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirTerminalSingleDuctVAVReheat.rb +33 -0
  114. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Fan.rb +0 -140
  115. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanConstantVolume.rb +1 -73
  116. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanOnOff.rb +1 -69
  117. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanVariableVolume.rb +0 -116
  118. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanZoneExhaust.rb +0 -61
  119. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.hvac.rb +2 -2
  120. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +128 -13
  121. data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +606 -607
  122. data/lib/openstudio-standards/prototypes/common/prototype_space_type_map.rb +41 -0
  123. data/lib/openstudio-standards/prototypes/common/space_type_equipment_map.rb +184 -0
  124. data/lib/openstudio-standards/prototypes/common/space_type_thermostat_schedule_map.rb +116 -0
  125. data/lib/openstudio-standards/qaqc/hvac.rb +12 -12
  126. data/lib/openstudio-standards/refrigeration/create_compressor.rb +2 -5
  127. data/lib/openstudio-standards/refrigeration/data/refrigeration_compressors.csv +4 -4
  128. data/lib/openstudio-standards/service_water_heating/create_water_heater.rb +1 -2
  129. data/lib/openstudio-standards/service_water_heating/create_water_use.rb +5 -5
  130. data/lib/openstudio-standards/space_type/data/level_1_space_types.json +612 -0
  131. data/lib/openstudio-standards/space_type/standards_space_type.rb +53 -0
  132. data/lib/openstudio-standards/standards/Standards.AirConditionerVariableRefrigerantFlow.rb +8 -26
  133. data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +13 -13
  134. data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb +0 -24
  135. data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +6 -43
  136. data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +7 -24
  137. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +19 -44
  138. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +25 -50
  139. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +25 -33
  140. data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +9 -22
  141. data/lib/openstudio-standards/standards/Standards.CoilDX.rb +15 -157
  142. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +2 -2
  143. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb +18 -105
  144. data/lib/openstudio-standards/standards/Standards.CoilHeatingGas.rb +3 -23
  145. data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +0 -24
  146. data/lib/openstudio-standards/standards/Standards.CoilHeatingWaterToAirHeatPumpEquationFit.rb +2 -86
  147. data/lib/openstudio-standards/standards/Standards.FanVariableVolume.rb +0 -107
  148. data/lib/openstudio-standards/standards/Standards.Model.rb +6 -11
  149. data/lib/openstudio-standards/standards/Standards.People.rb +113 -0
  150. data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +11 -11
  151. data/lib/openstudio-standards/standards/Standards.Pump.rb +2 -147
  152. data/lib/openstudio-standards/standards/Standards.PumpVariableSpeed.rb +57 -41
  153. data/lib/openstudio-standards/standards/Standards.SpaceType.rb +30 -153
  154. data/lib/openstudio-standards/standards/Standards.Ventilation.rb +74 -0
  155. data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +1 -1
  156. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PlantLoop.rb +4 -4
  157. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps_heating.json +3 -3
  158. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +37 -112
  159. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/comstock_ashrae_90_1_2007.spc_typ.json +37 -102
  160. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps_heating.json +3 -3
  161. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +37 -112
  162. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +1 -1
  163. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/comstock_ashrae_90_1_2010.spc_typ.json +37 -37
  164. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps_heating.json +6 -6
  165. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +37 -37
  166. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +1 -1
  167. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.BoilerHotWater.rb +1 -1
  168. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/data/comstock_ashrae_90_1_2013.spc_typ.json +37 -102
  169. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps_heating.json +6 -6
  170. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +37 -37
  171. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +1 -1
  172. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.BoilerHotWater.rb +1 -1
  173. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/data/comstock_ashrae_90_1_2016.spc_typ.json +45 -109
  174. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_pumps_heating.json +6 -6
  175. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.spc_typ.json +37 -37
  176. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +1 -1
  177. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +1 -1
  178. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.BoilerHotWater.rb +1 -1
  179. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoilHeatingGas.rb +1 -1
  180. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/data/comstock_ashrae_90_1_2019.spc_typ.json +45 -109
  181. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_pumps_heating.json +6 -6
  182. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.spc_typ.json +37 -37
  183. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.curves.json +0 -200
  184. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/comstock_doe_ref_1980_2004.spc_typ.json +37 -37
  185. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.spc_typ.json +37 -37
  186. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/data/comstock_doe_ref_pre_1980.spc_typ.json +37 -37
  187. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.spc_typ.json +37 -37
  188. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +1 -1
  189. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.PlantLoop.rb +5 -5
  190. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +1 -1
  191. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.PlantLoop.rb +5 -5
  192. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.AirLoopHVAC.rb +1 -1
  193. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.ChillerElectricEIR.rb +2 -2
  194. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXSingleSpeed.rb +2 -68
  195. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXTwoSpeed.rb +2 -35
  196. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilDX.rb +42 -0
  197. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingDXSingleSpeed.rb +5 -2
  198. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingGas.rb +2 -2
  199. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.PlantLoop.rb +3 -3
  200. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.SpaceType.rb +1 -1
  201. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019.Model.rb +1 -0
  202. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019_WaterHeaterMixed.rb +2 -4
  203. data/lib/openstudio-standards/standards/ashrae_90_1_prm/data/ashrae_90_1_prm.curves.json +0 -200
  204. data/lib/openstudio-standards/standards/ashrae_90_1_prm/data/ashrae_90_1_prm.fans.json +5 -5
  205. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/ashrae_90_1_prm.UserData.rb +1 -0
  206. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_enums.rb +0 -1
  207. data/lib/openstudio-standards/standards/cbes/data/cbes.curves.json +0 -200
  208. data/lib/openstudio-standards/standards/deer/data/deer.curves.json +0 -200
  209. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/btap_pre1980.rb +19 -10
  210. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/building_envelope.rb +12 -11
  211. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_systems.rb +4 -4
  212. data/lib/openstudio-standards/standards/necb/ECMS/ecms.rb +1 -1
  213. data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +69 -92
  214. data/lib/openstudio-standards/standards/necb/NECB2011/autozone.rb +2 -1
  215. data/lib/openstudio-standards/standards/necb/NECB2011/beps_compliance_path.rb +16 -12
  216. data/lib/openstudio-standards/standards/necb/NECB2011/building_envelope.rb +799 -46
  217. data/lib/openstudio-standards/standards/necb/NECB2011/data/chillers.json +33 -51
  218. data/lib/openstudio-standards/standards/necb/NECB2011/data/constants.json +32 -0
  219. data/lib/openstudio-standards/standards/necb/NECB2011/data/fuel_type_sets.json +18 -0
  220. data/lib/openstudio-standards/standards/necb/NECB2011/data/heat_pumps_heating.json +21 -15
  221. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_namer.rb +5 -5
  222. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_single_speed.rb +2 -0
  223. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +30 -141
  224. data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +233 -112
  225. data/lib/openstudio-standards/standards/necb/NECB2015/data/heat_pumps_heating.json +10 -2
  226. data/lib/openstudio-standards/standards/necb/NECB2015/hvac_systems.rb +2 -2
  227. data/lib/openstudio-standards/standards/necb/NECB2020/data/heat_pumps_heating.json +16 -6
  228. data/lib/openstudio-standards/standards/necb/NECB2020/data/unitary_acs.json +60 -61
  229. data/lib/openstudio-standards/standards/necb/NECB2020/service_water_heating.rb +30 -30
  230. data/lib/openstudio-standards/standards/necb/common/btap_analysis.rb +79 -0
  231. data/lib/openstudio-standards/standards/necb/common/btap_data.rb +16 -4
  232. data/lib/openstudio-standards/standards/necb/common/btap_datapoint.rb +65 -42
  233. data/lib/openstudio-standards/thermal_zone/{thermal_zone.rb → information.rb} +12 -45
  234. data/lib/openstudio-standards/thermal_zone/thermostat_schedules.rb +152 -0
  235. data/lib/openstudio-standards/version.rb +1 -1
  236. data/lib/openstudio-standards/weather/stat_file.rb +2 -2
  237. data/lib/openstudio-standards.rb +55 -38
  238. metadata +106 -66
  239. data/lib/openstudio-standards/btap/costing/common_resources/constructions_glazing.csv +0 -61
  240. data/lib/openstudio-standards/btap/costing/common_resources/costs.csv +0 -1904
  241. data/lib/openstudio-standards/hvac/components/create.rb +0 -169
  242. data/lib/openstudio-standards/hvac/components/modify.rb +0 -42
  243. data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirConditionerVariableRefrigerantFlow.rb +0 -438
  244. data/lib/openstudio-standards/prototypes/common/objects/Prototype.BoilerHotWater.rb +0 -123
  245. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CentralAirSourceHeatPump.rb +0 -216
  246. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXSingleSpeed.rb +0 -273
  247. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXTwoSpeed.rb +0 -159
  248. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWater.rb +0 -77
  249. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWaterToAirHeatPumpEquationFit.rb +0 -154
  250. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingDXSingleSpeed.rb +0 -214
  251. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingElectric.rb +0 -53
  252. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingGas.rb +0 -72
  253. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWater.rb +0 -95
  254. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWaterToAirHeatPumpEquationFit.rb +0 -125
  255. data/lib/openstudio-standards/prototypes/common/objects/Prototype.ControllerWaterCoil.rb +0 -17
  256. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.transformers.rb +0 -90
  257. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Pump.rb +0 -4
  258. data/lib/openstudio-standards/prototypes/common/objects/Prototype.PumpVariableSpeed.rb +0 -70
  259. data/lib/openstudio-standards/prototypes/common/objects/Prototype.radiant_system_controls.rb +0 -590
  260. data/lib/openstudio-standards/prototypes/common/objects/Prototype.utilities.rb +0 -901
  261. data/lib/openstudio-standards/standards/Standards.FanConstantVolume.rb +0 -5
  262. data/lib/openstudio-standards/standards/Standards.FanOnOff.rb +0 -5
  263. data/lib/openstudio-standards/standards/Standards.FanZoneExhaust.rb +0 -5
  264. data/lib/openstudio-standards/standards/Standards.HeaderedPumpsConstantSpeed.rb +0 -5
  265. data/lib/openstudio-standards/standards/Standards.HeaderedPumpsVariableSpeed.rb +0 -55
  266. data/lib/openstudio-standards/standards/Standards.PumpConstantSpeed.rb +0 -5
  267. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanConstantVolume.rb +0 -5
  268. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanOnOff.rb +0 -5
  269. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanZoneExhaust.rb +0 -5
  270. data/lib/openstudio-standards/standards/cbes/data/cbes.fans.json +0 -328
  271. data/lib/openstudio-standards/standards/deer/data/deer.fans.json +0 -328
  272. /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/ConstructionProperties.csv +0 -0
  273. /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/Constructions.csv +0 -0
  274. /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/construction_sets.csv +0 -0
  275. /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/constructions_opaque.csv +0 -0
  276. /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/costs_local_factors.csv +0 -0
  277. /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/hvac_vent_ahu.csv +0 -0
  278. /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/lighting_sets.csv +0 -0
  279. /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/locations.csv +0 -0
  280. /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/materials_glazing.csv +0 -0
  281. /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/materials_lighting.csv +0 -0
  282. /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/materials_opaque.csv +0 -0
  283. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PumpVariableSpeed.rb +0 -0
  284. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.PumpVariableSpeed.rb +0 -0
  285. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.PumpVariableSpeed.rb +0 -0
  286. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.PumpVariableSpeed.rb +0 -0
  287. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.PumpVariableSpeed.rb +0 -0
  288. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Pump.rb +0 -0
  289. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.PumpVariableSpeed.rb +0 -0
@@ -0,0 +1,98 @@
1
+ module OpenstudioStandards
2
+ # The HVAC module provides methods create, modify, and get information about HVAC systems in the model
3
+ module HVAC
4
+ # @!group Component:Coil
5
+ # Methods to create, modify, and get information about HVAC coil objects
6
+
7
+ # Create CoilHeatingWater object
8
+ #
9
+ # @param model [OpenStudio::Model::Model] OpenStudio model object
10
+ # @param hot_water_loop [<OpenStudio::Model::PlantLoop>] the coil will be placed on the demand side of this plant loop
11
+ # @param air_loop_node [<OpenStudio::Model::Node>] the coil will be placed on this node of the air loop
12
+ # @param name [String] the name of the coil, or nil in which case it will be defaulted
13
+ # @param schedule [String] name of the availability schedule, or [<OpenStudio::Model::Schedule>] Schedule object, or nil in which case default to always on
14
+ # @param rated_inlet_water_temperature [Double] rated inlet water temperature in degrees Celsius, default is hot water loop design exit temperature
15
+ # @param rated_outlet_water_temperature [Double] rated outlet water temperature in degrees Celsius, default is hot water loop design return temperature
16
+ # @param rated_inlet_air_temperature [Double] rated inlet air temperature in degrees Celsius, default is 16.6 (62F)
17
+ # @param rated_outlet_air_temperature [Double] rated outlet air temperature in degrees Celsius, default is 32.2 (90F)
18
+ # @param controller_convergence_tolerance [Double] controller convergence tolerance
19
+ # @return [OpenStudio::Model::CoilHeatingWater] the heating coil
20
+ def self.create_coil_heating_water(model,
21
+ hot_water_loop,
22
+ air_loop_node: nil,
23
+ name: 'Htg Coil',
24
+ schedule: nil,
25
+ rated_inlet_water_temperature: nil,
26
+ rated_outlet_water_temperature: nil,
27
+ rated_inlet_air_temperature: 16.6,
28
+ rated_outlet_air_temperature: 32.2,
29
+ controller_convergence_tolerance: 0.1)
30
+ htg_coil = OpenStudio::Model::CoilHeatingWater.new(model)
31
+
32
+ # add to hot water loop
33
+ hot_water_loop.addDemandBranchForComponent(htg_coil)
34
+
35
+ # add to air loop if specified
36
+ htg_coil.addToNode(air_loop_node) unless air_loop_node.nil?
37
+
38
+ # set coil name
39
+ if name.nil?
40
+ htg_coil.setName('Htg Coil')
41
+ else
42
+ htg_coil.setName(name)
43
+ end
44
+
45
+ # set coil availability schedule
46
+ if schedule.nil?
47
+ # default always on
48
+ coil_availability_schedule = model.alwaysOnDiscreteSchedule
49
+ elsif schedule.instance_of?(String)
50
+ coil_availability_schedule = model_add_schedule(model, schedule)
51
+
52
+ if coil_availability_schedule.nil? && schedule == 'alwaysOffDiscreteSchedule'
53
+ coil_availability_schedule = model.alwaysOffDiscreteSchedule
54
+ elsif coil_availability_schedule.nil?
55
+ coil_availability_schedule = model.alwaysOnDiscreteSchedule
56
+ end
57
+ elsif !schedule.to_Schedule.empty?
58
+ coil_availability_schedule = schedule
59
+ end
60
+ htg_coil.setAvailabilitySchedule(coil_availability_schedule)
61
+
62
+ # rated water temperatures, use hot water loop temperatures if defined
63
+ if rated_inlet_water_temperature.nil?
64
+ rated_inlet_water_temperature = hot_water_loop.sizingPlant.designLoopExitTemperature
65
+ htg_coil.setRatedInletWaterTemperature(rated_inlet_water_temperature)
66
+ else
67
+ htg_coil.setRatedInletWaterTemperature(rated_inlet_water_temperature)
68
+ end
69
+ if rated_outlet_water_temperature.nil?
70
+ rated_outlet_water_temperature = rated_inlet_water_temperature - hot_water_loop.sizingPlant.loopDesignTemperatureDifference
71
+ htg_coil.setRatedOutletWaterTemperature(rated_outlet_water_temperature)
72
+ else
73
+ htg_coil.setRatedOutletWaterTemperature(rated_outlet_water_temperature)
74
+ end
75
+
76
+ # rated air temperatures
77
+ if rated_inlet_air_temperature.nil?
78
+ htg_coil.setRatedInletAirTemperature(16.6)
79
+ else
80
+ htg_coil.setRatedInletAirTemperature(rated_inlet_air_temperature)
81
+ end
82
+ if rated_outlet_air_temperature.nil?
83
+ htg_coil.setRatedOutletAirTemperature(32.2)
84
+ else
85
+ htg_coil.setRatedOutletAirTemperature(rated_outlet_air_temperature)
86
+ end
87
+
88
+ # coil controller properties
89
+ # @note These inputs will get overwritten if addToNode or addDemandBranchForComponent is called on the htg_coil object after this
90
+ htg_coil_controller = htg_coil.controllerWaterCoil.get
91
+ htg_coil_controller.setName("#{htg_coil.name} Controller")
92
+ htg_coil_controller.setMinimumActuatedFlow(0.0)
93
+ htg_coil_controller.setControllerConvergenceTolerance(controller_convergence_tolerance) unless controller_convergence_tolerance.nil?
94
+
95
+ return htg_coil
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,147 @@
1
+ module OpenstudioStandards
2
+ # The HVAC module provides methods create, modify, and get information about HVAC systems in the model
3
+ module HVAC
4
+ # @!group Component:Coil
5
+ # Methods to create, modify, and get information about HVAC coil objects
6
+
7
+ # Create CoilHeatingWaterToAirHeatPumpEquationFit object
8
+ # Enters in default curves for coil by type of coil
9
+ #
10
+ # @param model [OpenStudio::Model::Model] OpenStudio model object
11
+ # @param plant_loop [<OpenStudio::Model::PlantLoop>] the coil will be placed on the demand side of this plant loop
12
+ # @param air_loop_node [<OpenStudio::Model::Node>] the coil will be placed on this node of the air loop
13
+ # @param name [String] the name of the system, or nil in which case it will be defaulted
14
+ # @param type [String] the type of coil to reference the correct curve set
15
+ # @param cop [Double] rated heating coefficient of performance
16
+ # @return [OpenStudio::Model::CoilHeatingWaterToAirHeatPumpEquationFit] the heating coil
17
+ def self.create_coil_heating_water_to_air_heat_pump_equation_fit(model,
18
+ plant_loop,
19
+ air_loop_node: nil,
20
+ name: 'Water-to-Air HP Htg Coil',
21
+ type: nil,
22
+ cop: 4.2)
23
+ htg_coil = OpenStudio::Model::CoilHeatingWaterToAirHeatPumpEquationFit.new(model)
24
+
25
+ # add to air loop if specified
26
+ htg_coil.addToNode(air_loop_node) unless air_loop_node.nil?
27
+
28
+ # set coil name
29
+ htg_coil.setName(name)
30
+
31
+ # add to plant loop
32
+ if plant_loop.nil?
33
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.HVAC', 'No plant loop supplied for heating coil')
34
+ return false
35
+ end
36
+ plant_loop.addDemandBranchForComponent(htg_coil)
37
+
38
+ # set coil cop
39
+ if cop.nil?
40
+ htg_coil.setRatedHeatingCoefficientofPerformance(4.2)
41
+ else
42
+ htg_coil.setRatedHeatingCoefficientofPerformance(cop)
43
+ end
44
+
45
+ # curve sets
46
+ if type == 'OS default'
47
+ # use OS default curves
48
+ else # default curve set
49
+ if model.version < OpenStudio::VersionString.new('3.2.0')
50
+ htg_coil.setHeatingCapacityCoefficient1(0.237847462869254)
51
+ htg_coil.setHeatingCapacityCoefficient2(-3.35823796081626)
52
+ htg_coil.setHeatingCapacityCoefficient3(3.80640467406376)
53
+ htg_coil.setHeatingCapacityCoefficient4(0.179200417311554)
54
+ htg_coil.setHeatingCapacityCoefficient5(0.12860719846082)
55
+ htg_coil.setHeatingPowerConsumptionCoefficient1(-3.79175529243238)
56
+ htg_coil.setHeatingPowerConsumptionCoefficient2(3.38799239505527)
57
+ htg_coil.setHeatingPowerConsumptionCoefficient3(1.5022612076303)
58
+ htg_coil.setHeatingPowerConsumptionCoefficient4(-0.177653510577989)
59
+ htg_coil.setHeatingPowerConsumptionCoefficient5(-0.103079864171839)
60
+ else
61
+ if model.getCurveByName('Water to Air Heat Pump Heating Capacity Curve').is_initialized
62
+ heating_capacity_curve = model.getCurveByName('Water to Air Heat Pump Heating Capacity Curve').get
63
+ heating_capacity_curve = heating_capacity_curve.to_CurveQuadLinear.get
64
+ else
65
+ heating_capacity_curve = OpenStudio::Model::CurveQuadLinear.new(model)
66
+ heating_capacity_curve.setName('Water to Air Heat Pump Heating Capacity Curve')
67
+ heating_capacity_curve.setCoefficient1Constant(0.237847462869254)
68
+ heating_capacity_curve.setCoefficient2w(-3.35823796081626)
69
+ heating_capacity_curve.setCoefficient3x(3.80640467406376)
70
+ heating_capacity_curve.setCoefficient4y(0.179200417311554)
71
+ heating_capacity_curve.setCoefficient5z(0.12860719846082)
72
+ heating_capacity_curve.setMinimumValueofw(-100)
73
+ heating_capacity_curve.setMaximumValueofw(100)
74
+ heating_capacity_curve.setMinimumValueofx(-100)
75
+ heating_capacity_curve.setMaximumValueofx(100)
76
+ heating_capacity_curve.setMinimumValueofy(0)
77
+ heating_capacity_curve.setMaximumValueofy(100)
78
+ heating_capacity_curve.setMinimumValueofz(0)
79
+ heating_capacity_curve.setMaximumValueofz(100)
80
+ end
81
+ htg_coil.setHeatingCapacityCurve(heating_capacity_curve)
82
+
83
+ if model.getCurveByName('Water to Air Heat Pump Heating Power Consumption Curve').is_initialized
84
+ heating_power_consumption_curve = model.getCurveByName('Water to Air Heat Pump Heating Power Consumption Curve').get
85
+ heating_power_consumption_curve = heating_power_consumption_curve.to_CurveQuadLinear.get
86
+ else
87
+ heating_power_consumption_curve = OpenStudio::Model::CurveQuadLinear.new(model)
88
+ heating_power_consumption_curve.setName('Water to Air Heat Pump Heating Power Consumption Curve')
89
+ heating_power_consumption_curve.setCoefficient1Constant(-3.79175529243238)
90
+ heating_power_consumption_curve.setCoefficient2w(3.38799239505527)
91
+ heating_power_consumption_curve.setCoefficient3x(1.5022612076303)
92
+ heating_power_consumption_curve.setCoefficient4y(-0.177653510577989)
93
+ heating_power_consumption_curve.setCoefficient5z(-0.103079864171839)
94
+ heating_power_consumption_curve.setMinimumValueofw(-100)
95
+ heating_power_consumption_curve.setMaximumValueofw(100)
96
+ heating_power_consumption_curve.setMinimumValueofx(-100)
97
+ heating_power_consumption_curve.setMaximumValueofx(100)
98
+ heating_power_consumption_curve.setMinimumValueofy(0)
99
+ heating_power_consumption_curve.setMaximumValueofy(100)
100
+ heating_power_consumption_curve.setMinimumValueofz(0)
101
+ heating_power_consumption_curve.setMaximumValueofz(100)
102
+ end
103
+ htg_coil.setHeatingPowerConsumptionCurve(heating_power_consumption_curve)
104
+ end
105
+
106
+ # part load fraction correlation curve added as a required curve in OS v3.7.0
107
+ if model.version > OpenStudio::VersionString.new('3.6.1')
108
+ if model.getCurveByName('Water to Air Heat Pump Part Load Fraction Correlation Curve').is_initialized
109
+ part_load_correlation_curve = model.getCurveByName('Water to Air Heat Pump Part Load Fraction Correlation Curve').get
110
+ part_load_correlation_curve = part_load_correlation_curve.to_CurveLinear.get
111
+ else
112
+ part_load_correlation_curve = OpenStudio::Model::CurveLinear.new(model)
113
+ part_load_correlation_curve.setName('Water to Air Heat Pump Part Load Fraction Correlation Curve')
114
+ part_load_correlation_curve.setCoefficient1Constant(0.833746458696111)
115
+ part_load_correlation_curve.setCoefficient2x(0.166253541303889)
116
+ part_load_correlation_curve.setMinimumValueofx(0)
117
+ part_load_correlation_curve.setMaximumValueofx(1)
118
+ part_load_correlation_curve.setMinimumCurveOutput(0)
119
+ part_load_correlation_curve.setMaximumCurveOutput(1)
120
+ end
121
+ htg_coil.setPartLoadFractionCorrelationCurve(part_load_correlation_curve)
122
+ end
123
+ end
124
+
125
+ return htg_coil
126
+ end
127
+
128
+ # Return the capacity in W of a CoilHeatingWaterToAirHeatPumpEquationFit
129
+ #
130
+ # @param coil_heating_water_to_air_heat_pump [OpenStudio::Model::CoilHeatingWaterToAirHeatPumpEquationFit] coil coheating water to air heat pump object
131
+ # @param multiplier [Double] zone multiplier, if applicable
132
+ # @return [Double] capacity in W
133
+ def self.coil_heating_water_to_air_heat_pump_equation_fit_get_capacity(coil_heating_water_to_air_heat_pump, multiplier: 1.0)
134
+ capacity_w = nil
135
+ if coil_heating_water_to_air_heat_pump.ratedHeatingCapacity.is_initialized
136
+ capacity_w = coil_heating_water_to_air_heat_pump.ratedHeatingCapacity.get
137
+ elsif coil_heating_water_to_air_heat_pump.autosizedRatedHeatingCapacity.is_initialized
138
+ capacity_w = coil_heating_water_to_air_heat_pump.autosizedRatedHeatingCapacity.get
139
+ else
140
+ OpenStudio.logFree(OpenStudio::Warn, 'openstudio.standards.HVAC.coil_heating_water_to_air_heat_pump_equation_fit', "For #{coil_heating_water_to_air_heat_pump.name} capacity is not available.")
141
+ return capacity_w
142
+ end
143
+
144
+ return capacity_w
145
+ end
146
+ end
147
+ end
@@ -0,0 +1,39 @@
1
+ module OpenstudioStandards
2
+ # The HVAC module provides methods create, modify, and get information about HVAC systems in the model
3
+ module HVAC
4
+ # @!group Component
5
+ # Methods to create, modify, and get information about HVAC components
6
+
7
+ # Returns the thermal zone associated with an HVAC component
8
+ #
9
+ # @param hvac_component [OpenStudio::Model::HVACComponent] HVAC component object
10
+ # @return [OpenStudio::Model::ThermalZone] thermal zone object
11
+ def self.hvac_component_get_thermal_zone(hvac_component)
12
+ if hvac_component.to_ZoneHVACComponent.is_initialized
13
+ hvac_component = hvac_component.to_ZoneHVACComponent.get
14
+ if hvac_component.thermalZone.is_initialized
15
+ return hvac_component.thermalZone.get
16
+ end
17
+ end
18
+
19
+ if hvac_component.containingHVACComponent.is_initialized
20
+ hvac_component = hvac_component.containingHVACComponent.get
21
+ if hvac_component.to_AirLoopHVACUnitarySystem.is_initialized
22
+ unitary = hvac_component.to_AirLoopHVACUnitarySystem.get
23
+ if unitary.controllingZoneorThermostatLocation.is_initialized
24
+ return unitary.controllingZoneorThermostatLocation.get
25
+ end
26
+ end
27
+ end
28
+
29
+ if hvac_component.containingZoneHVACComponent.is_initialized
30
+ hvac_component = hvac_component.containingZoneHVACComponent.get
31
+ if hvac_component.thermalZone.is_initialized
32
+ return hvac_component.thermalZone.get
33
+ end
34
+ end
35
+
36
+ return nil
37
+ end
38
+ end
39
+ end
@@ -33,7 +33,7 @@
33
33
  "motor_in_airstream_fraction": 1.0,
34
34
  "fan_power_minimum_flow_rate_fraction": 0.25,
35
35
  "fan_power_minimum_flow_rate_input_method": "Fraction",
36
- "fan_curve": "Single zone VAV fan",
36
+ "fan_curve": "Single Zone VAV",
37
37
  "notes": null
38
38
  },
39
39
  {
@@ -153,7 +153,7 @@
153
153
  "motor_in_airstream_fraction": 1.0,
154
154
  "fan_power_minimum_flow_rate_fraction": 0.25,
155
155
  "fan_power_minimum_flow_rate_input_method": "Fraction",
156
- "fan_curve": "Single zone VAV fan",
156
+ "fan_curve": "Single Zone VAV",
157
157
  "notes": null
158
158
  },
159
159
  {
@@ -255,7 +255,7 @@
255
255
  {
256
256
  "name": "Unit_Heater_Fan",
257
257
  "type": "ConstantVolume",
258
- "pressure_rise": null,
258
+ "pressure_rise": 0.2,
259
259
  "fan_efficiency": 0.53625,
260
260
  "motor_efficiency": 0.825,
261
261
  "motor_in_airstream_fraction": 1.0,
@@ -273,7 +273,7 @@
273
273
  "motor_in_airstream_fraction": 1.0,
274
274
  "fan_power_minimum_flow_rate_fraction": 0.25,
275
275
  "fan_power_minimum_flow_rate_input_method": "Fraction",
276
- "fan_curve": "Multi zone VAV with static pressure reset",
276
+ "fan_curve": "Multi Zone VAV with Static Pressure Setpoint Reset",
277
277
  "notes": null
278
278
  },
279
279
  {
@@ -285,7 +285,7 @@
285
285
  "motor_in_airstream_fraction": 1.0,
286
286
  "fan_power_minimum_flow_rate_fraction": 0.25,
287
287
  "fan_power_minimum_flow_rate_input_method": "Fraction",
288
- "fan_curve": "Multi zone VAV with static pressure reset",
288
+ "fan_curve": "Multi Zone VAV with Static Pressure Setpoint Reset",
289
289
  "notes": null
290
290
  },
291
291
  {
@@ -309,7 +309,7 @@
309
309
  "motor_in_airstream_fraction": 1.0,
310
310
  "fan_power_minimum_flow_rate_fraction": null,
311
311
  "fan_power_minimum_flow_rate_input_method": null,
312
- "fan_curve": "Multi zone VAV with static pressure reset",
312
+ "fan_curve": "Multi Zone VAV with Static Pressure Setpoint Reset",
313
313
  "notes": null
314
314
  },
315
315
  {