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,152 @@
1
+ module OpenstudioStandards
2
+ # The ThermalZone module provides methods to set thermostats and get information about model thermal zones
3
+ module ThermalZone
4
+ # Adds thermostat schedules to thermal zones based on the standards space type
5
+ # Chooses the thermostat schedule with the most restrictive setpoints (maximum heating, lowest cooling) in the schedule if multiple space types are present
6
+ #
7
+ # @param thermal_zones [Array<OpenStudio::Model::ThermalZone>] OpenStudio ThermalZone objects
8
+ # @return [Boolean] returns true if successful, false if not
9
+ def self.thermal_zones_set_thermostat_schedules(thermal_zones)
10
+ # load and return thermostat mapping data
11
+ thermostat_data = JSON.parse(File.read("#{File.dirname(__FILE__)}/../prototypes/common/data/thermostat_schedule_lookup.json"), symbolize_names: true)
12
+
13
+ # std call to access model_add_schedule
14
+ # @todo refactor once schedule data is separate
15
+ std = Standard.build('90.1-2013')
16
+
17
+ thermal_zones.each do |thermal_zone|
18
+ # skip plenums
19
+ if OpenstudioStandards::ThermalZone.thermal_zone_plenum?(thermal_zone)
20
+ OpenStudio.logFree(OpenStudio::Warn, 'openstudio.standards.ThermalZone', "Thermal Zone '#{thermal_zone.name}' is a plenum. Not adding thermostat schedules.")
21
+ next
22
+ end
23
+
24
+ # get space types
25
+ thermal_zone_space_types = []
26
+ thermal_zone.spaces.each do |space|
27
+ if space.spaceType.is_initialized
28
+ thermal_zone_space_types << space.spaceType.get
29
+ end
30
+ end
31
+
32
+ # check if additional properties set, and if not add it
33
+ has_space_type = thermal_zone_space_types[0].additionalProperties.hasFeature('standards_space_type')
34
+ unless has_space_type
35
+ OpenstudioStandards::SpaceType.set_standards_space_type_additional_properties(thermal_zone.model)
36
+ end
37
+
38
+ # add thermostat schedules for space type
39
+ zone_thermostats_options = []
40
+ thermal_zone_space_types.each do |space_type|
41
+ heating_thermostat_sch_name = nil
42
+ cooling_thermostat_sch_name = nil
43
+
44
+ # get the standards space type
45
+ space_type_name = space_type.additionalProperties.getFeatureAsString('standards_space_type').get
46
+
47
+ # get the thermostat data associated with this space type
48
+ space_type_data = thermostat_data.select { |h| h[:space_type] == space_type_name }
49
+
50
+ # get unique possible heating and cooling setpoint schedules
51
+ heating_thermostat_schs = space_type_data.map { |h| h[:heating_setpoint_schedule] }.compact.uniq
52
+ cooling_thermostat_schs = space_type_data.map { |h| h[:cooling_setpoint_schedule] }.compact.uniq
53
+
54
+ # check if there is a unique heating and cooling thermostat schedule for this space type
55
+ if (heating_thermostat_schs.size < 2) && (cooling_thermostat_schs.size < 2)
56
+ # if so, use it
57
+ heating_thermostat_sch_name = heating_thermostat_schs[0]
58
+ cooling_thermostat_sch_name = cooling_thermostat_schs[0]
59
+ else
60
+ # if not, get the heating and cooling thermostat schedule by standards building type
61
+ if space_type.standardsBuildingType.is_initialized
62
+ # select down to building type
63
+ space_type_data = space_type_data.select { |h| h[:standards_building_type] == space_type.standardsBuildingType.get }
64
+ if space_type_data.empty?
65
+ OpenStudio.logFree(OpenStudio::Warn, 'openstudio.standards.ThermalZone', "No thermostat schedule data is available for space type '#{space_type.name} with standards space type #{space_type_name} and standards building type #{space_type.standardsBuildingType.get}. Unable to create thermostat schedules.")
66
+ next
67
+ else
68
+ heating_thermostat_sch_name = space_type_data[0][:heating_setpoint_schedule]
69
+ cooling_thermostat_sch_name = space_type_data[0][:cooling_setpoint_schedule]
70
+ end
71
+ else
72
+ # unable to find standards building type
73
+ OpenStudio.logFree(OpenStudio::Warn, 'openstudio.standards.ThermalZone', "Multiple thermostat schedules are available for space type '#{space_type.name} with standards space type #{space_type_name} depending on building type, but building type is not specified. Using a default schedule for this space type.")
74
+ space_type_data = thermostat_data.find { |h| h[:space_type] == space_type_name }
75
+ heating_thermostat_sch_name = space_type_data[:heating_setpoint_schedule]
76
+ cooling_thermostat_sch_name = space_type_data[:cooling_setpoint_schedule]
77
+ end
78
+ end
79
+
80
+ # make thermostat
81
+ thermostat = space_type.model.getThermostatSetpointDualSetpointByName("#{space_type.name} Thermostat")
82
+ if thermostat.is_initialized
83
+ OpenStudio.logFree(OpenStudio::Debug, 'openstudio.standards.ThermalZone', "#{space_type.name} thermostat already in model.")
84
+ thermostat = thermostat.get
85
+ else
86
+ thermostat = OpenStudio::Model::ThermostatSetpointDualSetpoint.new(space_type.model)
87
+ thermostat.setName("#{space_type.name} Thermostat")
88
+
89
+ unless heating_thermostat_sch_name.nil?
90
+ thermostat.setHeatingSetpointTemperatureSchedule(std.model_add_schedule(space_type.model, heating_thermostat_sch_name))
91
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.ThermalZone', "#{space_type.name} set heating setpoint schedule to #{heating_thermostat_sch_name}.")
92
+ end
93
+
94
+ unless cooling_thermostat_sch_name.nil?
95
+ thermostat.setCoolingSetpointTemperatureSchedule(std.model_add_schedule(space_type.model, cooling_thermostat_sch_name))
96
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.ThermalZone', "#{space_type.name} set cooling setpoint schedule to #{cooling_thermostat_sch_name}.")
97
+ end
98
+ end
99
+
100
+ # log the schedules
101
+ zone_thermostats_options << thermostat
102
+ end
103
+
104
+ # If only one thermostat, use it
105
+ if zone_thermostats_options.size == 1
106
+ thermal_zone.setThermostatSetpointDualSetpoint(zone_thermostats_options[0])
107
+ elsif zone_thermostats_options.size > 1
108
+ # otherwise find the zone thermostat with the most restrictive setpoints
109
+ # @todo logic here to pick between options
110
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.ThermalZone', "Multiple thermostat options for thermal zone #{thermal_zone.name} depending on space types.")
111
+ thermal_zone.setThermostatSetpointDualSetpoint(zone_thermostats_options[0])
112
+ else
113
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.ThermalZone', "Unable to find valid thermostat options for thermal zone #{thermal_zone.name} depending on space types.")
114
+ end
115
+ end
116
+
117
+ return true
118
+ end
119
+
120
+ # Adds thermostat schedules with a 0F heating setpoint and 120F cooling setpoint.
121
+ # These numbers are outside of the threshold that is considered heated or cooled by thermal_zone_heated? and thermal_zone_cooled?
122
+ #
123
+ # @param thermal_zone [OpenStudio::Model::ThermalZone] OpenStudio ThermalZone object
124
+ # @return [Boolean] returns true if successful, false if not
125
+ def self.thermal_zone_set_unconditioned_thermostat(thermal_zone)
126
+ # Heated to 0F (below thermal_zone_heated?(thermal_zone) threshold)
127
+ htg_t_f = 0.0
128
+ htg_t_c = OpenStudio.convert(htg_t_f, 'F', 'C').get
129
+ htg_stpt_sch = OpenStudio::Model::ScheduleRuleset.new(thermal_zone.model)
130
+ htg_stpt_sch.setName('Unconditioned Minimal Heating')
131
+ htg_stpt_sch.defaultDaySchedule.setName('Unconditioned Minimal Heating Default')
132
+ htg_stpt_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, 24, 0, 0), htg_t_c)
133
+
134
+ # Cooled to 120F (above thermal_zone_cooled?(thermal_zone) threshold)
135
+ clg_t_f = 120.0
136
+ clg_t_c = OpenStudio.convert(clg_t_f, 'F', 'C').get
137
+ clg_stpt_sch = OpenStudio::Model::ScheduleRuleset.new(thermal_zone.model)
138
+ clg_stpt_sch.setName('Unconditioned Minimal Cooling')
139
+ clg_stpt_sch.defaultDaySchedule.setName('Unconditioned Minimal Cooling Default')
140
+ clg_stpt_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, 24, 0, 0), clg_t_c)
141
+
142
+ # Thermostat
143
+ thermostat = OpenStudio::Model::ThermostatSetpointDualSetpoint.new(thermal_zone.model)
144
+ thermostat.setName("#{thermal_zone.name} Unconditioned Thermostat")
145
+ thermostat.setHeatingSetpointTemperatureSchedule(htg_stpt_sch)
146
+ thermostat.setCoolingSetpointTemperatureSchedule(clg_stpt_sch)
147
+ thermal_zone.setThermostatSetpointDualSetpoint(thermostat)
148
+
149
+ return true
150
+ end
151
+ end
152
+ end
@@ -13,5 +13,5 @@ module OpenstudioStandards
13
13
  end
14
14
  return 'git-not-found-on-this-system'
15
15
  end
16
- VERSION = '0.8.4'.freeze
16
+ VERSION = '0.8.5.rc1'.freeze
17
17
  end
@@ -285,7 +285,7 @@ module OpenstudioStandards
285
285
 
286
286
  # parse design temperatures
287
287
  # TMYx stat file format is different than TMY3, cf #1948
288
- is_tmyx = @text.include?("Wind Shelter Factor")
288
+ is_tmyx = @text.include?('Wind Shelter Factor')
289
289
  temperature_info = [
290
290
  { name: 'Heating Design Temperatures', regex: /Heating(\s*\d+.*)\n/, container: @heating_design_info, size: is_tmyx ? 16 : 15 },
291
291
  { name: 'Cooling Design Temperatures', regex: /Cooling(\s*\d+.*)\n/, container: @cooling_design_info, size: 32 },
@@ -294,7 +294,7 @@ module OpenstudioStandards
294
294
  ]
295
295
  temperature_info.each { |temp_info| parse_design_temp_info(temp_info) }
296
296
  if is_tmyx
297
- @heating_design_info.pop() # remove the last value, which is the Wind Shelter Factor
297
+ @heating_design_info.pop # remove the last value, which is the Wind Shelter Factor
298
298
  # There is no WBmax in TMYx files, so add a nil
299
299
  @extremes_design_info.insert(3, nil)
300
300
  end
@@ -22,10 +22,18 @@ module OpenstudioStandards
22
22
  require_relative 'openstudio-standards/constructions/materials/information'
23
23
  require_relative 'openstudio-standards/constructions/materials/modify'
24
24
 
25
+ # Equipment Module
26
+ require_relative 'openstudio-standards/equipment/create_typical_equipment'
27
+ require_relative 'openstudio-standards/equipment/create_transformer'
28
+
25
29
  # Infiltration Module
26
30
  require_relative 'openstudio-standards/infiltration/infiltration'
27
31
  require_relative 'openstudio-standards/infiltration/nist_infiltration'
28
32
 
33
+ # Interior Lighting Module
34
+ require_relative 'openstudio-standards/interior_lighting/create_lights'
35
+ require_relative 'openstudio-standards/interior_lighting/create_typical_interior_lighting'
36
+
29
37
  # Daylighting Module
30
38
  require_relative 'openstudio-standards/daylighting/space'
31
39
 
@@ -59,16 +67,43 @@ module OpenstudioStandards
59
67
  # Space Module
60
68
  require_relative 'openstudio-standards/space/space'
61
69
 
70
+ # Space Type Module
71
+ require_relative 'openstudio-standards/space_type/standards_space_type'
72
+
62
73
  # Thermal Zone Module
63
- require_relative 'openstudio-standards/thermal_zone/thermal_zone'
74
+ require_relative 'openstudio-standards/thermal_zone/information'
75
+ require_relative 'openstudio-standards/thermal_zone/thermostat_schedules'
64
76
 
65
77
  # HVAC Module
66
78
  require_relative 'openstudio-standards/hvac/air_loop/information'
79
+ require_relative 'openstudio-standards/hvac/cbecs_hvac'
80
+ require_relative 'openstudio-standards/hvac/curves'
81
+ require_relative 'openstudio-standards/hvac/components/air_conditioner_vrf'
82
+ require_relative 'openstudio-standards/hvac/components/air_terminal'
83
+ require_relative 'openstudio-standards/hvac/components/boiler_hot_water'
84
+ require_relative 'openstudio-standards/hvac/components/central_air_source_heat_pump'
85
+ require_relative 'openstudio-standards/hvac/components/chiller'
86
+ require_relative 'openstudio-standards/hvac/components/coil'
87
+ require_relative 'openstudio-standards/hvac/components/coil_cooling_dx_single_speed'
88
+ require_relative 'openstudio-standards/hvac/components/coil_cooling_dx_two_speed'
89
+ require_relative 'openstudio-standards/hvac/components/coil_cooling_dx_multi_speed'
90
+ require_relative 'openstudio-standards/hvac/components/coil_cooling_water_to_air_heat_pump_equation_fit'
91
+ require_relative 'openstudio-standards/hvac/components/coil_cooling_water'
92
+ require_relative 'openstudio-standards/hvac/components/coil_heating_dx_single_speed'
93
+ require_relative 'openstudio-standards/hvac/components/coil_heating_electric'
94
+ require_relative 'openstudio-standards/hvac/components/coil_heating_gas'
95
+ require_relative 'openstudio-standards/hvac/components/coil_heating_gas_multi_stage'
96
+ require_relative 'openstudio-standards/hvac/components/coil_heating_water_to_air_heat_pump_equation_fit'
97
+ require_relative 'openstudio-standards/hvac/components/coil_heating_water'
98
+ require_relative 'openstudio-standards/hvac/components/component'
99
+ require_relative 'openstudio-standards/hvac/components/fan'
100
+ require_relative 'openstudio-standards/hvac/components/heat_exchanger_air_to_air'
101
+ require_relative 'openstudio-standards/hvac/components/pump'
102
+ require_relative 'openstudio-standards/hvac/controls/radiant_system_controls'
103
+ require_relative 'openstudio-standards/hvac/conversions'
104
+ require_relative 'openstudio-standards/hvac/helpers'
67
105
  require_relative 'openstudio-standards/hvac/exhaust/create_exhaust_fan'
68
106
  require_relative 'openstudio-standards/hvac/setpoint_managers/information'
69
- require_relative 'openstudio-standards/hvac/cbecs_hvac'
70
- require_relative 'openstudio-standards/hvac/components/create'
71
- require_relative 'openstudio-standards/hvac/components/modify'
72
107
 
73
108
  # CreateTypical Module
74
109
  require_relative 'openstudio-standards/create_typical/enumerations'
@@ -106,7 +141,9 @@ module OpenstudioStandards
106
141
 
107
142
  # BTAP (Natural Resources Canada)
108
143
  require_relative 'openstudio-standards/btap/btap'
144
+ require_relative 'openstudio-standards/btap/common_paths'
109
145
  require_relative 'openstudio-standards/btap/costing/btap_costing'
146
+ require_relative 'openstudio-standards/btap/carbon/btap_carbon'
110
147
  require_relative 'openstudio-standards/btap/costing/ventilation_costing'
111
148
  require_relative 'openstudio-standards/btap/costing/envelope_costing'
112
149
  require_relative 'openstudio-standards/btap/costing/lighting_costing'
@@ -178,6 +215,7 @@ module OpenstudioStandards
178
215
  # NECB QAQC
179
216
  require_relative "#{stds}/necb/NECB2011/qaqc/necb_qaqc.rb"
180
217
  require_relative "#{stds}/necb/NECB2015/qaqc/necb_2015_qaqc.rb"
218
+ require_relative "#{stds}/necb/common/btap_analysis.rb"
181
219
  require_relative "#{stds}/necb/common/btap_data.rb"
182
220
  require_relative "#{stds}/necb/common/btap_datapoint.rb"
183
221
 
@@ -293,19 +331,15 @@ module OpenstudioStandards
293
331
  require_relative "#{stds}/Standards.CoolingTowerSingleSpeed"
294
332
  require_relative "#{stds}/Standards.CoolingTowerTwoSpeed"
295
333
  require_relative "#{stds}/Standards.CoolingTowerVariableSpeed"
296
- require_relative "#{stds}/Standards.FanConstantVolume"
297
- require_relative "#{stds}/Standards.FanOnOff"
298
334
  require_relative "#{stds}/Standards.FanVariableVolume"
299
- require_relative "#{stds}/Standards.FanZoneExhaust"
300
335
  require_relative "#{stds}/Standards.FluidCooler"
301
- require_relative "#{stds}/Standards.HeaderedPumpsConstantSpeed"
302
- require_relative "#{stds}/Standards.HeaderedPumpsVariableSpeed"
303
336
  require_relative "#{stds}/Standards.HeatExchangerSensLat"
304
337
  require_relative "#{stds}/Standards.Model"
305
338
  require_relative "#{stds}/Standards.Motor"
339
+ require_relative "#{stds}/Standards.People"
306
340
  require_relative "#{stds}/Standards.PlanarSurface"
307
341
  require_relative "#{stds}/Standards.PlantLoop"
308
- require_relative "#{stds}/Standards.PumpConstantSpeed"
342
+ require_relative "#{stds}/Standards.Pump"
309
343
  require_relative "#{stds}/Standards.PumpVariableSpeed"
310
344
  require_relative "#{stds}/Standards.ScheduleRuleset"
311
345
  require_relative "#{stds}/Standards.ServiceWaterHeating"
@@ -314,6 +348,7 @@ module OpenstudioStandards
314
348
  require_relative "#{stds}/Standards.SubSurface"
315
349
  require_relative "#{stds}/Standards.Surface"
316
350
  require_relative "#{stds}/Standards.ThermalZone"
351
+ require_relative "#{stds}/Standards.Ventilation"
317
352
  require_relative "#{stds}/Standards.WaterHeaterMixed"
318
353
  require_relative "#{stds}/Standards.ZoneHVACComponent"
319
354
  # 90.1 Common
@@ -324,6 +359,7 @@ module OpenstudioStandards
324
359
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.FanVariableVolume"
325
360
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.Model"
326
361
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PlantLoop"
362
+ require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PumpVariableSpeed"
327
363
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.ThermalZone"
328
364
  # 90.1-2007
329
365
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.AirLoopHVAC"
@@ -331,6 +367,7 @@ module OpenstudioStandards
331
367
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.ChillerElectricEIR"
332
368
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.FanVariableVolume"
333
369
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.Model"
370
+ require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.PumpVariableSpeed"
334
371
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.ThermalZone"
335
372
  # 90.1-2010
336
373
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirLoopHVAC"
@@ -343,6 +380,7 @@ module OpenstudioStandards
343
380
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.CoolingTowerVariableSpeed"
344
381
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.FanVariableVolume"
345
382
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Model"
383
+ require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.PumpVariableSpeed"
346
384
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Space"
347
385
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.ThermalZone"
348
386
  # 90.1-2013
@@ -358,6 +396,7 @@ module OpenstudioStandards
358
396
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Model"
359
397
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Motor"
360
398
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.PlantLoop"
399
+ require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.PumpVariableSpeed"
361
400
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Space"
362
401
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.ThermalZone"
363
402
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.WaterHeaterMixed"
@@ -373,6 +412,7 @@ module OpenstudioStandards
373
412
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanVariableVolume"
374
413
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model"
375
414
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Motor"
415
+ require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.PumpVariableSpeed"
376
416
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Space"
377
417
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.ThermalZone"
378
418
  # 90.1-2019
@@ -388,6 +428,8 @@ module OpenstudioStandards
388
428
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanVariableVolume"
389
429
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model"
390
430
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Motor"
431
+ require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Pump"
432
+ require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.PumpVariableSpeed"
391
433
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Space"
392
434
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.ThermalZone"
393
435
  require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.WaterHeaterMixed"
@@ -400,10 +442,7 @@ module OpenstudioStandards
400
442
  require_relative "#{stds}/ashrae_90_1_prm/ashrae_90_1_prm.AirTerminalSingleDuctVAVReheat"
401
443
  require_relative "#{stds}/ashrae_90_1_prm/ashrae_90_1_prm.ZoneHVACComponent"
402
444
  require_relative "#{stds}/ashrae_90_1_prm/ashrae_90_1_prm.PlantLoop"
403
- require_relative "#{stds}/ashrae_90_1_prm/ashrae_90_1_prm.FanConstantVolume"
404
- require_relative "#{stds}/ashrae_90_1_prm/ashrae_90_1_prm.FanOnOff"
405
445
  require_relative "#{stds}/ashrae_90_1_prm/ashrae_90_1_prm.FanVariableVolume"
406
- require_relative "#{stds}/ashrae_90_1_prm/ashrae_90_1_prm.FanZoneExhaust"
407
446
  require_relative "#{stds}/ashrae_90_1_prm/ashrae_90_1_prm.CoilDX"
408
447
  require_relative "#{stds}/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXSingleSpeed"
409
448
  require_relative "#{stds}/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXTwoSpeed"
@@ -491,6 +530,9 @@ module OpenstudioStandards
491
530
  require_relative "#{stds}/cbes/cbes.PlantLoop"
492
531
 
493
532
  ### Prototypes ###
533
+ # Mapping Old Standards Space Types
534
+ require_relative "#{proto}/common/prototype_space_type_map"
535
+
494
536
  # Building Types
495
537
  require_relative "#{proto}/common/buildings/Prototype.FullServiceRestaurant"
496
538
  require_relative "#{proto}/common/buildings/Prototype.HighRiseApartment"
@@ -527,22 +569,8 @@ module OpenstudioStandards
527
569
  create_meta_classes
528
570
 
529
571
  # Model Objects
530
- require_relative "#{proto}/common/objects/Prototype.AirConditionerVariableRefrigerantFlow"
531
572
  require_relative "#{proto}/common/objects/Prototype.AirTerminalSingleDuctVAVReheat"
532
- require_relative "#{proto}/common/objects/Prototype.BoilerHotWater"
533
- require_relative "#{proto}/common/objects/Prototype.CentralAirSourceHeatPump"
534
- require_relative "#{proto}/common/objects/Prototype.CoilCoolingDXSingleSpeed"
535
- require_relative "#{proto}/common/objects/Prototype.CoilCoolingDXTwoSpeed"
536
- require_relative "#{proto}/common/objects/Prototype.CoilCoolingWater"
537
- require_relative "#{proto}/common/objects/Prototype.CoilCoolingWaterToAirHeatPumpEquationFit"
538
- require_relative "#{proto}/common/objects/Prototype.CoilHeatingDXSingleSpeed"
539
- require_relative "#{proto}/common/objects/Prototype.CoilHeatingElectric"
540
- require_relative "#{proto}/common/objects/Prototype.CoilHeatingGas"
541
- require_relative "#{proto}/common/objects/Prototype.CoilHeatingWater"
542
- require_relative "#{proto}/common/objects/Prototype.CoilHeatingWaterToAirHeatPumpEquationFit"
543
- require_relative "#{proto}/common/objects/Prototype.ControllerWaterCoil"
544
573
  require_relative "#{proto}/common/objects/Prototype.CoolingTower"
545
- require_relative "#{proto}/common/objects/Prototype.radiant_system_controls"
546
574
  require_relative "#{proto}/common/objects/Prototype.Fan"
547
575
  require_relative "#{proto}/common/objects/Prototype.FanConstantVolume"
548
576
  require_relative "#{proto}/common/objects/Prototype.FanOnOff"
@@ -551,23 +579,17 @@ module OpenstudioStandards
551
579
  require_relative "#{proto}/common/objects/Prototype.HeatExchangerAirToAirSensibleAndLatent"
552
580
  require_relative "#{proto}/common/objects/Prototype.hvac_systems"
553
581
  require_relative "#{proto}/common/objects/Prototype.Model.elevators"
554
- require_relative "#{proto}/common/objects/Prototype.Model.transformers"
555
582
  require_relative "#{proto}/common/objects/Prototype.Model.hvac"
556
583
  require_relative "#{proto}/common/objects/Prototype.Model"
557
- require_relative "#{proto}/common/objects/Prototype.Pump"
558
- require_relative "#{proto}/common/objects/Prototype.PumpVariableSpeed"
559
584
  require_relative "#{proto}/common/objects/Prototype.refrigeration"
560
585
  require_relative "#{proto}/common/objects/Prototype.SizingSystem"
561
- require_relative "#{proto}/common/objects/Prototype.utilities"
562
586
  # 90.1-2004
563
587
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.AirTerminalSingleDuctVAVReheat"
564
- require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PumpVariableSpeed"
565
588
  # 90.1-2007
566
589
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.FanConstantVolume"
567
590
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.FanOnOff"
568
591
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.FanVariableVolume"
569
592
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.AirTerminalSingleDuctVAVReheat"
570
- require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.PumpVariableSpeed"
571
593
  # 90.1-2010
572
594
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.FanConstantVolume"
573
595
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.FanOnOff"
@@ -575,7 +597,6 @@ module OpenstudioStandards
575
597
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Model"
576
598
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Model.elevators"
577
599
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat"
578
- require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.PumpVariableSpeed"
579
600
  # 90.1-2013
580
601
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.FanConstantVolume"
581
602
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.FanOnOff"
@@ -584,7 +605,6 @@ module OpenstudioStandards
584
605
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Model.elevators"
585
606
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.hvac_systems"
586
607
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat"
587
- require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.PumpVariableSpeed"
588
608
  # 90.1-2016
589
609
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanConstantVolume"
590
610
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanOnOff"
@@ -593,7 +613,6 @@ module OpenstudioStandards
593
613
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.elevators"
594
614
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.hvac_systems"
595
615
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat"
596
- require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.PumpVariableSpeed"
597
616
  # 90.1-2019
598
617
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanConstantVolume"
599
618
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanOnOff"
@@ -602,8 +621,6 @@ module OpenstudioStandards
602
621
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.elevators"
603
622
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.hvac_systems"
604
623
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat"
605
- require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Pump"
606
- require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.PumpVariableSpeed"
607
624
  require_relative "#{proto}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Space"
608
625
  # DOE Ref 1980-2004
609
626
  require_relative "#{proto}/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.AirTerminalSingleDuctVAVReheat"