openstudio-standards 0.8.3 → 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 (330) 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/common_paths.rb +81 -0
  33. data/lib/openstudio-standards/btap/common_resources/ConstructionProperties.csv +52 -0
  34. data/lib/openstudio-standards/btap/common_resources/Constructions.csv +37 -0
  35. data/lib/openstudio-standards/btap/common_resources/carbon_frame.csv +35 -0
  36. data/lib/openstudio-standards/btap/common_resources/carbon_glazing.csv +35 -0
  37. data/lib/openstudio-standards/btap/common_resources/carbon_opaque.csv +164 -0
  38. data/lib/openstudio-standards/btap/common_resources/construction_sets.csv +1270 -0
  39. data/lib/openstudio-standards/btap/common_resources/constructions_glazing.csv +121 -0
  40. data/lib/openstudio-standards/btap/common_resources/constructions_opaque.csv +2256 -0
  41. data/lib/openstudio-standards/btap/common_resources/costs.csv +1897 -0
  42. data/lib/openstudio-standards/btap/common_resources/costs_local_factors.csv +2315 -0
  43. data/lib/openstudio-standards/btap/common_resources/hvac_vent_ahu.csv +925 -0
  44. data/lib/openstudio-standards/btap/common_resources/lighting.csv +364 -0
  45. data/lib/openstudio-standards/btap/common_resources/lighting_sets.csv +2667 -0
  46. data/lib/openstudio-standards/btap/common_resources/locations.csv +75 -0
  47. data/lib/openstudio-standards/btap/common_resources/materials_glazing.csv +35 -0
  48. data/lib/openstudio-standards/btap/common_resources/materials_hvac.csv +1686 -0
  49. data/lib/openstudio-standards/btap/common_resources/materials_lighting.csv +267 -0
  50. data/lib/openstudio-standards/btap/common_resources/materials_opaque.csv +164 -0
  51. data/lib/openstudio-standards/btap/costing/README.md +502 -0
  52. data/lib/openstudio-standards/btap/costing/btap_costing.rb +469 -0
  53. data/lib/openstudio-standards/btap/costing/btap_measure_helper.rb +359 -0
  54. data/lib/openstudio-standards/btap/costing/btap_workflow.rb +117 -0
  55. data/lib/openstudio-standards/btap/costing/copy_test_results_files_to_expected_results.rb +11 -0
  56. data/lib/openstudio-standards/btap/costing/cost_building_from_file.rb +136 -0
  57. data/lib/openstudio-standards/btap/costing/costing_database_wrapper.rb +173 -0
  58. data/lib/openstudio-standards/btap/costing/daylighting_sensor_control_costing.rb +354 -0
  59. data/lib/openstudio-standards/btap/costing/dcv_costing.rb +314 -0
  60. data/lib/openstudio-standards/btap/costing/dummy.epw +8768 -0
  61. data/lib/openstudio-standards/btap/costing/dummy.osm +5320 -0
  62. data/lib/openstudio-standards/btap/costing/envelope_costing.rb +215 -0
  63. data/lib/openstudio-standards/btap/costing/heating_cooling_costing.rb +2584 -0
  64. data/lib/openstudio-standards/btap/costing/led_lighting_costing.rb +156 -0
  65. data/lib/openstudio-standards/btap/costing/lighting_costing.rb +209 -0
  66. data/lib/openstudio-standards/btap/costing/mech_sizing.json +502 -0
  67. data/lib/openstudio-standards/btap/costing/neb_end_use_prices.csv +42 -0
  68. data/lib/openstudio-standards/btap/costing/necb_2011_spacetype_info.csv +225 -0
  69. data/lib/openstudio-standards/btap/costing/necb_reference_runs.csv +28705 -0
  70. data/lib/openstudio-standards/btap/costing/nv_costing.rb +547 -0
  71. data/lib/openstudio-standards/btap/costing/parallel_tests.rb +92 -0
  72. data/lib/openstudio-standards/btap/costing/pv_ground_costing.rb +687 -0
  73. data/lib/openstudio-standards/btap/costing/shw_costing.rb +705 -0
  74. data/lib/openstudio-standards/btap/costing/test_list.txt +15 -0
  75. data/lib/openstudio-standards/btap/costing/test_run_all_test_locally.rb +27 -0
  76. data/lib/openstudio-standards/btap/costing/test_run_costing_tests.rb +80 -0
  77. data/lib/openstudio-standards/btap/costing/ventilation_costing.rb +2616 -0
  78. data/lib/openstudio-standards/btap/geometry.rb +86 -6
  79. data/lib/openstudio-standards/btap/structure.rb +657 -0
  80. data/lib/openstudio-standards/constructions/modify.rb +2 -1
  81. data/lib/openstudio-standards/create_typical/create_typical.rb +17 -33
  82. data/lib/openstudio-standards/create_typical/space_type_ratios.rb +36 -36
  83. data/lib/openstudio-standards/equipment/create_transformer.rb +104 -0
  84. data/lib/openstudio-standards/equipment/create_typical_equipment.rb +117 -0
  85. data/lib/openstudio-standards/equipment/data/electric_equipment_space_types.json +1514 -0
  86. data/lib/openstudio-standards/equipment/data/gas_equipment_space_types.json +227 -0
  87. data/lib/openstudio-standards/exterior_lighting/create.rb +22 -22
  88. data/lib/openstudio-standards/exterior_lighting/information.rb +3 -2
  89. data/lib/openstudio-standards/hvac/components/air_conditioner_vrf.rb +482 -0
  90. data/lib/openstudio-standards/hvac/components/air_terminal.rb +31 -0
  91. data/lib/openstudio-standards/hvac/components/boiler_hot_water.rb +163 -0
  92. data/lib/openstudio-standards/hvac/components/central_air_source_heat_pump.rb +220 -0
  93. data/lib/openstudio-standards/hvac/components/chiller.rb +25 -0
  94. data/lib/openstudio-standards/hvac/components/coil.rb +276 -0
  95. data/lib/openstudio-standards/hvac/components/coil_cooling_dx_multi_speed.rb +40 -0
  96. data/lib/openstudio-standards/hvac/components/coil_cooling_dx_single_speed.rb +300 -0
  97. data/lib/openstudio-standards/hvac/components/coil_cooling_dx_two_speed.rb +187 -0
  98. data/lib/openstudio-standards/hvac/components/coil_cooling_water.rb +80 -0
  99. data/lib/openstudio-standards/hvac/components/coil_cooling_water_to_air_heat_pump_equation_fit.rb +182 -0
  100. data/lib/openstudio-standards/hvac/components/coil_heating_dx_single_speed.rb +220 -0
  101. data/lib/openstudio-standards/hvac/components/coil_heating_electric.rb +56 -0
  102. data/lib/openstudio-standards/hvac/components/coil_heating_gas.rb +90 -0
  103. data/lib/openstudio-standards/hvac/components/coil_heating_gas_multi_stage.rb +33 -0
  104. data/lib/openstudio-standards/hvac/components/coil_heating_water.rb +98 -0
  105. data/lib/openstudio-standards/hvac/components/coil_heating_water_to_air_heat_pump_equation_fit.rb +147 -0
  106. data/lib/openstudio-standards/hvac/components/component.rb +39 -0
  107. data/lib/openstudio-standards/{standards/ashrae_90_1/data/ashrae_90_1.fans.json → hvac/components/data/fans.json} +6 -6
  108. data/lib/openstudio-standards/hvac/components/fan.rb +363 -0
  109. data/lib/openstudio-standards/hvac/components/heat_exchanger_air_to_air.rb +203 -0
  110. data/lib/openstudio-standards/hvac/components/pump.rb +181 -0
  111. data/lib/openstudio-standards/hvac/controls/radiant_system_controls.rb +594 -0
  112. data/lib/openstudio-standards/hvac/conversions.rb +222 -0
  113. data/lib/openstudio-standards/hvac/curves.rb +192 -0
  114. data/lib/openstudio-standards/hvac/helpers.rb +357 -0
  115. data/lib/openstudio-standards/hvac/setpoint_managers/information.rb +4 -4
  116. data/lib/openstudio-standards/interior_lighting/create_lights.rb +52 -0
  117. data/lib/openstudio-standards/interior_lighting/create_typical_interior_lighting.rb +254 -0
  118. data/lib/openstudio-standards/interior_lighting/data/convert_lighting_data.rb +249 -0
  119. data/lib/openstudio-standards/interior_lighting/data/lighting_space_types.csv +96 -0
  120. data/lib/openstudio-standards/interior_lighting/data/lighting_space_types.json +1429 -0
  121. data/lib/openstudio-standards/interior_lighting/data/lighting_technology.csv +46 -0
  122. data/lib/openstudio-standards/interior_lighting/data/lighting_technology.json +859 -0
  123. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +1 -1
  124. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +1 -1
  125. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +1 -1
  126. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.rb +4 -4
  127. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +1 -1
  128. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.rb +4 -4
  129. data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +1 -1
  130. data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +1 -1
  131. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.HighRiseApartment.rb +6 -7
  132. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Hospital.rb +15 -15
  133. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeHotel.rb +4 -4
  134. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOffice.rb +5 -5
  135. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOffice.rb +6 -6
  136. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Outpatient.rb +7 -7
  137. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.PrimarySchool.rb +4 -4
  138. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SecondarySchool.rb +6 -6
  139. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOfficeDetailed.rb +5 -1
  140. data/lib/openstudio-standards/prototypes/common/data/prototype_space_type_map.json +2594 -0
  141. data/lib/openstudio-standards/prototypes/common/data/thermostat_schedule_lookup.json +2108 -0
  142. data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirTerminalSingleDuctVAVReheat.rb +33 -0
  143. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Fan.rb +0 -140
  144. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanConstantVolume.rb +1 -73
  145. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanOnOff.rb +1 -69
  146. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanVariableVolume.rb +0 -116
  147. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanZoneExhaust.rb +0 -61
  148. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.hvac.rb +2 -2
  149. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +128 -13
  150. data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +606 -607
  151. data/lib/openstudio-standards/prototypes/common/prototype_space_type_map.rb +41 -0
  152. data/lib/openstudio-standards/prototypes/common/space_type_equipment_map.rb +184 -0
  153. data/lib/openstudio-standards/prototypes/common/space_type_thermostat_schedule_map.rb +116 -0
  154. data/lib/openstudio-standards/qaqc/hvac.rb +12 -12
  155. data/lib/openstudio-standards/refrigeration/create_compressor.rb +2 -5
  156. data/lib/openstudio-standards/refrigeration/data/refrigeration_compressors.csv +4 -4
  157. data/lib/openstudio-standards/service_water_heating/create_water_heater.rb +1 -2
  158. data/lib/openstudio-standards/service_water_heating/create_water_use.rb +5 -5
  159. data/lib/openstudio-standards/space_type/data/level_1_space_types.json +612 -0
  160. data/lib/openstudio-standards/space_type/standards_space_type.rb +53 -0
  161. data/lib/openstudio-standards/standards/Standards.AirConditionerVariableRefrigerantFlow.rb +8 -26
  162. data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +13 -13
  163. data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb +0 -24
  164. data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +6 -43
  165. data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +7 -24
  166. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +19 -44
  167. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +25 -50
  168. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +25 -33
  169. data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +9 -22
  170. data/lib/openstudio-standards/standards/Standards.CoilDX.rb +15 -157
  171. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +2 -2
  172. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb +18 -105
  173. data/lib/openstudio-standards/standards/Standards.CoilHeatingGas.rb +3 -23
  174. data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +0 -24
  175. data/lib/openstudio-standards/standards/Standards.CoilHeatingWaterToAirHeatPumpEquationFit.rb +2 -86
  176. data/lib/openstudio-standards/standards/Standards.FanVariableVolume.rb +0 -107
  177. data/lib/openstudio-standards/standards/Standards.Model.rb +45 -20
  178. data/lib/openstudio-standards/standards/Standards.People.rb +113 -0
  179. data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +11 -11
  180. data/lib/openstudio-standards/standards/Standards.Pump.rb +2 -147
  181. data/lib/openstudio-standards/standards/Standards.PumpVariableSpeed.rb +57 -41
  182. data/lib/openstudio-standards/standards/Standards.SpaceType.rb +30 -153
  183. data/lib/openstudio-standards/standards/Standards.Ventilation.rb +74 -0
  184. data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +1 -1
  185. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PlantLoop.rb +4 -4
  186. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps_heating.json +3 -3
  187. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +37 -112
  188. 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
  189. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps_heating.json +3 -3
  190. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +37 -112
  191. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +1 -1
  192. 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
  193. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps_heating.json +6 -6
  194. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +37 -37
  195. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +1 -1
  196. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.BoilerHotWater.rb +1 -1
  197. 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
  198. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps_heating.json +6 -6
  199. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +37 -37
  200. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +1 -1
  201. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.BoilerHotWater.rb +1 -1
  202. 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
  203. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_pumps_heating.json +6 -6
  204. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.spc_typ.json +37 -37
  205. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +1 -1
  206. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +1 -1
  207. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.BoilerHotWater.rb +1 -1
  208. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoilHeatingGas.rb +1 -1
  209. 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
  210. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_pumps_heating.json +6 -6
  211. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.spc_typ.json +37 -37
  212. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.curves.json +0 -200
  213. 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
  214. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.spc_typ.json +37 -37
  215. 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
  216. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.spc_typ.json +37 -37
  217. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +1 -1
  218. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.PlantLoop.rb +5 -5
  219. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +1 -1
  220. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.PlantLoop.rb +5 -5
  221. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.AirLoopHVAC.rb +1 -1
  222. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.ChillerElectricEIR.rb +2 -2
  223. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXSingleSpeed.rb +2 -68
  224. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXTwoSpeed.rb +2 -35
  225. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilDX.rb +42 -0
  226. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingDXSingleSpeed.rb +5 -2
  227. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingGas.rb +2 -2
  228. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Model.rb +2 -2
  229. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.PlantLoop.rb +3 -3
  230. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.SpaceType.rb +1 -1
  231. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019.Model.rb +1 -0
  232. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019_WaterHeaterMixed.rb +2 -4
  233. data/lib/openstudio-standards/standards/ashrae_90_1_prm/data/ashrae_90_1_prm.curves.json +0 -200
  234. data/lib/openstudio-standards/standards/ashrae_90_1_prm/data/ashrae_90_1_prm.fans.json +5 -5
  235. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/ashrae_90_1_prm.UserData.rb +7 -1
  236. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_enums.rb +0 -1
  237. data/lib/openstudio-standards/standards/cbes/data/cbes.curves.json +0 -200
  238. data/lib/openstudio-standards/standards/deer/data/deer.curves.json +0 -200
  239. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/btap_pre1980.rb +21 -37
  240. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/building_envelope.rb +12 -11
  241. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_3_and_8_single_speed.rb +68 -27
  242. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_4.rb +64 -25
  243. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_6.rb +9 -14
  244. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_systems.rb +4 -4
  245. data/lib/openstudio-standards/standards/necb/ECMS/ecms.rb +1 -1
  246. data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +115 -112
  247. data/lib/openstudio-standards/standards/necb/NECB2011/autozone.rb +637 -249
  248. data/lib/openstudio-standards/standards/necb/NECB2011/beps_compliance_path.rb +16 -12
  249. data/lib/openstudio-standards/standards/necb/NECB2011/building_envelope.rb +799 -46
  250. data/lib/openstudio-standards/standards/necb/NECB2011/data/chillers.json +33 -51
  251. data/lib/openstudio-standards/standards/necb/NECB2011/data/constants.json +75 -7
  252. data/lib/openstudio-standards/standards/necb/NECB2011/data/fuel_type_sets.json +25 -1
  253. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/HighriseApartmentMult.osm +14272 -0
  254. data/lib/openstudio-standards/standards/necb/NECB2011/data/heat_pumps_heating.json +21 -15
  255. data/lib/openstudio-standards/standards/necb/NECB2011/data/necb_2015_table_c1.json +1 -1
  256. data/lib/openstudio-standards/standards/necb/NECB2011/data/space_types.json +437 -437
  257. data/lib/openstudio-standards/standards/necb/NECB2011/data/systems.json +516 -0
  258. data/lib/openstudio-standards/standards/necb/NECB2011/data/systems_including_sys5.json +588 -0
  259. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_namer.rb +489 -0
  260. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_single_speed.rb +18 -6
  261. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_2_and_5.rb +48 -5
  262. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_multi_speed.rb +2 -2
  263. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_single_speed.rb +35 -27
  264. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_4.rb +34 -23
  265. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_6.rb +8 -6
  266. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +68 -150
  267. data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +444 -134
  268. data/lib/openstudio-standards/standards/necb/NECB2011/system_fuels.rb +61 -1
  269. data/lib/openstudio-standards/standards/necb/NECB2015/data/heat_pumps_heating.json +10 -2
  270. data/lib/openstudio-standards/standards/necb/NECB2015/data/space_types.json +636 -636
  271. data/lib/openstudio-standards/standards/necb/NECB2015/data/unitary_acs.json +38 -38
  272. data/lib/openstudio-standards/standards/necb/NECB2015/hvac_systems.rb +17 -8
  273. data/lib/openstudio-standards/standards/necb/NECB2017/data/space_types.json +636 -636
  274. data/lib/openstudio-standards/standards/necb/NECB2020/data/chillers.json +71 -71
  275. data/lib/openstudio-standards/standards/necb/NECB2020/data/heat_pumps_heating.json +16 -6
  276. data/lib/openstudio-standards/standards/necb/NECB2020/data/unitary_acs.json +60 -61
  277. data/lib/openstudio-standards/standards/necb/NECB2020/service_water_heating.rb +30 -30
  278. data/lib/openstudio-standards/standards/necb/README.md +343 -0
  279. data/lib/openstudio-standards/standards/necb/common/btap_analysis.rb +79 -0
  280. data/lib/openstudio-standards/standards/necb/common/btap_data.rb +206 -32
  281. data/lib/openstudio-standards/standards/necb/common/btap_datapoint.rb +75 -43
  282. data/lib/openstudio-standards/standards/necb/common/eccc_electric_grid_intensity_20250311.csv +14 -0
  283. data/lib/openstudio-standards/standards/necb/common/nir_gas_grid_intensity_20250311.csv +14 -0
  284. data/lib/openstudio-standards/standards/necb/common/system_types.yaml +0 -0
  285. data/lib/openstudio-standards/thermal_zone/{thermal_zone.rb → information.rb} +12 -45
  286. data/lib/openstudio-standards/thermal_zone/thermostat_schedules.rb +152 -0
  287. data/lib/openstudio-standards/utilities/logging.rb +18 -14
  288. data/lib/openstudio-standards/version.rb +1 -1
  289. data/lib/openstudio-standards/weather/modify.rb +2 -2
  290. data/lib/openstudio-standards/weather/stat_file.rb +2 -2
  291. data/lib/openstudio-standards.rb +67 -38
  292. metadata +141 -50
  293. data/lib/openstudio-standards/hvac/components/create.rb +0 -169
  294. data/lib/openstudio-standards/hvac/components/modify.rb +0 -42
  295. data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirConditionerVariableRefrigerantFlow.rb +0 -438
  296. data/lib/openstudio-standards/prototypes/common/objects/Prototype.BoilerHotWater.rb +0 -123
  297. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CentralAirSourceHeatPump.rb +0 -216
  298. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXSingleSpeed.rb +0 -273
  299. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXTwoSpeed.rb +0 -159
  300. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWater.rb +0 -77
  301. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWaterToAirHeatPumpEquationFit.rb +0 -154
  302. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingDXSingleSpeed.rb +0 -214
  303. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingElectric.rb +0 -53
  304. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingGas.rb +0 -72
  305. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWater.rb +0 -95
  306. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWaterToAirHeatPumpEquationFit.rb +0 -125
  307. data/lib/openstudio-standards/prototypes/common/objects/Prototype.ControllerWaterCoil.rb +0 -17
  308. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.transformers.rb +0 -90
  309. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Pump.rb +0 -4
  310. data/lib/openstudio-standards/prototypes/common/objects/Prototype.PumpVariableSpeed.rb +0 -70
  311. data/lib/openstudio-standards/prototypes/common/objects/Prototype.radiant_system_controls.rb +0 -590
  312. data/lib/openstudio-standards/prototypes/common/objects/Prototype.utilities.rb +0 -901
  313. data/lib/openstudio-standards/standards/Standards.FanConstantVolume.rb +0 -5
  314. data/lib/openstudio-standards/standards/Standards.FanOnOff.rb +0 -5
  315. data/lib/openstudio-standards/standards/Standards.FanZoneExhaust.rb +0 -5
  316. data/lib/openstudio-standards/standards/Standards.HeaderedPumpsConstantSpeed.rb +0 -5
  317. data/lib/openstudio-standards/standards/Standards.HeaderedPumpsVariableSpeed.rb +0 -55
  318. data/lib/openstudio-standards/standards/Standards.PumpConstantSpeed.rb +0 -5
  319. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanConstantVolume.rb +0 -5
  320. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanOnOff.rb +0 -5
  321. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanZoneExhaust.rb +0 -5
  322. data/lib/openstudio-standards/standards/cbes/data/cbes.fans.json +0 -328
  323. data/lib/openstudio-standards/standards/deer/data/deer.fans.json +0 -328
  324. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PumpVariableSpeed.rb +0 -0
  325. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.PumpVariableSpeed.rb +0 -0
  326. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.PumpVariableSpeed.rb +0 -0
  327. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.PumpVariableSpeed.rb +0 -0
  328. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.PumpVariableSpeed.rb +0 -0
  329. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Pump.rb +0 -0
  330. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.PumpVariableSpeed.rb +0 -0
@@ -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
  {
@@ -165,7 +165,7 @@
165
165
  "motor_in_airstream_fraction": 1.0,
166
166
  "fan_power_minimum_flow_rate_fraction": 0.0,
167
167
  "fan_power_minimum_flow_rate_input_method": "Fraction",
168
- "fan_curve": "Multi Zone VAV with VSD and fixed SP setpoint",
168
+ "fan_curve": "Multi Zone VAV with Fixed Static Pressure Setpoint",
169
169
  "notes": null
170
170
  },
171
171
  {
@@ -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 VSD and fixed SP setpoint",
288
+ "fan_curve": "Multi Zone VAV with Fixed Static Pressure Setpoint",
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
  {
@@ -6,6 +6,7 @@ class UserDataCSV
6
6
  def initialize(model, save_dir)
7
7
  @model = model
8
8
  @component_name = nil
9
+ @unique_model_object = false
9
10
  unless Dir.exist?(save_dir)
10
11
  raise ArgumentError "Saving directory #{save_dir} does not exist!"
11
12
  end
@@ -70,6 +71,10 @@ class UserDataCSV
70
71
  # subclass shall determine what data group to extract from a modle.
71
72
  # @return [Array] array of OpenStudio components.
72
73
  def load_component
74
+ if @unique_model_object
75
+ return [@model.public_send("get#{@component_name}")]
76
+ end
77
+
73
78
  return @model.public_send("get#{@component_name}")
74
79
  end
75
80
  end
@@ -145,6 +150,7 @@ class UserDataCSVBuilding < UserDataCSV
145
150
  def initialize(model, save_dir)
146
151
  super
147
152
  @component_name = 'Building'
153
+ @unique_model_object = true
148
154
  @file_name = UserDataFiles::BUILDING
149
155
  end
150
156
 
@@ -274,7 +280,7 @@ class UserDataWaterUseConnection < UserDataCSV
274
280
  # @param save_dir [String] directory to save user data files
275
281
  def initialize(model, save_dir)
276
282
  super
277
- @component_name = 'WaterUseConnections'
283
+ @component_name = 'WaterUseConnectionss'
278
284
  @file_name = UserDataFiles::WATERUSE_CONNECTIONS
279
285
  end
280
286
 
@@ -38,7 +38,6 @@ class UserData
38
38
 
39
39
  value.is_a?(TrueClass) || value.is_a?(FalseClass) ? value.to_s : value
40
40
  end
41
-
42
41
  end
43
42
 
44
43
  class UserDataBoolean < UserData
@@ -7875,181 +7875,6 @@
7875
7875
  "maximum_dependent_variable_output": null,
7876
7876
  "notes": "From Reference Buildings"
7877
7877
  },
7878
- {
7879
- "name": "Multi Zone VAV with Airfoil or Backward Incline riding the curve",
7880
- "category": "FanEIR-FPLR",
7881
- "form": "Cubic",
7882
- "dependent_variable": "PwrRatio",
7883
- "independent_variable_1": "FlowRatio",
7884
- "independent_variable_2": null,
7885
- "coeff_1": 0.1631,
7886
- "coeff_2": 1.5901,
7887
- "coeff_3": -0.8817,
7888
- "coeff_4": 0.1281,
7889
- "coeff_5": null,
7890
- "coeff_6": null,
7891
- "coeff_7": null,
7892
- "coeff_8": null,
7893
- "coeff_9": null,
7894
- "coeff_10": null,
7895
- "minimum_independent_variable_1": 0.0,
7896
- "maximum_independent_variable_1": 1.0,
7897
- "minimum_independent_variable_2": null,
7898
- "maximum_independent_variable_2": null,
7899
- "minimum_dependent_variable_output": 0.7,
7900
- "maximum_dependent_variable_output": null,
7901
- "notes": "From ANSI/ASHRAE/IES Standard 90.1-2016 - Energy Standard for Buildings Except Low-Rise Residential Performance Rating Method"
7902
- },
7903
- {
7904
- "name": "Multi Zone VAV with Airfoil or Backward Incline with inlet vanes",
7905
- "category": "FanEIR-FPLR",
7906
- "form": "Cubic",
7907
- "dependent_variable": "PwrRatio",
7908
- "independent_variable_1": "FlowRatio",
7909
- "independent_variable_2": null,
7910
- "coeff_1": 0.9977,
7911
- "coeff_2": -0.659,
7912
- "coeff_3": 0.9547,
7913
- "coeff_4": -0.2936,
7914
- "coeff_5": null,
7915
- "coeff_6": null,
7916
- "coeff_7": null,
7917
- "coeff_8": null,
7918
- "coeff_9": null,
7919
- "coeff_10": null,
7920
- "minimum_independent_variable_1": 0.0,
7921
- "maximum_independent_variable_1": 1.0,
7922
- "minimum_independent_variable_2": null,
7923
- "maximum_independent_variable_2": null,
7924
- "minimum_dependent_variable_output": 0.5,
7925
- "maximum_dependent_variable_output": null,
7926
- "notes": "From ANSI/ASHRAE/IES Standard 90.1-2016 - Energy Standard for Buildings Except Low-Rise Residential Performance Rating Method"
7927
- },
7928
- {
7929
- "name": "Multi Zone VAV with Forward Curved fans riding the curve",
7930
- "category": "FanEIR-FPLR",
7931
- "form": "Cubic",
7932
- "dependent_variable": "PwrRatio",
7933
- "independent_variable_1": "FlowRatio",
7934
- "independent_variable_2": null,
7935
- "coeff_1": 0.1224,
7936
- "coeff_2": 0.612,
7937
- "coeff_3": 0.5983,
7938
- "coeff_4": -0.3334,
7939
- "coeff_5": null,
7940
- "coeff_6": null,
7941
- "coeff_7": null,
7942
- "coeff_8": null,
7943
- "coeff_9": null,
7944
- "coeff_10": null,
7945
- "minimum_independent_variable_1": 0.0,
7946
- "maximum_independent_variable_1": 1.0,
7947
- "minimum_independent_variable_2": null,
7948
- "maximum_independent_variable_2": null,
7949
- "minimum_dependent_variable_output": 0.3,
7950
- "maximum_dependent_variable_output": null,
7951
- "notes": "From ANSI/ASHRAE/IES Standard 90.1-2016 - Energy Standard for Buildings Except Low-Rise Residential Performance Rating Method"
7952
- },
7953
- {
7954
- "name": "Multi Zone VAV with Forward Curved with inlet vanes",
7955
- "category": "FanEIR-FPLR",
7956
- "form": "Cubic",
7957
- "dependent_variable": "PwrRatio",
7958
- "independent_variable_1": "FlowRatio",
7959
- "independent_variable_2": null,
7960
- "coeff_1": 0.3038,
7961
- "coeff_2": -0.7608,
7962
- "coeff_3": 2.2729,
7963
- "coeff_4": -0.8169,
7964
- "coeff_5": null,
7965
- "coeff_6": null,
7966
- "coeff_7": null,
7967
- "coeff_8": null,
7968
- "coeff_9": null,
7969
- "coeff_10": null,
7970
- "minimum_independent_variable_1": 0.0,
7971
- "maximum_independent_variable_1": 1.0,
7972
- "minimum_independent_variable_2": null,
7973
- "maximum_independent_variable_2": null,
7974
- "minimum_dependent_variable_output": 0.3,
7975
- "maximum_dependent_variable_output": null,
7976
- "notes": "From ANSI/ASHRAE/IES Standard 90.1-2016 - Energy Standard for Buildings Except Low-Rise Residential Performance Rating Method"
7977
- },
7978
- {
7979
- "name": "Multi Zone VAV with VSD and fixed SP setpoint",
7980
- "category": "FanEIR-FPLR",
7981
- "form": "Cubic",
7982
- "dependent_variable": "PwrRatio",
7983
- "independent_variable_1": "FlowRatio",
7984
- "independent_variable_2": null,
7985
- "coeff_1": 0.0013,
7986
- "coeff_2": 0.147,
7987
- "coeff_3": 0.9506,
7988
- "coeff_4": -0.0998,
7989
- "coeff_5": null,
7990
- "coeff_6": null,
7991
- "coeff_7": null,
7992
- "coeff_8": null,
7993
- "coeff_9": null,
7994
- "coeff_10": null,
7995
- "minimum_independent_variable_1": 0.0,
7996
- "maximum_independent_variable_1": 1.0,
7997
- "minimum_independent_variable_2": null,
7998
- "maximum_independent_variable_2": null,
7999
- "minimum_dependent_variable_output": 0.2,
8000
- "maximum_dependent_variable_output": null,
8001
- "notes": "Appendix G baseline from ANSI/ASHRAE/IES Standard 90.1-2016 - Energy Standard for Buildings Except Low-Rise Residential Performance Rating Method"
8002
- },
8003
- {
8004
- "name": "Multi Zone VAV with vane-axial with variable pitch blades",
8005
- "category": "FanEIR-FPLR",
8006
- "form": "Cubic",
8007
- "dependent_variable": "PwrRatio",
8008
- "independent_variable_1": "FlowRatio",
8009
- "independent_variable_2": null,
8010
- "coeff_1": 0.1639,
8011
- "coeff_2": -0.4016,
8012
- "coeff_3": 1.9909,
8013
- "coeff_4": -0.7541,
8014
- "coeff_5": null,
8015
- "coeff_6": null,
8016
- "coeff_7": null,
8017
- "coeff_8": null,
8018
- "coeff_9": null,
8019
- "coeff_10": null,
8020
- "minimum_independent_variable_1": 0.0,
8021
- "maximum_independent_variable_1": 1.0,
8022
- "minimum_independent_variable_2": null,
8023
- "maximum_independent_variable_2": null,
8024
- "minimum_dependent_variable_output": 0.2,
8025
- "maximum_dependent_variable_output": null,
8026
- "notes": "From ANSI/ASHRAE/IES Standard 90.1-2016 - Energy Standard for Buildings Except Low-Rise Residential Performance Rating Method"
8027
- },
8028
- {
8029
- "name": "Multi zone VAV with static pressure reset",
8030
- "category": "FanEIR-FPLR",
8031
- "form": "Cubic",
8032
- "dependent_variable": "PwrRatio",
8033
- "independent_variable_1": "FlowRatio",
8034
- "independent_variable_2": null,
8035
- "coeff_1": 0.040759894,
8036
- "coeff_2": 0.08804497,
8037
- "coeff_3": -0.07292612,
8038
- "coeff_4": 0.943739823,
8039
- "coeff_5": null,
8040
- "coeff_6": null,
8041
- "coeff_7": null,
8042
- "coeff_8": null,
8043
- "coeff_9": null,
8044
- "coeff_10": null,
8045
- "minimum_independent_variable_1": 0.0,
8046
- "maximum_independent_variable_1": 1.0,
8047
- "minimum_independent_variable_2": null,
8048
- "maximum_independent_variable_2": null,
8049
- "minimum_dependent_variable_output": 0.1,
8050
- "maximum_dependent_variable_output": null,
8051
- "notes": "OpenStudio default, baseline for System Types 5-8 from ANSI/ASHRAE/IES Standard 90.1-2016 - Energy Standard for Buildings Except Low-Rise Residential Performance Rating Method"
8052
- },
8053
7878
  {
8054
7879
  "name": "New_Low_Temp_Comp_Cap_Curve",
8055
7880
  "category": null,
@@ -12700,31 +12525,6 @@
12700
12525
  "maximum_dependent_variable_output": null,
12701
12526
  "notes": "From Reference Buildings"
12702
12527
  },
12703
- {
12704
- "name": "Single zone VAV fan",
12705
- "category": "FanEIR-FPLR",
12706
- "form": "Cubic",
12707
- "dependent_variable": "PwrRatio",
12708
- "independent_variable_1": "FlowRatio",
12709
- "independent_variable_2": null,
12710
- "coeff_1": 0.027827882,
12711
- "coeff_2": 0.026583195,
12712
- "coeff_3": -0.0870687,
12713
- "coeff_4": 1.03091975,
12714
- "coeff_5": null,
12715
- "coeff_6": null,
12716
- "coeff_7": null,
12717
- "coeff_8": null,
12718
- "coeff_9": null,
12719
- "coeff_10": null,
12720
- "minimum_independent_variable_1": 0.0,
12721
- "maximum_independent_variable_1": 1.0,
12722
- "minimum_independent_variable_2": null,
12723
- "maximum_independent_variable_2": null,
12724
- "minimum_dependent_variable_output": 0.1,
12725
- "maximum_dependent_variable_output": null,
12726
- "notes": "Baseline for System Type 11 from ANSI/ASHRAE/IES Standard 90.1-2016 - Energy Standard for Buildings Except Low-Rise Residential Performance Rating Method"
12727
- },
12728
12528
  {
12729
12529
  "name": "Small-CHW-Bypass-fAirflow",
12730
12530
  "category": "CHWCoils",
@@ -7875,181 +7875,6 @@
7875
7875
  "maximum_dependent_variable_output": null,
7876
7876
  "notes": "From Reference Buildings"
7877
7877
  },
7878
- {
7879
- "name": "Multi Zone VAV with Airfoil or Backward Incline riding the curve",
7880
- "category": "FanEIR-FPLR",
7881
- "form": "Cubic",
7882
- "dependent_variable": "PwrRatio",
7883
- "independent_variable_1": "FlowRatio",
7884
- "independent_variable_2": null,
7885
- "coeff_1": 0.1631,
7886
- "coeff_2": 1.5901,
7887
- "coeff_3": -0.8817,
7888
- "coeff_4": 0.1281,
7889
- "coeff_5": null,
7890
- "coeff_6": null,
7891
- "coeff_7": null,
7892
- "coeff_8": null,
7893
- "coeff_9": null,
7894
- "coeff_10": null,
7895
- "minimum_independent_variable_1": 0.0,
7896
- "maximum_independent_variable_1": 1.0,
7897
- "minimum_independent_variable_2": null,
7898
- "maximum_independent_variable_2": null,
7899
- "minimum_dependent_variable_output": 0.7,
7900
- "maximum_dependent_variable_output": null,
7901
- "notes": "From ANSI/ASHRAE/IES Standard 90.1-2016 - Energy Standard for Buildings Except Low-Rise Residential Performance Rating Method"
7902
- },
7903
- {
7904
- "name": "Multi Zone VAV with Airfoil or Backward Incline with inlet vanes",
7905
- "category": "FanEIR-FPLR",
7906
- "form": "Cubic",
7907
- "dependent_variable": "PwrRatio",
7908
- "independent_variable_1": "FlowRatio",
7909
- "independent_variable_2": null,
7910
- "coeff_1": 0.9977,
7911
- "coeff_2": -0.659,
7912
- "coeff_3": 0.9547,
7913
- "coeff_4": -0.2936,
7914
- "coeff_5": null,
7915
- "coeff_6": null,
7916
- "coeff_7": null,
7917
- "coeff_8": null,
7918
- "coeff_9": null,
7919
- "coeff_10": null,
7920
- "minimum_independent_variable_1": 0.0,
7921
- "maximum_independent_variable_1": 1.0,
7922
- "minimum_independent_variable_2": null,
7923
- "maximum_independent_variable_2": null,
7924
- "minimum_dependent_variable_output": 0.5,
7925
- "maximum_dependent_variable_output": null,
7926
- "notes": "From ANSI/ASHRAE/IES Standard 90.1-2016 - Energy Standard for Buildings Except Low-Rise Residential Performance Rating Method"
7927
- },
7928
- {
7929
- "name": "Multi Zone VAV with Forward Curved fans riding the curve",
7930
- "category": "FanEIR-FPLR",
7931
- "form": "Cubic",
7932
- "dependent_variable": "PwrRatio",
7933
- "independent_variable_1": "FlowRatio",
7934
- "independent_variable_2": null,
7935
- "coeff_1": 0.1224,
7936
- "coeff_2": 0.612,
7937
- "coeff_3": 0.5983,
7938
- "coeff_4": -0.3334,
7939
- "coeff_5": null,
7940
- "coeff_6": null,
7941
- "coeff_7": null,
7942
- "coeff_8": null,
7943
- "coeff_9": null,
7944
- "coeff_10": null,
7945
- "minimum_independent_variable_1": 0.0,
7946
- "maximum_independent_variable_1": 1.0,
7947
- "minimum_independent_variable_2": null,
7948
- "maximum_independent_variable_2": null,
7949
- "minimum_dependent_variable_output": 0.3,
7950
- "maximum_dependent_variable_output": null,
7951
- "notes": "From ANSI/ASHRAE/IES Standard 90.1-2016 - Energy Standard for Buildings Except Low-Rise Residential Performance Rating Method"
7952
- },
7953
- {
7954
- "name": "Multi Zone VAV with Forward Curved with inlet vanes",
7955
- "category": "FanEIR-FPLR",
7956
- "form": "Cubic",
7957
- "dependent_variable": "PwrRatio",
7958
- "independent_variable_1": "FlowRatio",
7959
- "independent_variable_2": null,
7960
- "coeff_1": 0.3038,
7961
- "coeff_2": -0.7608,
7962
- "coeff_3": 2.2729,
7963
- "coeff_4": -0.8169,
7964
- "coeff_5": null,
7965
- "coeff_6": null,
7966
- "coeff_7": null,
7967
- "coeff_8": null,
7968
- "coeff_9": null,
7969
- "coeff_10": null,
7970
- "minimum_independent_variable_1": 0.0,
7971
- "maximum_independent_variable_1": 1.0,
7972
- "minimum_independent_variable_2": null,
7973
- "maximum_independent_variable_2": null,
7974
- "minimum_dependent_variable_output": 0.3,
7975
- "maximum_dependent_variable_output": null,
7976
- "notes": "From ANSI/ASHRAE/IES Standard 90.1-2016 - Energy Standard for Buildings Except Low-Rise Residential Performance Rating Method"
7977
- },
7978
- {
7979
- "name": "Multi Zone VAV with VSD and fixed SP setpoint",
7980
- "category": "FanEIR-FPLR",
7981
- "form": "Cubic",
7982
- "dependent_variable": "PwrRatio",
7983
- "independent_variable_1": "FlowRatio",
7984
- "independent_variable_2": null,
7985
- "coeff_1": 0.0013,
7986
- "coeff_2": 0.147,
7987
- "coeff_3": 0.9506,
7988
- "coeff_4": -0.0998,
7989
- "coeff_5": null,
7990
- "coeff_6": null,
7991
- "coeff_7": null,
7992
- "coeff_8": null,
7993
- "coeff_9": null,
7994
- "coeff_10": null,
7995
- "minimum_independent_variable_1": 0.0,
7996
- "maximum_independent_variable_1": 1.0,
7997
- "minimum_independent_variable_2": null,
7998
- "maximum_independent_variable_2": null,
7999
- "minimum_dependent_variable_output": 0.2,
8000
- "maximum_dependent_variable_output": null,
8001
- "notes": "Appendix G baseline from ANSI/ASHRAE/IES Standard 90.1-2016 - Energy Standard for Buildings Except Low-Rise Residential Performance Rating Method"
8002
- },
8003
- {
8004
- "name": "Multi Zone VAV with vane-axial with variable pitch blades",
8005
- "category": "FanEIR-FPLR",
8006
- "form": "Cubic",
8007
- "dependent_variable": "PwrRatio",
8008
- "independent_variable_1": "FlowRatio",
8009
- "independent_variable_2": null,
8010
- "coeff_1": 0.1639,
8011
- "coeff_2": -0.4016,
8012
- "coeff_3": 1.9909,
8013
- "coeff_4": -0.7541,
8014
- "coeff_5": null,
8015
- "coeff_6": null,
8016
- "coeff_7": null,
8017
- "coeff_8": null,
8018
- "coeff_9": null,
8019
- "coeff_10": null,
8020
- "minimum_independent_variable_1": 0.0,
8021
- "maximum_independent_variable_1": 1.0,
8022
- "minimum_independent_variable_2": null,
8023
- "maximum_independent_variable_2": null,
8024
- "minimum_dependent_variable_output": 0.2,
8025
- "maximum_dependent_variable_output": null,
8026
- "notes": "From ANSI/ASHRAE/IES Standard 90.1-2016 - Energy Standard for Buildings Except Low-Rise Residential Performance Rating Method"
8027
- },
8028
- {
8029
- "name": "Multi zone VAV with static pressure reset",
8030
- "category": "FanEIR-FPLR",
8031
- "form": "Cubic",
8032
- "dependent_variable": "PwrRatio",
8033
- "independent_variable_1": "FlowRatio",
8034
- "independent_variable_2": null,
8035
- "coeff_1": 0.040759894,
8036
- "coeff_2": 0.08804497,
8037
- "coeff_3": -0.07292612,
8038
- "coeff_4": 0.943739823,
8039
- "coeff_5": null,
8040
- "coeff_6": null,
8041
- "coeff_7": null,
8042
- "coeff_8": null,
8043
- "coeff_9": null,
8044
- "coeff_10": null,
8045
- "minimum_independent_variable_1": 0.0,
8046
- "maximum_independent_variable_1": 1.0,
8047
- "minimum_independent_variable_2": null,
8048
- "maximum_independent_variable_2": null,
8049
- "minimum_dependent_variable_output": 0.1,
8050
- "maximum_dependent_variable_output": null,
8051
- "notes": "OpenStudio default, baseline for System Types 5-8 from ANSI/ASHRAE/IES Standard 90.1-2016 - Energy Standard for Buildings Except Low-Rise Residential Performance Rating Method"
8052
- },
8053
7878
  {
8054
7879
  "name": "New_Low_Temp_Comp_Cap_Curve",
8055
7880
  "category": null,
@@ -12700,31 +12525,6 @@
12700
12525
  "maximum_dependent_variable_output": null,
12701
12526
  "notes": "From Reference Buildings"
12702
12527
  },
12703
- {
12704
- "name": "Single zone VAV fan",
12705
- "category": "FanEIR-FPLR",
12706
- "form": "Cubic",
12707
- "dependent_variable": "PwrRatio",
12708
- "independent_variable_1": "FlowRatio",
12709
- "independent_variable_2": null,
12710
- "coeff_1": 0.027827882,
12711
- "coeff_2": 0.026583195,
12712
- "coeff_3": -0.0870687,
12713
- "coeff_4": 1.03091975,
12714
- "coeff_5": null,
12715
- "coeff_6": null,
12716
- "coeff_7": null,
12717
- "coeff_8": null,
12718
- "coeff_9": null,
12719
- "coeff_10": null,
12720
- "minimum_independent_variable_1": 0.0,
12721
- "maximum_independent_variable_1": 1.0,
12722
- "minimum_independent_variable_2": null,
12723
- "maximum_independent_variable_2": null,
12724
- "minimum_dependent_variable_output": 0.1,
12725
- "maximum_dependent_variable_output": null,
12726
- "notes": "Baseline for System Type 11 from ANSI/ASHRAE/IES Standard 90.1-2016 - Energy Standard for Buildings Except Low-Rise Residential Performance Rating Method"
12727
- },
12728
12528
  {
12729
12529
  "name": "Small-CHW-Bypass-fAirflow",
12730
12530
  "category": "CHWCoils",
@@ -6,8 +6,13 @@ class BTAPPRE1980 < NECB2011
6
6
 
7
7
  def initialize
8
8
  super()
9
+ @template = self.class.name
9
10
  @standards_data = load_standards_database_new
10
11
  corrupt_standards_database
12
+ @tbd = nil
13
+ @activity = nil
14
+ @structure = nil
15
+ @osut = {gra0: 0, graX: 0, status: 0, logs: []} # "gra": "gross roof area"
11
16
  end
12
17
 
13
18
  def load_standards_database_new
@@ -45,29 +50,33 @@ class BTAPPRE1980 < NECB2011
45
50
  end
46
51
 
47
52
  # Thermal zones need to be set to determine conditioned spaces when applying fdwr and srr limits.
48
- # # fdwr_set/srr_set settings:
49
- # # 0-1: Remove all windows/skylights and add windows/skylights to match this fdwr/srr
50
- # # -1: Remove all windows/skylights and add windows/skylights to match max fdwr/srr from NECB
51
- # # -2: Do not apply any fdwr/srr changes, leave windows/skylights alone (also works for fdwr/srr > 1)
52
- # # -3: Use old method which reduces existing window/skylight size (if necessary) to meet maximum NECB fdwr/srr
53
- # # limit
54
- # # <-3.1: Remove all the windows/skylights
55
- # # > 1: Do nothing
56
- def apply_fdwr_srr_daylighting(model:, fdwr_set: -2.0, srr_set: -2.0, necb_hdd: true)
53
+ #
54
+ # fdwr_set/srr_set settings:
55
+ # 0-1: Remove all windows/skylights and add windows/skylights to match this fdwr/srr
56
+ # -1: Remove all windows/skylights and add windows/skylights to match max fdwr/srr from NECB
57
+ # -2: Do not apply any fdwr/srr changes, leave windows/skylights alone (also works for fdwr/srr > 1)
58
+ # -3: Use old method which reduces existing window/skylight size (if necessary) to meet maximum NECB fdwr/srr limit
59
+ # <-3.1: Remove all the windows/skylights
60
+ # > 1: Do nothing
61
+ #
62
+ # By default, :srr_opt is an empty string (" "). If set to "osut", SRR is
63
+ # instead met using OSut's 'addSkylights' (:srr_set numeric values may apply).
64
+ def apply_fdwr_srr_daylighting(model:, fdwr_set: -1.0, srr_set: -1.0, necb_hdd: true, srr_opt: '')
57
65
  fdwr_set = -2.0 if (fdwr_set == 'NECB_default') || fdwr_set.nil? || (fdwr_set.to_f.round(0) == -1.0)
58
66
  srr_set = -2.0 if (srr_set == 'NECB_default') || srr_set.nil? || (srr_set.to_f.round(0) == -1.0)
59
67
  fdwr_set = fdwr_set.to_f
60
68
  srr_set = srr_set.to_f
61
69
  apply_standard_window_to_wall_ratio(model: model, fdwr_set: fdwr_set, necb_hdd: true)
62
- apply_standard_skylight_to_roof_ratio(model: model, srr_set: srr_set)
70
+ # apply_standard_skylight_to_roof_ratio(model: model, srr_set: srr_set)
71
+ apply_standard_skylight_to_roof_ratio(model: model, srr_set: srr_set, srr_opt: srr_opt)
63
72
  # model_add_daylighting_controls(model) # to be removed after refactor.
64
73
  end
65
74
 
66
75
  def apply_standard_efficiencies(model:, sizing_run_dir:, dcv_type: 'NECB_Default', necb_reference_hp:false)
67
- raise('validation of model failed.') unless validate_initial_model(model)
76
+ # Do a sizing run
77
+ try_sizing_run(model: model, sizing_run_dir: sizing_run_dir, sizing_run_subdir: 'plant_loops')
68
78
 
69
79
  climate_zone = 'NECB HDD Method'
70
- raise("sizing run 1 failed! check #{sizing_run_dir}") if model_run_sizing_run(model, "#{sizing_run_dir}/plant_loops") == false
71
80
 
72
81
  # This is needed for NECB2011 as a workaround for sizing the reheat boxes
73
82
  model.getAirTerminalSingleDuctVAVReheats.each { |iobj| air_terminal_single_duct_vav_reheat_set_heating_cap(iobj) }
@@ -86,29 +95,4 @@ class BTAPPRE1980 < NECB2011
86
95
  return true
87
96
  end
88
97
 
89
- # This method sets the primary heating fuel to either NaturalGas or Electricity if a HP fuel type is set.
90
- def validate_primary_heating_fuel(primary_heating_fuel:, model:)
91
- if primary_heating_fuel.to_s.downcase == 'defaultfuel' || primary_heating_fuel.to_s.downcase == 'necb_default'
92
- epw = OpenStudio::EpwFile.new(model.weatherFile.get.path.get)
93
- default_fuel = @standards_data['regional_fuel_use'].detect { |fuel_sources| fuel_sources['state_province_regions'].include?(epw.stateProvinceRegion) }['fueltype_set']
94
- if default_fuel.nil?
95
- OpenStudio.logFree(OpenStudio::Warn, 'openstudio.standards.swh', "Could not find a default fuel for #{epw.stateProvinceRegion}. Using Electricity as the fuel type instead.")
96
- return 'Electricity'
97
- end
98
- return default_fuel
99
- end
100
- return primary_heating_fuel unless primary_heating_fuel == 'NaturalGasHPGasBackup' || primary_heating_fuel == 'NaturalGasHPElecBackupMixed' || primary_heating_fuel == 'ElectricityHPElecBackup' || primary_heating_fuel == 'ElectricityHPGasBackupMixed'
101
- case primary_heating_fuel
102
- when "NaturalGasHPGasBackup"
103
- primary_heating_fuel = 'NaturalGas'
104
- when "NaturalGasHPElecBackupMixed"
105
- primary_heating_fuel = 'NaturalGas'
106
- when "ElectricityHPElecBackup"
107
- primary_heating_fuel = 'Electricity'
108
- when "ElectricityHPGasBackupMixed"
109
- primary_heating_fuel = 'Electricity'
110
- end
111
- OpenStudio.logFree(OpenStudio::Info, 'openstudio.Standards.Model', "Attemted to apply an NECB HP primary_heating_fuel to a vintage building type. Replacing the selected primary_heating_fuel with #{primary_heating_fuel}.")
112
- return primary_heating_fuel
113
- end
114
98
  end
@@ -24,27 +24,28 @@ class BTAPPRE1980
24
24
 
25
25
  # Reduces the SRR to the values specified by the PRM. SRR reduction
26
26
  # will be done by shrinking vertices toward the centroid.
27
- #
28
- def apply_standard_skylight_to_roof_ratio(model:, srr_set: -1.0)
27
+ def apply_standard_skylight_to_roof_ratio(model:, srr_set: -1.0, srr_opt: '')
29
28
  # If srr_set is between 1.0 and 1.2 set it to the maximum allowed by the NECB. If srr_set is between 0.0 and 1.0
30
29
  # apply whatever was passed. If srr_set >= 1.2 then set the existing srr of the building to be the necb maximum
31
30
  # only if the the srr exceeds this maximum (otherwise leave it to be whatever was modeled).
32
31
 
33
32
  # srr_set settings:
34
- # 0-1: Remove all skylights and add skylights to match this srr
35
- # -1: Remove all skylights and add skylights to match max srr from NECB
36
- # -2: Do not apply any srr changes, leave skylights alone (also works for srr > 1)
37
- # -3: Use old method which reduces existing skylight size (if necessary) to meet maximum NECB skylight limit
38
- # <-3.1: Remove all the skylights
39
- # > 1: Do nothing
40
-
33
+ # 0-1: Remove all skylights and add skylights to match this srr
34
+ # -1: Remove all skylights and add skylights to match max srr from NECB
35
+ # -2: Do not apply any srr changes, leave skylights alone (also works for srr > 1)
36
+ # -3: Use old method which reduces existing skylight size (if necessary) to meet maximum NECB skylight limit
37
+ # <-3.1: Remove all skylights
38
+ # > 1: Do nothing
39
+ #
40
+ # By default, :srr_opt is an empty string (" "). If set to "osut", SRR is
41
+ # instead met using OSut's addSkylights (:srr_set numeric values may apply).
41
42
  return if srr_set.to_f > 1.0
42
- return apply_max_srr_nrcan(model: model, srr_lim: srr_set.to_f) if srr_set.to_f >= 0.0 && srr_set <= 1.0
43
+ return apply_max_srr_nrcan(model: model, srr_lim: srr_set.to_f, srr_opt: srr_opt) if srr_set.to_f >= 0.0 && srr_set.to_f <= 1.0
43
44
 
44
45
  # No skylights set for BTAPPRE1980 buildings.
45
46
  return if srr_set.to_f >= -1.1 && srr_set <= -0.9
46
47
  return if srr_set.to_f >= -2.1 && srr_set <= -1.9
47
- return apply_max_srr_nrcan(model: model, srr_lim: srr_set.to_f) if srr_set < -3.1
48
+ return apply_max_srr_nrcan(model: model, srr_lim: srr_set.to_f, srr_opt: srr_opt) if srr_set.to_f < -3.1
48
49
 
49
50
  # Continue with the rest of this method, use old method which reduces existing skylight size (if necessary) to
50
51
  # meet maximum srr limit