openstudio-standards 0.2.10 → 0.2.11.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (252) hide show
  1. checksums.yaml +5 -5
  2. data/data/geometry/ASHRAE90120042007LargeHotel.osm +101 -0
  3. data/data/geometry/ASHRAE90120042007RetailStandalone.osm +220 -0
  4. data/data/geometry/ASHRAE9012010LargeHotel.osm +101 -0
  5. data/data/geometry/ASHRAE9012010RetailStandalone.osm +218 -32
  6. data/data/geometry/ASHRAE9012013FullServiceRestaurant.osm +17 -0
  7. data/data/geometry/ASHRAE9012013Hospital.osm +288 -0
  8. data/data/geometry/ASHRAE9012013LargeHotel.osm +113 -12
  9. data/data/geometry/ASHRAE9012013LargeOffice.osm +205 -1
  10. data/data/geometry/ASHRAE9012013MediumOffice.osm +103 -1
  11. data/data/geometry/ASHRAE9012013Outpatient.osm +390 -102
  12. data/data/geometry/ASHRAE9012013PrimarySchool.osm +424 -0
  13. data/data/geometry/ASHRAE9012013QuickServiceRestaurant.osm +16 -0
  14. data/data/geometry/ASHRAE9012013RetailStandalone.osm +220 -0
  15. data/data/geometry/ASHRAE9012013SecondarySchool.osm +543 -0
  16. data/data/geometry/ASHRAE9012013SmallHotel.osm +50 -0
  17. data/data/geometry/ASHRAE9012013SmallOffice.osm +33 -0
  18. data/data/geometry/ASHRAE9012013Warehouse.osm +475 -238
  19. data/data/geometry/ASHRAEFullServiceRestaurant.osm +16 -0
  20. data/data/geometry/ASHRAEHospital.osm +288 -0
  21. data/data/geometry/ASHRAELargeOffice.osm +205 -1
  22. data/data/geometry/ASHRAELargeOfficeDetailed.osm +32 -32
  23. data/data/geometry/ASHRAEMediumOffice.osm +103 -1
  24. data/data/geometry/ASHRAEOutpatient.osm +390 -102
  25. data/data/geometry/ASHRAEPrimarySchool.osm +424 -0
  26. data/data/geometry/ASHRAEQuickServiceRestaurant.osm +16 -0
  27. data/data/geometry/ASHRAESecondarySchool.osm +1011 -162
  28. data/data/geometry/ASHRAESmallHotel.osm +50 -0
  29. data/data/geometry/ASHRAESmallOffice.osm +33 -0
  30. data/data/geometry/ASHRAEWarehouse.osm +476 -238
  31. data/data/standards/manage_OpenStudio_Standards.rb +1 -1
  32. data/data/standards/openstudio_standards_duplicates_log.csv +16 -0
  33. data/data/standards/test_performance_expected_dd_results.csv +1216 -1216
  34. data/data/weather/ARE_Abu.Dhabi.412170_IWEC.ddy +536 -0
  35. data/data/weather/ARE_Abu.Dhabi.412170_IWEC.epw +8768 -0
  36. data/data/weather/ARE_Abu.Dhabi.412170_IWEC.stat +544 -0
  37. data/data/weather/ARE_Dubai.Intl.AP.411940_IWEC2.ddy +533 -0
  38. data/data/weather/ARE_Dubai.Intl.AP.411940_IWEC2.epw +8768 -0
  39. data/data/weather/ARE_Dubai.Intl.AP.411940_IWEC2.stat +553 -0
  40. data/data/weather/VNM_Hanoi.488200_IWEC.ddy +533 -0
  41. data/data/weather/VNM_Hanoi.488200_IWEC.epw +8768 -0
  42. data/data/weather/VNM_Hanoi.488200_IWEC.stat +544 -0
  43. data/data/weather/VNM_Ho.Chi.Minh.City-Tan.Son.Nhat.AP.489000_IWEC2.ddy +533 -0
  44. data/data/weather/VNM_Ho.Chi.Minh.City-Tan.Son.Nhat.AP.489000_IWEC2.epw +8768 -0
  45. data/data/weather/VNM_Ho.Chi.Minh.City-Tan.Son.Nhat.AP.489000_IWEC2.stat +546 -0
  46. data/lib/openstudio-standards.rb +27 -0
  47. data/lib/openstudio-standards/btap/btap.model.rb +4 -4
  48. data/lib/openstudio-standards/btap/btap_result.rb +8 -8
  49. data/lib/openstudio-standards/btap/economics.rb +11 -11
  50. data/lib/openstudio-standards/btap/envelope.rb +5 -5
  51. data/lib/openstudio-standards/btap/hvac.rb +55 -11
  52. data/lib/openstudio-standards/btap/measures.rb +7 -7
  53. data/lib/openstudio-standards/btap/spaceloads.rb +4 -4
  54. data/lib/openstudio-standards/hvac_sizing/Siz.AirLoopHVAC.rb +105 -1
  55. data/lib/openstudio-standards/hvac_sizing/Siz.ControllerOutdoorAir.rb +2 -2
  56. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.AirTerminalSingleDuctVAVReheat.rb +0 -8
  57. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.AirTerminalSingleDuctVAVReheat.rb +0 -8
  58. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +0 -8
  59. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +0 -8
  60. data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +6 -1
  61. data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.HeatExchangerAirToAirSensibleAndLatent.rb +9 -0
  62. data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.Model.rb +3 -1
  63. data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +22 -0
  64. data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanConstantVolume.rb +32 -0
  65. data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanOnOff.rb +33 -0
  66. data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanVariableVolume.rb +32 -0
  67. data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.HeatExchangerAirToAirSensibleAndLatent.rb +9 -0
  68. data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.elevators.rb +25 -0
  69. data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.rb +35 -0
  70. data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.hvac_systems.rb +11 -0
  71. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Hospital.rb +17 -3
  72. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeHotel.rb +9 -0
  73. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOffice.rb +9 -0
  74. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOfficeDetailed.rb +22 -3
  75. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOffice.rb +9 -0
  76. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOfficeDetailed.rb +9 -0
  77. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Outpatient.rb +107 -5
  78. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.PrimarySchool.rb +9 -0
  79. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.RetailStandalone.rb +3 -0
  80. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SecondarySchool.rb +9 -0
  81. data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirTerminalSingleDuctVAVReheat.rb +0 -8
  82. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXTwoSpeed.rb +2 -2
  83. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingDXSingleSpeed.rb +2 -4
  84. data/lib/openstudio-standards/prototypes/common/objects/Prototype.HeatExchangerAirToAirSensibleAndLatent.rb +15 -4
  85. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.exterior_lights.rb +2 -2
  86. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +45 -5
  87. data/lib/openstudio-standards/prototypes/common/objects/Prototype.ServiceWaterHeating.rb +1 -1
  88. data/lib/openstudio-standards/prototypes/common/objects/Prototype.SizingSystem.rb +21 -2
  89. data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +251 -364
  90. data/lib/openstudio-standards/prototypes/common/objects/Prototype.radiant_system_controls.rb +4 -0
  91. data/lib/openstudio-standards/prototypes/common/objects/Prototype.refrigeration.rb +4 -5
  92. data/lib/openstudio-standards/refs/references.rb +4 -0
  93. data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +283 -97
  94. data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctParallelPIUReheat.rb +2 -2
  95. data/lib/openstudio-standards/standards/Standards.BuildingStory.rb +1 -1
  96. data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +1 -1
  97. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +1 -1
  98. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +5 -5
  99. data/lib/openstudio-standards/standards/Standards.CoilDX.rb +3 -1
  100. data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +1 -1
  101. data/lib/openstudio-standards/standards/Standards.Construction.rb +53 -45
  102. data/lib/openstudio-standards/standards/Standards.Fan.rb +10 -2
  103. data/lib/openstudio-standards/standards/Standards.FanVariableVolume.rb +4 -4
  104. data/lib/openstudio-standards/standards/Standards.HeatExchangerSensLat.rb +1 -1
  105. data/lib/openstudio-standards/standards/Standards.Model.rb +39 -18
  106. data/lib/openstudio-standards/standards/Standards.PlanarSurface.rb +8 -8
  107. data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +12 -12
  108. data/lib/openstudio-standards/standards/Standards.ScheduleConstant.rb +1 -1
  109. data/lib/openstudio-standards/standards/Standards.ScheduleRuleset.rb +2 -2
  110. data/lib/openstudio-standards/standards/Standards.Space.rb +190 -181
  111. data/lib/openstudio-standards/standards/Standards.SpaceType.rb +36 -59
  112. data/lib/openstudio-standards/standards/Standards.SubSurface.rb +3 -3
  113. data/lib/openstudio-standards/standards/Standards.Surface.rb +1 -1
  114. data/lib/openstudio-standards/standards/Standards.ThermalZone.rb +16 -12
  115. data/lib/openstudio-standards/standards/Standards.WaterHeaterMixed.rb +1 -1
  116. data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +16 -5
  117. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.AirLoopHVAC.rb +1 -1
  118. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/data/ashrae_90_1.schedules.json +159 -8
  119. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/data/comstock_ashrae_90_1_2004.spc_typ.json +1354 -1075
  120. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_properties.json +557 -17
  121. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.economizers.json +28 -28
  122. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ground_temperatures.json +36 -36
  123. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +233 -6
  124. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/ashrae_90_1.schedules.json +159 -8
  125. 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 +1356 -1077
  126. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_properties.json +480 -0
  127. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.economizers.json +28 -28
  128. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ground_temperatures.json +36 -36
  129. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +241 -14
  130. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirLoopHVAC.rb +0 -8
  131. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Space.rb +12 -7
  132. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/ashrae_90_1.schedules.json +159 -8
  133. 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 +1367 -1087
  134. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_properties.json +480 -0
  135. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ground_temperatures.json +36 -36
  136. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +233 -5
  137. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirLoopHVAC.rb +20 -27
  138. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Space.rb +8 -3
  139. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/data/ashrae_90_1.schedules.json +159 -8
  140. 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 +1432 -1138
  141. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_properties.json +480 -0
  142. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ground_temperatures.json +36 -36
  143. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +241 -5
  144. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.climate_zone_sets.json +37 -0
  145. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.climate_zones.json +39 -15
  146. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.constructions.json +489 -7
  147. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.curves.json +250 -0
  148. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.fans.json +12 -0
  149. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.materials.json +1920 -0
  150. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.schedules.json +5265 -9
  151. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/ashrae_90_1.schedules.json +159 -8
  152. 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 +2441 -1925
  153. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.construction_properties.json +16658 -2578
  154. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.spc_typ.json +212 -8
  155. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.Model.rb +11 -1
  156. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/data/ashrae_90_1.schedules.json +159 -8
  157. 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 +2403 -1889
  158. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.construction_properties.json +16664 -2584
  159. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.spc_typ.json +209 -7
  160. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.Model.rb +11 -1
  161. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.construction_properties.json +4113 -513
  162. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.construction_sets.json +40 -40
  163. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.elevators.json +1 -1
  164. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.ground_temperatures.json +650 -0
  165. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.heat_pumps.json +90 -2
  166. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.heat_pumps_heating.json +25 -5
  167. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.spc_typ.json +1909 -32
  168. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.water_heaters.json +8 -8
  169. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirLoopHVAC.rb +147 -155
  170. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +1 -1
  171. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.HeatExchangerSensLat.rb +29 -10
  172. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.Model.rb +4 -4
  173. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.PlantLoop.rb +45 -73
  174. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.ZoneHVACComponent.rb +4 -72
  175. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.boilers.json +20 -0
  176. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.chillers.json +400 -0
  177. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.construction_properties.json +4444 -0
  178. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.construction_sets.json +391 -0
  179. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.economizers.json +536 -0
  180. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.elevators.json +36 -0
  181. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.ext_ltg.json +169 -0
  182. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.ground_temperatures.json +650 -0
  183. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.heat_pumps.json +290 -0
  184. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.heat_pumps_heating.json +164 -0
  185. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.heat_rejection.json +40 -0
  186. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.motors.json +274 -0
  187. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.prototype_inputs.json +704 -0
  188. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.refrigeration_compressors.json +22 -0
  189. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.spc_typ.json +6424 -0
  190. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.unitary_acs.json +142 -0
  191. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.water_heaters.json +72 -0
  192. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.water_source_heat_pumps.json +31 -0
  193. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.water_source_heat_pumps_heating.json +13 -0
  194. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirLoopHVAC.rb +829 -0
  195. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +24 -0
  196. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTower.rb +19 -0
  197. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTowerSingleSpeed.rb +5 -0
  198. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTowerTwoSpeed.rb +5 -0
  199. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTowerVariableSpeed.rb +16 -0
  200. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanVariableVolume.rb +37 -0
  201. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.HeatExchangerSensLat.rb +34 -0
  202. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.rb +80 -0
  203. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.PlantLoop.rb +68 -0
  204. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Space.rb +146 -0
  205. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.ThermalZone.rb +23 -0
  206. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.ZoneHVACComponent.rb +8 -0
  207. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.rb +16 -0
  208. data/lib/openstudio-standards/standards/deer/deer_1985/data/deer_1985.heat_pumps_heating.json +5 -5
  209. data/lib/openstudio-standards/standards/deer/deer_1996/data/deer_1996.economizers.json +18 -0
  210. data/lib/openstudio-standards/standards/deer/deer_1996/data/deer_1996.heat_pumps_heating.json +5 -5
  211. data/lib/openstudio-standards/standards/deer/deer_2003/data/deer_2003.heat_pumps_heating.json +5 -5
  212. data/lib/openstudio-standards/standards/deer/deer_2007/data/deer_2007.heat_pumps_heating.json +5 -5
  213. data/lib/openstudio-standards/standards/deer/deer_2011/data/deer_2011.heat_pumps_heating.json +5 -5
  214. data/lib/openstudio-standards/standards/deer/deer_2014/data/deer_2014.heat_pumps_heating.json +5 -5
  215. data/lib/openstudio-standards/standards/deer/deer_2015/data/deer_2015.heat_pumps_heating.json +5 -5
  216. data/lib/openstudio-standards/standards/deer/deer_2017/data/deer_2017.heat_pumps_heating.json +1 -1
  217. data/lib/openstudio-standards/standards/deer/deer_2020/data/deer_2020.heat_pumps_heating.json +5 -5
  218. data/lib/openstudio-standards/standards/deer/deer_2025/data/deer_2025.heat_pumps_heating.json +5 -5
  219. data/lib/openstudio-standards/standards/deer/deer_2030/data/deer_2030.heat_pumps_heating.json +5 -5
  220. data/lib/openstudio-standards/standards/deer/deer_2035/data/deer_2035.heat_pumps_heating.json +5 -5
  221. data/lib/openstudio-standards/standards/deer/deer_2040/data/deer_2040.heat_pumps_heating.json +5 -5
  222. data/lib/openstudio-standards/standards/deer/deer_2045/data/deer_2045.heat_pumps_heating.json +5 -5
  223. data/lib/openstudio-standards/standards/deer/deer_2050/data/deer_2050.heat_pumps_heating.json +5 -5
  224. data/lib/openstudio-standards/standards/deer/deer_2055/data/deer_2055.heat_pumps_heating.json +5 -5
  225. data/lib/openstudio-standards/standards/deer/deer_2060/data/deer_2060.heat_pumps_heating.json +5 -5
  226. data/lib/openstudio-standards/standards/deer/deer_2065/data/deer_2065.heat_pumps_heating.json +5 -5
  227. data/lib/openstudio-standards/standards/deer/deer_2070/data/deer_2070.heat_pumps_heating.json +5 -5
  228. data/lib/openstudio-standards/standards/deer/deer_2075/data/deer_2075.heat_pumps_heating.json +5 -5
  229. data/lib/openstudio-standards/standards/deer/deer_pre_1975/data/deer_pre_1975.heat_pumps_heating.json +5 -5
  230. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_multi_speed.rb +5 -1
  231. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_multi_speed.rb +5 -1
  232. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_6.rb +5 -2
  233. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +8 -2
  234. data/lib/openstudio-standards/standards/necb/NECB2011/qaqc/necb_qaqc.rb +12 -12
  235. data/lib/openstudio-standards/version.rb +1 -1
  236. data/lib/openstudio-standards/weather/Weather.Model.rb +4 -0
  237. metadata +102 -18
  238. data/data/standards/OpenStudio_Standards-ashrae_90_1(space_types).xlsx +0 -0
  239. data/data/standards/OpenStudio_Standards-ashrae_90_1-ALL-comstock(space_types).xlsx +0 -0
  240. data/data/standards/OpenStudio_Standards-ashrae_90_1.xlsx +0 -0
  241. data/data/standards/OpenStudio_Standards-cbes(space_types).xlsx +0 -0
  242. data/data/standards/OpenStudio_Standards-cbes.xlsx +0 -0
  243. data/data/standards/OpenStudio_Standards-deer(space_types).xlsx +0 -0
  244. data/data/standards/OpenStudio_Standards-deer-ALL-comstock(space_types).xlsx +0 -0
  245. data/data/standards/OpenStudio_Standards-deer.xlsx +0 -0
  246. data/data/standards/OpenStudio_Standards_LA100.xlsx +0 -0
  247. data/data/standards/junk/legacy_dd_results - Copy.csv +0 -960
  248. data/data/standards/junk/legacy_dd_results.csv +0 -960
  249. data/data/standards/junk/legacy_dd_results_new - Copy.csv +0 -960
  250. data/data/standards/junk/legacy_dd_results_new.csv +0 -960
  251. data/data/standards/junk/legacy_dd_results_original.csv +0 -960
  252. data/lib/openstudio-standards/standards/necb/NECB2011/newway.json +0 -8102
@@ -183,15 +183,15 @@ class Standard
183
183
  lights_have_info = false
184
184
  lighting_per_area = space_type_properties['lighting_per_area'].to_f
185
185
  lighting_per_person = space_type_properties['lighting_per_person'].to_f
186
- lights_frac_to_return_air = space_type_properties['lighting_fraction_to_return_air'].to_f
187
- lights_frac_radiant = space_type_properties['lighting_fraction_radiant'].to_f
188
- lights_frac_visible = space_type_properties['lighting_fraction_visible'].to_f
186
+ lights_frac_to_return_air = space_type_properties['lighting_fraction_to_return_air']
187
+ lights_frac_radiant = space_type_properties['lighting_fraction_radiant']
188
+ lights_frac_visible = space_type_properties['lighting_fraction_visible']
189
189
  lights_frac_replaceable = space_type_properties['lighting_fraction_replaceable'].to_f
190
- lights_frac_linear_fluorescent = space_type_properties['lpd_fraction_linear_fluorescent'].to_f
191
- lights_frac_compact_fluorescent = space_type_properties['lpd_fraction_compact_fluorescent'].to_f
192
- lights_frac_high_bay = space_type_properties['lpd_fraction_high_bay'].to_f
193
- lights_frac_specialty_lighting = space_type_properties['lpd_fraction_specialty_lighting'].to_f
194
- lights_frac_exit_lighting = space_type_properties['lpd_fraction_exit_lighting'].to_f
190
+ lights_frac_linear_fluorescent = space_type_properties['lpd_fraction_linear_fluorescent']
191
+ lights_frac_compact_fluorescent = space_type_properties['lpd_fraction_compact_fluorescent']
192
+ lights_frac_high_bay = space_type_properties['lpd_fraction_high_bay']
193
+ lights_frac_specialty_lighting = space_type_properties['lpd_fraction_specialty_lighting']
194
+ lights_frac_exit_lighting = space_type_properties['lpd_fraction_exit_lighting']
195
195
  lights_have_info = true unless lighting_per_area.zero?
196
196
  lights_have_info = true unless lighting_per_person.zero?
197
197
 
@@ -229,33 +229,15 @@ class Standard
229
229
  definition.setWattsperPerson(OpenStudio.convert(lighting_per_person.to_f, 'W/person', 'W/person').get)
230
230
  OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.SpaceType', "#{space_type.name} set lighting to #{lighting_per_person} W/person.")
231
231
  end
232
- unless lights_frac_to_return_air.zero?
233
- definition.setReturnAirFraction(lights_frac_to_return_air)
234
- end
235
- unless lights_frac_radiant.zero?
236
- definition.setFractionRadiant(lights_frac_radiant)
237
- end
238
- unless lights_frac_visible.zero?
239
- definition.setFractionVisible(lights_frac_visible)
240
- end
241
- # unless lights_frac_replaceable.zero?
242
- # definition.setFractionReplaceable(lights_frac_replaceable)
243
- # end
244
- unless lights_frac_linear_fluorescent.zero?
245
- definition.additionalProperties.setFeature('lpd_fraction_linear_fluorescent', lights_frac_linear_fluorescent)
246
- end
247
- unless lights_frac_compact_fluorescent.zero?
248
- definition.additionalProperties.setFeature('lpd_fraction_compact_fluorescent', lights_frac_compact_fluorescent)
249
- end
250
- unless lights_frac_high_bay.zero?
251
- definition.additionalProperties.setFeature('lpd_fraction_high_bay', lights_frac_high_bay)
252
- end
253
- unless lights_frac_specialty_lighting.zero?
254
- definition.additionalProperties.setFeature('lpd_fraction_specialty_lighting', lights_frac_specialty_lighting)
255
- end
256
- unless lights_frac_exit_lighting.zero?
257
- definition.additionalProperties.setFeature('lpd_fraction_exit_lighting', lights_frac_exit_lighting)
258
- end
232
+ definition.setReturnAirFraction(lights_frac_to_return_air.to_f) if lights_frac_to_return_air
233
+ definition.setFractionRadiant(lights_frac_radiant.to_f) if lights_frac_radiant
234
+ definition.setFractionVisible(lights_frac_visible.to_f) if lights_frac_visible
235
+ # definition.setFractionReplaceable(lights_frac_replaceable) if lights_frac_replaceable
236
+ definition.additionalProperties.setFeature('lpd_fraction_linear_fluorescent', lights_frac_linear_fluorescent.to_f) if lights_frac_linear_fluorescent
237
+ definition.additionalProperties.setFeature('lpd_fraction_compact_fluorescent', lights_frac_compact_fluorescent.to_f) if lights_frac_compact_fluorescent
238
+ definition.additionalProperties.setFeature('lpd_fraction_high_bay', lights_frac_high_bay.to_f) if lights_frac_high_bay
239
+ definition.additionalProperties.setFeature('lpd_fraction_specialty_lighting', lights_frac_specialty_lighting.to_f) if lights_frac_specialty_lighting
240
+ definition.additionalProperties.setFeature('lpd_fraction_exit_lighting', lights_frac_exit_lighting.to_f) if lights_frac_exit_lighting
259
241
  end
260
242
 
261
243
  # If additional lights are specified, add those too
@@ -269,6 +251,13 @@ class Standard
269
251
  additional_lights_def.setFractionRadiant(lights_frac_radiant)
270
252
  additional_lights_def.setFractionVisible(lights_frac_visible)
271
253
 
254
+ # By default, all additional lighting is specialty lighting
255
+ additional_lights_def.additionalProperties.setFeature('lpd_fraction_linear_fluorescent', 0.0)
256
+ additional_lights_def.additionalProperties.setFeature('lpd_fraction_compact_fluorescent', 0.0)
257
+ additional_lights_def.additionalProperties.setFeature('lpd_fraction_high_bay', 0.0)
258
+ additional_lights_def.additionalProperties.setFeature('lpd_fraction_specialty_lighting', 1.0)
259
+ additional_lights_def.additionalProperties.setFeature('lpd_fraction_exit_lighting', 0.0)
260
+
272
261
  # Create the lighting instance and hook it up to the space type
273
262
  additional_lights = OpenStudio::Model::Lights.new(additional_lights_def)
274
263
  additional_lights.setName("#{space_type.name} Additional Lights")
@@ -280,9 +269,9 @@ class Standard
280
269
  # Electric Equipment
281
270
  elec_equip_have_info = false
282
271
  elec_equip_per_area = space_type_properties['electric_equipment_per_area'].to_f
283
- elec_equip_frac_latent = space_type_properties['electric_equipment_fraction_latent'].to_f
284
- elec_equip_frac_radiant = space_type_properties['electric_equipment_fraction_radiant'].to_f
285
- elec_equip_frac_lost = space_type_properties['electric_equipment_fraction_lost'].to_f
272
+ elec_equip_frac_latent = space_type_properties['electric_equipment_fraction_latent']
273
+ elec_equip_frac_radiant = space_type_properties['electric_equipment_fraction_radiant']
274
+ elec_equip_frac_lost = space_type_properties['electric_equipment_fraction_lost']
286
275
  elec_equip_have_info = true unless elec_equip_per_area.zero?
287
276
 
288
277
  if set_electric_equipment && elec_equip_have_info
@@ -312,15 +301,9 @@ class Standard
312
301
  definition.setWattsperSpaceFloorArea(OpenStudio.convert(elec_equip_per_area.to_f, 'W/ft^2', 'W/m^2').get)
313
302
  OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.SpaceType', "#{space_type.name} set electric EPD to #{elec_equip_per_area} W/ft^2.")
314
303
  end
315
- unless elec_equip_frac_latent.zero?
316
- definition.setFractionLatent(elec_equip_frac_latent)
317
- end
318
- unless elec_equip_frac_radiant.zero?
319
- definition.setFractionRadiant(elec_equip_frac_radiant)
320
- end
321
- unless elec_equip_frac_lost.zero?
322
- definition.setFractionLost(elec_equip_frac_lost)
323
- end
304
+ definition.setFractionLatent(elec_equip_frac_latent.to_f) if elec_equip_frac_latent
305
+ definition.setFractionRadiant(elec_equip_frac_radiant.to_f) if elec_equip_frac_radiant
306
+ definition.setFractionLost(elec_equip_frac_lost.to_f) if elec_equip_frac_lost
324
307
  end
325
308
 
326
309
  end
@@ -328,9 +311,9 @@ class Standard
328
311
  # Gas Equipment
329
312
  gas_equip_have_info = false
330
313
  gas_equip_per_area = space_type_properties['gas_equipment_per_area'].to_f
331
- gas_equip_frac_latent = space_type_properties['gas_equipment_fraction_latent'].to_f
332
- gas_equip_frac_radiant = space_type_properties['gas_equipment_fraction_radiant'].to_f
333
- gas_equip_frac_lost = space_type_properties['gas_equipment_fraction_lost'].to_f
314
+ gas_equip_frac_latent = space_type_properties['gas_equipment_fraction_latent']
315
+ gas_equip_frac_radiant = space_type_properties['gas_equipment_fraction_radiant']
316
+ gas_equip_frac_lost = space_type_properties['gas_equipment_fraction_lost']
334
317
  gas_equip_have_info = true unless gas_equip_per_area.zero?
335
318
 
336
319
  if set_gas_equipment && gas_equip_have_info
@@ -360,15 +343,9 @@ class Standard
360
343
  definition.setWattsperSpaceFloorArea(OpenStudio.convert(gas_equip_per_area.to_f, 'Btu/hr*ft^2', 'W/m^2').get)
361
344
  OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.SpaceType', "#{space_type.name} set gas EPD to #{gas_equip_per_area} Btu/hr*ft^2.")
362
345
  end
363
- unless gas_equip_frac_latent.zero?
364
- definition.setFractionLatent(gas_equip_frac_latent)
365
- end
366
- unless gas_equip_frac_radiant.zero?
367
- definition.setFractionRadiant(gas_equip_frac_radiant)
368
- end
369
- unless gas_equip_frac_lost.zero?
370
- definition.setFractionLost(gas_equip_frac_lost)
371
- end
346
+ definition.setFractionLatent(gas_equip_frac_latent.to_f) if gas_equip_frac_latent
347
+ definition.setFractionRadiant(gas_equip_frac_radiant.to_f) if gas_equip_frac_radiant
348
+ definition.setFractionLost(gas_equip_frac_lost.to_f) if gas_equip_frac_lost
372
349
  end
373
350
 
374
351
  end
@@ -46,7 +46,7 @@ class Standard
46
46
  when 'OverheadDoor'
47
47
  infil_rate_cfm_per_ft2 = component_infil_rates_cfm_per_ft2[type]['loading_dock_door']
48
48
  when 'GlassDoor'
49
- OpenStudio.logFree(OpenStudio::Info, 'openstudio.Standards.Model', "For #{sub_surface.name}, assuming swinging_or_revolving_glass_door for infiltration calculation.")
49
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.SubSurface', "For #{sub_surface.name}, assuming swinging_or_revolving_glass_door for infiltration calculation.")
50
50
  infil_rate_cfm_per_ft2 = component_infil_rates_cfm_per_ft2[type]['swinging_or_revolving_glass_door']
51
51
  when 'FixedWindow', 'OperableWindow'
52
52
  infil_rate_cfm_per_ft2 = component_infil_rates_cfm_per_ft2[type]['window']
@@ -55,7 +55,7 @@ class Standard
55
55
  end
56
56
  end
57
57
  if infil_rate_cfm_per_ft2.nil?
58
- OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Standards.Model', "For #{sub_surface.name}, could not determine surface type for infiltration, will not be included in calculation.")
58
+ OpenStudio.logFree(OpenStudio::Warn, 'openstudio.standards.SubSurface', "For #{sub_surface.name}, could not determine surface type for infiltration, will not be included in calculation.")
59
59
  return comp_infil_rate_m3_per_s
60
60
  end
61
61
 
@@ -241,7 +241,7 @@ class Standard
241
241
  surface.vertices.each do |surf_vert|
242
242
  surface.vertices.each do |surf_vert_2|
243
243
  unless surf_vert_2.z.to_f == surf_vert.z.to_f
244
- OpenStudio.logFree(OpenStudio::Error, 'openstudio.model.Model', "Currently skylights can only be added to buildings with non-plenum flat roofs.")
244
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.SubSurface', 'Currently skylights can only be added to buildings with non-plenum flat roofs.')
245
245
  end
246
246
  end
247
247
  end
@@ -57,7 +57,7 @@ class Standard
57
57
  end
58
58
  end
59
59
  if infil_rate_cfm_per_ft2.nil?
60
- OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Standards.Model', "For #{surface.name}, could not determine surface type for infiltration, will not be included in calculation.")
60
+ OpenStudio.logFree(OpenStudio::Warn, 'openstudio.standards.Surface', "For #{surface.name}, could not determine surface type for infiltration, will not be included in calculation.")
61
61
  return comp_infil_rate_m3_per_s
62
62
  end
63
63
 
@@ -64,7 +64,7 @@ class Standard
64
64
  # Convert to cfm
65
65
  tot_oa_flow_rate_cfm = OpenStudio.convert(tot_oa_flow_rate, 'm^3/s', 'cfm').get
66
66
 
67
- OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.Model', "For #{thermal_zone.name}, design min OA = #{tot_oa_flow_rate_cfm.round} cfm.")
67
+ OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "For #{thermal_zone.name}, design min OA = #{tot_oa_flow_rate_cfm.round} cfm.")
68
68
 
69
69
  return tot_oa_flow_rate
70
70
  end
@@ -254,13 +254,13 @@ class Standard
254
254
  end
255
255
 
256
256
  unless sch_name.nil?
257
- OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.Model', "Finding space schedules for #{sch_name}.")
257
+ OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "Finding space schedules for #{sch_name}.")
258
258
  end
259
- OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.Model', "The #{spaces.size} spaces have #{occ_schedules_num_occ.size} unique occ schedules.")
259
+ OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "The #{spaces.size} spaces have #{occ_schedules_num_occ.size} unique occ schedules.")
260
260
  occ_schedules_num_occ.each do |occ_sch, num_occ|
261
- OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.Model', "...#{occ_sch.name} - #{num_occ.round} people")
261
+ OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "...#{occ_sch.name} - #{num_occ.round} people")
262
262
  end
263
- OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.Model', " Total #{max_occ_in_spaces.round} people in #{spaces.size} spaces.")
263
+ OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', " Total #{max_occ_in_spaces.round} people in #{spaces.size} spaces.")
264
264
 
265
265
  # Store arrays of 365 day schedules used by each occ schedule once for later
266
266
  # Store arrays of day schedule times for later
@@ -437,7 +437,7 @@ class Standard
437
437
  end
438
438
 
439
439
  # If here, we need to make a rule to cover from the previous rule to today
440
- OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.Model', "Making a new rule for #{weekday} from #{end_of_prev_rule} to #{date}")
440
+ OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "Making a new rule for #{weekday} from #{end_of_prev_rule} to #{date}")
441
441
  sch_rule = OpenStudio::Model::ScheduleRule.new(sch_ruleset)
442
442
  sch_rule.setName("#{sch_name} #{weekday} Rule")
443
443
  day_sch = sch_rule.daySchedule
@@ -630,7 +630,7 @@ class Standard
630
630
  elsif htg_fuels.size.zero? && clg_fuels.size.zero?
631
631
  fuel_type = 'unconditioned'
632
632
  else
633
- OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Standards.Model', "For #{thermal_zone.name}, could not determine fuel type, assuming fossil. Heating fuels = #{htg_fuels.join(', ')}; cooling fuels = #{clg_fuels.join(', ')}.")
633
+ OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Standards.ThermalZone', "For #{thermal_zone.name}, could not determine fuel type, assuming fossil. Heating fuels = #{htg_fuels.join(', ')}; cooling fuels = #{clg_fuels.join(', ')}.")
634
634
  fuel_type = 'fossil'
635
635
  end
636
636
 
@@ -685,25 +685,25 @@ class Standard
685
685
  # Electric and fossil and district
686
686
  if htg_fuels.include?('Electricity') && htg_fuels.include?('DistrictHeating') && fossil
687
687
  is_mixed = true
688
- OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.Model', "For #{thermal_zone.name}, heating mixed electricity, fossil, and district.")
688
+ OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "For #{thermal_zone.name}, heating mixed electricity, fossil, and district.")
689
689
  end
690
690
 
691
691
  # Electric and fossil
692
692
  if htg_fuels.include?('Electricity') && fossil
693
693
  is_mixed = true
694
- OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.Model', "For #{thermal_zone.name}, heating mixed electricity and fossil.")
694
+ OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "For #{thermal_zone.name}, heating mixed electricity and fossil.")
695
695
  end
696
696
 
697
697
  # Electric and district
698
698
  if htg_fuels.include?('Electricity') && htg_fuels.include?('DistrictHeating')
699
699
  is_mixed = true
700
- OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.Model', "For #{thermal_zone.name}, heating mixed electricity and district.")
700
+ OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "For #{thermal_zone.name}, heating mixed electricity and district.")
701
701
  end
702
702
 
703
703
  # Fossil and district
704
704
  if fossil && htg_fuels.include?('DistrictHeating')
705
705
  is_mixed = true
706
- OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.Model', "For #{thermal_zone.name}, heating mixed fossil and district.")
706
+ OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "For #{thermal_zone.name}, heating mixed fossil and district.")
707
707
  end
708
708
 
709
709
  return is_mixed
@@ -1219,10 +1219,14 @@ class Standard
1219
1219
  # From Table 3.1 Heated Space Criteria
1220
1220
  htg_lim_btu_per_ft2 = 0.0
1221
1221
  case climate_zone
1222
- when 'ASHRAE 169-2006-1A',
1222
+ when 'ASHRAE 169-2006-0A',
1223
+ 'ASHRAE 169-2006-0B',
1224
+ 'ASHRAE 169-2006-1A',
1223
1225
  'ASHRAE 169-2006-1B',
1224
1226
  'ASHRAE 169-2006-2A',
1225
1227
  'ASHRAE 169-2006-2B',
1228
+ 'ASHRAE 169-2013-0A',
1229
+ 'ASHRAE 169-2013-0B',
1226
1230
  'ASHRAE 169-2013-1A',
1227
1231
  'ASHRAE 169-2013-1B',
1228
1232
  'ASHRAE 169-2013-2A',
@@ -190,7 +190,7 @@ class Standard
190
190
 
191
191
  # Append the name with standards information
192
192
  water_heater_mixed.setName("#{water_heater_mixed.name} #{water_heater_eff.round(3)} Therm Eff")
193
- OpenStudio.logFree(OpenStudio::Info, 'openstudio.model.WaterHeaterMixed', "For #{template}: #{water_heater_mixed.name}; thermal efficiency = #{water_heater_eff.round(3)}, skin-loss UA = #{ua_btu_per_hr_per_f.round}Btu/hr")
193
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.WaterHeaterMixed', "For #{template}: #{water_heater_mixed.name}; thermal efficiency = #{water_heater_eff.round(3)}, skin-loss UA = #{ua_btu_per_hr_per_f.round}Btu/hr")
194
194
 
195
195
  return true
196
196
  end
@@ -1,13 +1,18 @@
1
1
  class Standard
2
2
  # @!group ZoneHVACComponent
3
3
 
4
+ def zone_hvac_component_prm_baseline_fan_efficacy
5
+ fan_efficacy_w_per_cfm = 0.3
6
+ return fan_efficacy_w_per_cfm
7
+ end
8
+
4
9
  # Sets the fan power of zone level HVAC equipment
5
- # (PTACs, PTHPs, Fan Coils, and Unit Heaters)
10
+ # (Fan coils, Unit Heaters, PTACs, PTHPs, VRF Terminals, WSHPs, ERVs)
6
11
  # based on the W/cfm specified in the standard.
7
12
  #
8
13
  # @return [Bool] returns true if successful, false if not
9
14
  def zone_hvac_component_apply_prm_baseline_fan_power(zone_hvac_component)
10
- OpenStudio.logFree(OpenStudio::Debug, 'openstudio.model.ZoneHVACComponent', "Setting fan power for #{zone_hvac_component.name}.")
15
+ OpenStudio.logFree(OpenStudio::Debug, 'openstudio.standards.ZoneHVACComponent', "Setting fan power for #{zone_hvac_component.name}.")
11
16
 
12
17
  # Convert this to the actual class type
13
18
  zone_hvac = if zone_hvac_component.to_ZoneHVACFourPipeFanCoil.is_initialized
@@ -18,6 +23,12 @@ class Standard
18
23
  zone_hvac_component.to_ZoneHVACPackagedTerminalAirConditioner.get
19
24
  elsif zone_hvac_component.to_ZoneHVACPackagedTerminalHeatPump.is_initialized
20
25
  zone_hvac_component.to_ZoneHVACPackagedTerminalHeatPump.get
26
+ elsif zone_hvac_component.to_ZoneHVACTerminalUnitVariableRefrigerantFlow.is_initialized
27
+ zone_hvac_component.to_ZoneHVACTerminalUnitVariableRefrigerantFlow.get
28
+ elsif zone_hvac_component.to_ZoneHVACWaterToAirHeatPump.is_initialized
29
+ zone_hvac_component.to_ZoneHVACWaterToAirHeatPump.get
30
+ elsif zone_hvac_component.to_ZoneHVACEnergyRecoveryVentilator.is_initialized
31
+ zone_hvac_component.to_ZoneHVACEnergyRecoveryVentilator.get
21
32
  end
22
33
 
23
34
  # Do nothing for other types of zone HVAC equipment
@@ -26,7 +37,7 @@ class Standard
26
37
  end
27
38
 
28
39
  # Determine the W/cfm
29
- fan_efficacy_w_per_cfm = 0.3
40
+ fan_efficacy_w_per_cfm = zone_hvac_component_prm_baseline_fan_efficacy
30
41
 
31
42
  # Convert efficacy to metric
32
43
  # 1 cfm = 0.0004719 m^3/s
@@ -66,7 +77,7 @@ class Standard
66
77
  # Calculate the newly set efficacy
67
78
  fan_power_new_w = fan_rise_new_pa * max_air_flow_rate / fan_tot_eff
68
79
  fan_efficacy_new_w_per_cfm = fan_power_new_w / max_air_flow_rate_cfm
69
- OpenStudio.logFree(OpenStudio::Info, 'openstudio.model.ZoneHVACComponent', "For #{zone_hvac_component.name}: fan efficacy set to #{fan_efficacy_new_w_per_cfm.round(2)} W/cfm.")
80
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.ZoneHVACComponent', "For #{zone_hvac_component.name}: fan efficacy set to #{fan_efficacy_new_w_per_cfm.round(2)} W/cfm.")
70
81
 
71
82
  return true
72
83
  end
@@ -199,7 +210,7 @@ class Standard
199
210
  vestibule_htg_mgr.setCallingPoint('BeginTimestepBeforePredictor')
200
211
  vestibule_htg_mgr.addProgram(vestibule_htg_prg)
201
212
 
202
- OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.AirLoopHVAC', "For #{zone_hvac_component.name}: Vestibule heating control applied, heating disabled below #{htg_lim_f} F.")
213
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.ZoneHVACComponent', "For #{zone_hvac_component.name}: Vestibule heating control applied, heating disabled below #{htg_lim_f} F.")
203
214
 
204
215
  return true
205
216
  end
@@ -75,7 +75,7 @@ class ASHRAE9012004 < ASHRAE901
75
75
  if min_int_area_served_ft2 == infinity_ft2 && min_ext_area_served_ft2 == infinity_ft2
76
76
  OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.AirLoopHVAC', "For #{air_loop_hvac.name}: Economizer not required for climate zone #{climate_zone}.")
77
77
  else
78
- OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.AirLoopHVAC', "For #{air_loop_hvac.name}: Economizer not required for because the interior area served of #{int_area_served_m2} ft2 < minimum of #{min_int_area_served_m2} and the perimeter area served of #{ext_area_served_m2} ft2 < minimum of #{min_ext_area_served_m2} for climate zone #{climate_zone}.")
78
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.AirLoopHVAC', "For #{air_loop_hvac.name}: Economizer not required for because the interior area served of #{int_area_served_m2} ft2 is less than the minimum of #{min_int_area_served_m2} and the perimeter area served of #{ext_area_served_m2} ft2 is less than the minimum of #{min_ext_area_served_m2} for climate zone #{climate_zone}.")
79
79
  end
80
80
  return economizer_required
81
81
  end
@@ -4140,7 +4140,7 @@
4140
4140
  "name": "Courthouse COURTROOM_OCC_SCH",
4141
4141
  "category": "Occupancy",
4142
4142
  "units": "FRACTION",
4143
- "day_types": "WtrDsn|SmrDsn",
4143
+ "day_types": "WntrDsn|SmrDsn",
4144
4144
  "start_date": "2018-01-01T00:00:00+00:00",
4145
4145
  "end_date": "2018-12-31T00:00:00+00:00",
4146
4146
  "type": "Hourly",
@@ -250938,7 +250938,7 @@
250938
250938
  "day_types": "Default|WntrDsn|SmrDsn",
250939
250939
  "start_date": "2014-01-01T00:00:00+00:00",
250940
250940
  "end_date": "2014-12-31T00:00:00+00:00",
250941
- "type": "Constant",
250941
+ "type": "Hourly",
250942
250942
  "notes": "From DOE Prototype Buildings",
250943
250943
  "values": [
250944
250944
  0.0,
@@ -271090,7 +271090,7 @@
271090
271090
  "day_types": "Default",
271091
271091
  "start_date": "2014-01-01T00:00:00+00:00",
271092
271092
  "end_date": "2014-12-31T00:00:00+00:00",
271093
- "type": "Constant",
271093
+ "type": "Hourly",
271094
271094
  "notes": "From DOE Prototype Buildings",
271095
271095
  "values": [
271096
271096
  0.2210823264,
@@ -282083,7 +282083,7 @@
282083
282083
  "day_types": "Default",
282084
282084
  "start_date": "2014-01-01T00:00:00+00:00",
282085
282085
  "end_date": "2014-12-31T00:00:00+00:00",
282086
- "type": "Constant",
282086
+ "type": "Hourly",
282087
282087
  "notes": "From DOE Prototype Buildings",
282088
282088
  "values": [
282089
282089
  0.05,
@@ -317626,7 +317626,7 @@
317626
317626
  "name": "SchoolPrimary KITCHEN_GAS_EQUIP_SCH",
317627
317627
  "category": "Equipment",
317628
317628
  "units": null,
317629
- "day_types": "DummrySmrDsn",
317629
+ "day_types": "DummySmrDsn",
317630
317630
  "start_date": "2014-01-01T00:00:00+00:00",
317631
317631
  "end_date": "2014-12-31T00:00:00+00:00",
317632
317632
  "type": "Hourly",
@@ -327285,7 +327285,7 @@
327285
327285
  "name": "SchoolSecondary KITCHEN_GAS_EQUIP_SCH",
327286
327286
  "category": "Equipment",
327287
327287
  "units": null,
327288
- "day_types": "DummrySmrDsn",
327288
+ "day_types": "DummySmrDsn",
327289
327289
  "start_date": "2014-01-01T00:00:00+00:00",
327290
327290
  "end_date": "2014-12-31T00:00:00+00:00",
327291
327291
  "type": "Hourly",
@@ -334295,6 +334295,7 @@
334295
334295
  0.05,
334296
334296
  0.05,
334297
334297
  0.05,
334298
+ 0.05,
334298
334299
  0.1,
334299
334300
  0.1,
334300
334301
  0.4,
@@ -336013,7 +336014,7 @@
336013
336014
  "day_types": "SmrDsn",
336014
336015
  "start_date": "2014-01-01T00:00:00+00:00",
336015
336016
  "end_date": "2014-12-31T00:00:00+00:00",
336016
- "type": "Constant",
336017
+ "type": "Hourly",
336017
336018
  "notes": "From AEDG Baseline",
336018
336019
  "values": [
336019
336020
  0.01,
@@ -336685,6 +336686,156 @@
336685
336686
  0.0
336686
336687
  ]
336687
336688
  },
336689
+ {
336690
+ "name": "Warehouse BLDG_LIGHT_OFFICE_SCH_2010",
336691
+ "category": "Lighting",
336692
+ "units": null,
336693
+ "day_types": "Default",
336694
+ "start_date": "2014-01-01T00:00:00+00:00",
336695
+ "end_date": "2014-12-31T00:00:00+00:00",
336696
+ "type": "Constant",
336697
+ "notes": "From DOE Prototype Buildings",
336698
+ "values": [
336699
+ 0.18
336700
+ ]
336701
+ },
336702
+ {
336703
+ "name": "Warehouse BLDG_LIGHT_OFFICE_SCH_2010",
336704
+ "category": "Lighting",
336705
+ "units": null,
336706
+ "day_types": "Sat|Wkdy",
336707
+ "start_date": "2014-01-01T00:00:00+00:00",
336708
+ "end_date": "2014-12-31T00:00:00+00:00",
336709
+ "type": "Hourly",
336710
+ "notes": "From DOE Prototype Buildings",
336711
+ "values": [
336712
+ 0.18,
336713
+ 0.18,
336714
+ 0.18,
336715
+ 0.18,
336716
+ 0.18,
336717
+ 0.18,
336718
+ 0.196742,
336719
+ 0.359268,
336720
+ 0.658658,
336721
+ 0.658658,
336722
+ 0.658658,
336723
+ 0.658658,
336724
+ 0.581672,
336725
+ 0.658658,
336726
+ 0.658658,
336727
+ 0.658658,
336728
+ 0.658658,
336729
+ 0.521794,
336730
+ 0.18,
336731
+ 0.18,
336732
+ 0.18,
336733
+ 0.18,
336734
+ 0.18,
336735
+ 0.18
336736
+ ]
336737
+ },
336738
+ {
336739
+ "name": "Warehouse BLDG_LIGHT_OFFICE_SCH_2010",
336740
+ "category": "Lighting",
336741
+ "units": null,
336742
+ "day_types": "SmrDsn",
336743
+ "start_date": "2014-01-01T00:00:00+00:00",
336744
+ "end_date": "2014-12-31T00:00:00+00:00",
336745
+ "type": "Constant",
336746
+ "notes": "From DOE Prototype Buildings",
336747
+ "values": [
336748
+ 1.0
336749
+ ]
336750
+ },
336751
+ {
336752
+ "name": "Warehouse BLDG_LIGHT_OFFICE_SCH_2010",
336753
+ "category": "Lighting",
336754
+ "units": null,
336755
+ "day_types": "WntrDsn",
336756
+ "start_date": "2014-01-01T00:00:00+00:00",
336757
+ "end_date": "2014-12-31T00:00:00+00:00",
336758
+ "type": "Constant",
336759
+ "notes": "From DOE Prototype Buildings",
336760
+ "values": [
336761
+ 0.0
336762
+ ]
336763
+ },
336764
+ {
336765
+ "name": "Warehouse BLDG_LIGHT_OFFICE_SCH_2013",
336766
+ "category": "Lighting",
336767
+ "units": null,
336768
+ "day_types": "Default",
336769
+ "start_date": "2014-01-01T00:00:00+00:00",
336770
+ "end_date": "2014-12-31T00:00:00+00:00",
336771
+ "type": "Constant",
336772
+ "notes": "From DOE Prototype Buildings",
336773
+ "values": [
336774
+ 0.18
336775
+ ]
336776
+ },
336777
+ {
336778
+ "name": "Warehouse BLDG_LIGHT_OFFICE_SCH_2013",
336779
+ "category": "Lighting",
336780
+ "units": null,
336781
+ "day_types": "Sat|Wkdy",
336782
+ "start_date": "2014-01-01T00:00:00+00:00",
336783
+ "end_date": "2014-12-31T00:00:00+00:00",
336784
+ "type": "Hourly",
336785
+ "notes": "From DOE Prototype Buildings",
336786
+ "values": [
336787
+ 0.18,
336788
+ 0.18,
336789
+ 0.18,
336790
+ 0.18,
336791
+ 0.18,
336792
+ 0.18,
336793
+ 0.18788861,
336794
+ 0.34310094,
336795
+ 0.62901839,
336796
+ 0.62901839,
336797
+ 0.62901839,
336798
+ 0.62901839,
336799
+ 0.55549676,
336800
+ 0.62901839,
336801
+ 0.62901839,
336802
+ 0.62901839,
336803
+ 0.62901839,
336804
+ 0.49831327,
336805
+ 0.18,
336806
+ 0.18,
336807
+ 0.18,
336808
+ 0.18,
336809
+ 0.18,
336810
+ 0.18
336811
+ ]
336812
+ },
336813
+ {
336814
+ "name": "Warehouse BLDG_LIGHT_OFFICE_SCH_2013",
336815
+ "category": "Lighting",
336816
+ "units": null,
336817
+ "day_types": "SmrDsn",
336818
+ "start_date": "2014-01-01T00:00:00+00:00",
336819
+ "end_date": "2014-12-31T00:00:00+00:00",
336820
+ "type": "Constant",
336821
+ "notes": "From DOE Prototype Buildings",
336822
+ "values": [
336823
+ 1.0
336824
+ ]
336825
+ },
336826
+ {
336827
+ "name": "Warehouse BLDG_LIGHT_OFFICE_SCH_2013",
336828
+ "category": "Lighting",
336829
+ "units": null,
336830
+ "day_types": "WntrDsn",
336831
+ "start_date": "2014-01-01T00:00:00+00:00",
336832
+ "end_date": "2014-12-31T00:00:00+00:00",
336833
+ "type": "Constant",
336834
+ "notes": "From DOE Prototype Buildings",
336835
+ "values": [
336836
+ 0.0
336837
+ ]
336838
+ },
336688
336839
  {
336689
336840
  "name": "Warehouse BLDG_LIGHT_STORAGE_SCH",
336690
336841
  "category": "Lighting",
@@ -337195,7 +337346,7 @@
337195
337346
  "day_types": "Wknd",
337196
337347
  "start_date": "2014-01-01T00:00:00+00:00",
337197
337348
  "end_date": "2014-12-31T00:00:00+00:00",
337198
- "type": "Constant",
337349
+ "type": "Hourly",
337199
337350
  "notes": null,
337200
337351
  "values": [
337201
337352
  0.765,