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
@@ -44,12 +44,12 @@ class OpenStudio::Model::ControllerOutdoorAir
44
44
 
45
45
  # Get the airloop connected to this controller
46
46
  if airLoopHVACOutdoorAirSystem.empty?
47
- OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Siz.ControllerOutdoorAir', "#{name} is not connected to an airLoopHVACOutdoorAirSystem, cannot determine autosizedMinimumOutdoorAirFlowRate accuractely.")
47
+ OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Siz.ControllerOutdoorAir', "#{name} is not connected to an airLoopHVACOutdoorAirSystem, cannot determine autosizedMinimumOutdoorAirFlowRate accurately.")
48
48
  return oa
49
49
  end
50
50
  oa_sys = airLoopHVACOutdoorAirSystem.get
51
51
  if oa_sys.airLoop.empty?
52
- OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Siz.ControllerOutdoorAir', "#{name}'s airLoopHVACOutdoorAirSystem is not assigned to an AirLoop, cannot determine autosizedMinimumOutdoorAirFlowRate accuractely.")
52
+ OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Siz.ControllerOutdoorAir', "#{name}'s airLoopHVACOutdoorAirSystem is not assigned to an AirLoop, cannot determine autosizedMinimumOutdoorAirFlowRate accurately.")
53
53
  return oa
54
54
  end
55
55
  air_loop = oa_sys.airLoop.get
@@ -9,14 +9,6 @@ class ASHRAE9012004 < ASHRAE901
9
9
  def air_terminal_single_duct_vav_reheat_apply_initial_prototype_damper_position(air_terminal_single_duct_vav_reheat, zone_oa_per_area)
10
10
  min_damper_position = 0.3
11
11
 
12
- # High OA zones
13
- # Determine whether or not to use the high minimum guess.
14
- # Cutoff was determined by correlating apparent minimum guesses
15
- # to OA rates in prototypes since not well documented in papers.
16
- if zone_oa_per_area > 0.001 # 0.001 m^3/s*m^2 = .196 cfm/ft2
17
- min_damper_position = 0.7
18
- end
19
-
20
12
  # Set the minimum flow fraction
21
13
  air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
22
14
 
@@ -9,14 +9,6 @@ class ASHRAE9012007 < ASHRAE901
9
9
  def air_terminal_single_duct_vav_reheat_apply_initial_prototype_damper_position(air_terminal_single_duct_vav_reheat, zone_oa_per_area)
10
10
  min_damper_position = 0.3
11
11
 
12
- # High OA zones
13
- # Determine whether or not to use the high minimum guess.
14
- # Cutoff was determined by correlating apparent minimum guesses
15
- # to OA rates in prototypes since not well documented in papers.
16
- if zone_oa_per_area > 0.001 # 0.001 m^3/s*m^2 = .196 cfm/ft2
17
- min_damper_position = 0.7
18
- end
19
-
20
12
  # Set the minimum flow fraction
21
13
  air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
22
14
 
@@ -14,14 +14,6 @@ class ASHRAE9012010 < ASHRAE901
14
14
  0.3
15
15
  end
16
16
 
17
- # High OA zones
18
- # Determine whether or not to use the high minimum guess.
19
- # Cutoff was determined by correlating apparent minimum guesses
20
- # to OA rates in prototypes since not well documented in papers.
21
- if zone_oa_per_area > 0.001 # 0.001 m^3/s*m^2 = .196 cfm/ft2
22
- min_damper_position = 0.7
23
- end
24
-
25
17
  # Set the minimum flow fraction
26
18
  air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
27
19
 
@@ -14,14 +14,6 @@ class ASHRAE9012013 < ASHRAE901
14
14
  0.3
15
15
  end
16
16
 
17
- # High OA zones
18
- # Determine whether or not to use the high minimum guess.
19
- # Cutoff was determined by correlating apparent minimum guesses
20
- # to OA rates in prototypes since not well documented in papers.
21
- if zone_oa_per_area > 0.001 # 0.001 m^3/s*m^2 = .196 cfm/ft2
22
- min_damper_position = 0.7
23
- end
24
-
25
17
  # Set the minimum flow fraction
26
18
  air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
27
19
 
@@ -7,9 +7,14 @@ class NRELZNEReady2017 < ASHRAE901
7
7
  # @param zone_oa_per_area [Double] the zone outdoor air per area, m^3/s
8
8
  # @return [Bool] returns true if successful, false if not
9
9
  def air_terminal_single_duct_vav_reheat_apply_initial_prototype_damper_position(air_terminal_single_duct_vav_reheat, zone_oa_per_area)
10
+ min_damper_position = case air_terminal_single_duct_vav_reheat_reheat_type(air_terminal_single_duct_vav_reheat)
11
+ when 'HotWater'
12
+ 0.2
13
+ when 'Electricity', 'NaturalGas'
14
+ 0.3
15
+ end
10
16
 
11
17
  # Set the minimum flow fraction
12
- min_damper_position = 0.1
13
18
  air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
14
19
 
15
20
  return true
@@ -0,0 +1,9 @@
1
+ class NRELZNEReady2017 < ASHRAE901
2
+ # @!group HeatExchangerAirToAirSensibleAndLatent
3
+
4
+ # Default fan efficiency assumption for the prm added fan power
5
+ def heat_exchanger_air_to_air_sensible_and_latent_prototype_default_fan_efficiency
6
+ default_fan_efficiency = 0.55
7
+ return default_fan_efficiency
8
+ end
9
+ end
@@ -16,10 +16,12 @@ class NRELZNEReady2017 < ASHRAE901
16
16
  # 'DifferentialDryBulbAndEnthalpy'
17
17
  def model_economizer_type(model, climate_zone)
18
18
  economizer_type = case climate_zone
19
- when 'ASHRAE 169-2006-1A',
19
+ when 'ASHRAE 169-2006-0A',
20
+ 'ASHRAE 169-2006-1A',
20
21
  'ASHRAE 169-2006-2A',
21
22
  'ASHRAE 169-2006-3A',
22
23
  'ASHRAE 169-2006-4A',
24
+ 'ASHRAE 169-2013-0A',
23
25
  'ASHRAE 169-2013-1A',
24
26
  'ASHRAE 169-2013-2A',
25
27
  'ASHRAE 169-2013-3A',
@@ -0,0 +1,22 @@
1
+ class ZEAEDGMultifamily < ASHRAE901
2
+ # @!group AirTerminalSingleDuctVAVReheat
3
+ # Set the initial minimum damper position based on OA rate of the space and the template.
4
+ # Zones with low OA per area get lower initial guesses.
5
+ # Final position will be adjusted upward as necessary by Standards.AirLoopHVAC.apply_minimum_vav_damper_positions
6
+ #
7
+ # @param zone_oa_per_area [Double] the zone outdoor air per area, m^3/s
8
+ # @return [Bool] returns true if successful, false if not
9
+ def air_terminal_single_duct_vav_reheat_apply_initial_prototype_damper_position(air_terminal_single_duct_vav_reheat, zone_oa_per_area)
10
+ min_damper_position = case air_terminal_single_duct_vav_reheat_reheat_type(air_terminal_single_duct_vav_reheat)
11
+ when 'HotWater'
12
+ 0.2
13
+ when 'Electricity', 'NaturalGas'
14
+ 0.3
15
+ end
16
+
17
+ # Set the minimum flow fraction
18
+ air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
19
+
20
+ return true
21
+ end
22
+ end
@@ -0,0 +1,32 @@
1
+ class ZEAEDGMultifamily < ASHRAE901
2
+ # @!group FanConstantVolume
3
+
4
+ # Determine the prototype fan pressure rise for a constant volume
5
+ # fan on an AirLoopHVAC based on the airflow of the system.
6
+ # @return [Double] the pressure rise (in H2O). Defaults
7
+ # to the logic from ASHRAE 90.1-2004 prototypes.
8
+ def fan_constant_volume_airloop_fan_pressure_rise(fan_constant_volume)
9
+ # Get the max flow rate from the fan.
10
+ maximum_flow_rate_m3_per_s = nil
11
+ if fan_constant_volume.maximumFlowRate.is_initialized
12
+ maximum_flow_rate_m3_per_s = fan_constant_volume.maximumFlowRate.get
13
+ elsif fan_constant_volume.autosizedMaximumFlowRate.is_initialized
14
+ maximum_flow_rate_m3_per_s = fan_constant_volume.autosizedMaximumFlowRate.get
15
+ else
16
+ OpenStudio.logFree(OpenStudio::Warn, 'openstudio.prototype.FanConstantVolume', "For #{fan_constant_volume.name} max flow rate is not available, cannot apply prototype assumptions.")
17
+ return false
18
+ end
19
+
20
+ # Convert max flow rate to cfm
21
+ maximum_flow_rate_cfm = OpenStudio.convert(maximum_flow_rate_m3_per_s, 'm^3/s', 'cfm').get
22
+
23
+ # Determine the pressure rise
24
+ pressure_rise_in_h2o = if maximum_flow_rate_cfm < 7437
25
+ 2.5
26
+ else # Over 7,437 cfm
27
+ 4.09
28
+ end
29
+
30
+ return pressure_rise_in_h2o
31
+ end
32
+ end
@@ -0,0 +1,33 @@
1
+ class ZEAEDGMultifamily < ASHRAE901
2
+ # @!group FanOnOff
3
+
4
+ # Determine the prototype fan pressure rise for an on off
5
+ # fan on an AirLoopHVAC or inside a unitary system
6
+ # based on the airflow of the system.
7
+ # @return [Double] the pressure rise (in H2O). Defaults
8
+ # to the logic from ASHRAE 90.1-2004 prototypes.
9
+ def fan_on_off_airloop_or_unitary_fan_pressure_rise(fan_on_off)
10
+ # Get the max flow rate from the fan.
11
+ maximum_flow_rate_m3_per_s = nil
12
+ if fan_on_off.maximumFlowRate.is_initialized
13
+ maximum_flow_rate_m3_per_s = fan_on_off.maximumFlowRate.get
14
+ elsif fan_on_off.autosizedMaximumFlowRate.is_initialized
15
+ maximum_flow_rate_m3_per_s = fan_on_off.autosizedMaximumFlowRate.get
16
+ else
17
+ OpenStudio.logFree(OpenStudio::Warn, 'openstudio.prototype.FanOnOff', "For #{fan_on_off.name} max flow rate is not available, cannot apply prototype assumptions.")
18
+ return false
19
+ end
20
+
21
+ # Convert max flow rate to cfm
22
+ maximum_flow_rate_cfm = OpenStudio.convert(maximum_flow_rate_m3_per_s, 'm^3/s', 'cfm').get
23
+
24
+ # Determine the pressure rise
25
+ pressure_rise_in_h2o = if maximum_flow_rate_cfm < 7437
26
+ 2.5
27
+ else # Over 7,437 cfm
28
+ 4.09
29
+ end
30
+
31
+ return pressure_rise_in_h2o
32
+ end
33
+ end
@@ -0,0 +1,32 @@
1
+ class ZEAEDGMultifamily < ASHRAE901
2
+ # @!group FanVariableVolume
3
+
4
+ # Determine the prototype fan pressure rise for a variable volume
5
+ # fan on an AirLoopHVAC based on the airflow of the system.
6
+ # @return [Double] the pressure rise (in H2O). Defaults
7
+ # to the logic from ASHRAE 90.1-2004 prototypes.
8
+ def fan_variable_volume_airloop_fan_pressure_rise(fan_variable_volume)
9
+ # Get the max flow rate from the fan.
10
+ maximum_flow_rate_m3_per_s = nil
11
+ if fan_variable_volume.maximumFlowRate.is_initialized
12
+ maximum_flow_rate_m3_per_s = fan_variable_volume.maximumFlowRate.get
13
+ elsif fan_variable_volume.autosizedMaximumFlowRate.is_initialized
14
+ maximum_flow_rate_m3_per_s = fan_variable_volume.autosizedMaximumFlowRate.get
15
+ else
16
+ OpenStudio.logFree(OpenStudio::Warn, 'openstudio.prototype.FanVariableVolume', "For #{fan_variable_volume.name} max flow rate is not available, cannot apply prototype assumptions.")
17
+ return false
18
+ end
19
+
20
+ # Convert max flow rate to cfm
21
+ maximum_flow_rate_cfm = OpenStudio.convert(maximum_flow_rate_m3_per_s, 'm^3/s', 'cfm').get
22
+
23
+ # Determine the pressure rise
24
+ pressure_rise_in_h2o = if maximum_flow_rate_cfm < 4648
25
+ 4.0
26
+ else # Over 7,437 cfm
27
+ 5.58
28
+ end
29
+
30
+ return pressure_rise_in_h2o
31
+ end
32
+ end
@@ -0,0 +1,9 @@
1
+ class ZEAEDGMultifamily < ASHRAE901
2
+ # @!group HeatExchangerAirToAirSensibleAndLatent
3
+
4
+ # Default fan efficiency assumption for the prm added fan power
5
+ def heat_exchanger_air_to_air_sensible_and_latent_prototype_default_fan_efficiency
6
+ default_fan_efficiency = 0.55
7
+ return default_fan_efficiency
8
+ end
9
+ end
@@ -0,0 +1,25 @@
1
+ class ZEAEDGMultifamily < ASHRAE901
2
+ # @!group elevators
3
+
4
+ # Determines the percentage of the elevator cab
5
+ # lighting that is incandescent. The remainder
6
+ # is assumed to be LED. Defaults to 0% incandescent
7
+ # (100% LED), representing newer elevators.
8
+ def model_elevator_lighting_pct_incandescent(model)
9
+ pct_incandescent = 0.0 # 100% LED
10
+ return pct_incandescent
11
+ end
12
+
13
+ # Determines the power of the elevator ventilation fan.
14
+ # Same as 90.1-2013, which has a requirement
15
+ # for ventilation fan efficiency.
16
+ # @return [Double] the ventilaton fan power (W)
17
+ def model_elevator_fan_pwr(model, vent_rate_cfm)
18
+ vent_pwr_per_flow_w_per_cfm = 0.33
19
+ vent_pwr_w = vent_pwr_per_flow_w_per_cfm * vent_rate_cfm
20
+ # addendum 90.1-2007 aj has requirement on efficiency
21
+ vent_pwr_w = vent_pwr_w * 0.29 / 0.70
22
+
23
+ return vent_pwr_w
24
+ end
25
+ end
@@ -0,0 +1,35 @@
1
+ class ZEAEDGMultifamily < ASHRAE901
2
+ # @!group Model
3
+
4
+ # Determine the prototypical economizer type for the model.
5
+ #
6
+ # @param model [OpenStudio::Model::Model] the model
7
+ # @param climate_zone [String] the climate zone
8
+ # @return [String] the economizer type. Possible values are:
9
+ # 'NoEconomizer'
10
+ # 'FixedDryBulb'
11
+ # 'FixedEnthalpy'
12
+ # 'DifferentialDryBulb'
13
+ # 'DifferentialEnthalpy'
14
+ # 'FixedDewPointAndDryBulb'
15
+ # 'ElectronicEnthalpy'
16
+ # 'DifferentialDryBulbAndEnthalpy'
17
+ def model_economizer_type(model, climate_zone)
18
+ economizer_type = case climate_zone
19
+ when 'ASHRAE 169-2006-0A',
20
+ 'ASHRAE 169-2006-1A',
21
+ 'ASHRAE 169-2006-2A',
22
+ 'ASHRAE 169-2006-3A',
23
+ 'ASHRAE 169-2006-4A',
24
+ 'ASHRAE 169-2013-0A',
25
+ 'ASHRAE 169-2013-1A',
26
+ 'ASHRAE 169-2013-2A',
27
+ 'ASHRAE 169-2013-3A',
28
+ 'ASHRAE 169-2013-4A'
29
+ 'DifferentialEnthalpy'
30
+ else
31
+ 'DifferentialDryBulb'
32
+ end
33
+ return economizer_type
34
+ end
35
+ end
@@ -0,0 +1,11 @@
1
+ class ZEAEDGMultifamily < ASHRAE901
2
+ # @!group hvac_systems
3
+
4
+ # Determine which type of fan the cooling tower
5
+ # will have. Variable Speed Fan for NREL ZNE Ready 2017.
6
+ # @return [String] the fan type: TwoSpeed Fan, Variable Speed Fan
7
+ def model_cw_loop_cooling_tower_fan_type(model)
8
+ fan_type = 'Variable Speed Fan'
9
+ return fan_type
10
+ end
11
+ end
@@ -255,16 +255,21 @@ module Hospital
255
255
  # Cutoff was determined by correlating apparent minimum guesses
256
256
  # to OA rates in prototypes since not well documented in papers.
257
257
  zone_oa_per_area = thermal_zone_outdoor_airflow_rate_per_area(zone)
258
+ airlp = air_terminal.airLoopHVAC.get
258
259
  case template
259
260
  when 'DOE Ref Pre-1980', 'DOE Ref 1980-2004'
260
261
  if vav_name.include?('PatRoom') || vav_name.include?('OR') || vav_name.include?('ICU') || vav_name.include?('Lab') || vav_name.include?('ER') || vav_name.include?('Kitchen')
261
262
  air_terminal.setConstantMinimumAirFlowFraction(1.0)
262
263
  end
264
+ # Minimum damper position for Outpatient prototype
265
+ # Based on AIA 2001 ventilation requirements
266
+ # See Section 5.2.2.16 in Thornton et al. 2010
267
+ # https://www.energycodes.gov/sites/default/files/documents/BECP_Energy_Cost_Savings_STD2010_May2011_v00.pdf
263
268
  when '90.1-2004', '90.1-2007'
264
- air_terminal.setConstantMinimumAirFlowFraction(1.0) if zone_oa_per_area > 0.001 # 0.001 m^3/s*m^2 = .196 cfm/ft2
269
+ air_terminal.setConstantMinimumAirFlowFraction(1.0) unless airlp.name.to_s.include?('VAV_1') || airlp.name.to_s.include?('VAV_2')
265
270
  when '90.1-2010', '90.1-2013'
266
- air_terminal.setConstantMinimumAirFlowFraction(1.0) if zone_oa_per_area > 0.001 # 0.001 m^3/s*m^2 = .196 cfm/ft2
267
- air_terminal.setConstantMinimumAirFlowFraction(0.5) if vav_name.include? "PatRoom"
271
+ air_terminal.setConstantMinimumAirFlowFraction(1.0) unless airlp.name.to_s.include?('VAV_1') || airlp.name.to_s.include?('VAV_2')
272
+ air_terminal.setConstantMinimumAirFlowFraction(0.5) if vav_name.include? 'PatRoom'
268
273
  end
269
274
  end
270
275
  end
@@ -301,4 +306,13 @@ module Hospital
301
306
 
302
307
  return true
303
308
  end
309
+
310
+ def air_terminal_single_duct_vav_reheat_apply_initial_prototype_damper_position(air_terminal_single_duct_vav_reheat, zone_oa_per_area)
311
+ min_damper_position = template == '90.1-2010' || template == '90.1-2013' ? 0.2 : 0.3
312
+
313
+ # Set the minimum flow fraction
314
+ air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
315
+
316
+ return true
317
+ end
304
318
  end
@@ -184,4 +184,13 @@ module LargeHotel
184
184
 
185
185
  return true
186
186
  end
187
+
188
+ def air_terminal_single_duct_vav_reheat_apply_initial_prototype_damper_position(air_terminal_single_duct_vav_reheat, zone_oa_per_area)
189
+ min_damper_position = template == '90.1-2010' || template == '90.1-2013' ? 0.2 : 0.3
190
+
191
+ # Set the minimum flow fraction
192
+ air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
193
+
194
+ return true
195
+ end
187
196
  end
@@ -79,4 +79,13 @@ module LargeOffice
79
79
 
80
80
  return true
81
81
  end
82
+
83
+ def air_terminal_single_duct_vav_reheat_apply_initial_prototype_damper_position(air_terminal_single_duct_vav_reheat, zone_oa_per_area)
84
+ min_damper_position = template == '90.1-2010' || template == '90.1-2013' ? 0.2 : 0.3
85
+
86
+ # Set the minimum flow fraction
87
+ air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
88
+
89
+ return true
90
+ end
82
91
  end
@@ -1,4 +1,3 @@
1
-
2
1
  # Custom changes for the LargeOffice prototype.
3
2
  # These are changes that are inconsistent with other prototype
4
3
  # building types.
@@ -43,7 +42,8 @@ module LargeOfficeDetailed
43
42
 
44
43
  # replace EvaporativeFluidCoolerSingleSpeed with CoolingTowerTwoSpeed
45
44
  model.getPlantLoops.each do |plant_loop|
46
- next unless plant_loop.name.to_s.include? "Heat Pump Loop"
45
+ next unless plant_loop.name.to_s.include? 'Heat Pump Loop'
46
+
47
47
  sup_wtr_high_temp_f = 65.0
48
48
  sup_wtr_low_temp_f = 41.0
49
49
  sup_wtr_high_temp_c = OpenStudio.convert(sup_wtr_high_temp_f, 'F', 'C').get
@@ -75,9 +75,20 @@ module LargeOfficeDetailed
75
75
  end
76
76
  end
77
77
 
78
+ remove_basement_infiltration(model)
79
+
78
80
  return true
79
81
  end
80
-
82
+
83
+ def remove_basement_infiltration(model)
84
+ space_infltrations = model.getSpaceInfiltrationDesignFlowRates
85
+ space_infltrations.each do |space_inf|
86
+ if space_inf.name.to_s.include? 'Basement'
87
+ space_inf = nil
88
+ end
89
+ end
90
+ end
91
+
81
92
  def update_waterheater_loss_coefficient(model)
82
93
  case template
83
94
  when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013', 'NECB2011'
@@ -94,6 +105,14 @@ module LargeOfficeDetailed
94
105
  end
95
106
 
96
107
  def model_custom_geometry_tweaks(building_type, climate_zone, prototype_input, model)
108
+ return true
109
+ end
110
+
111
+ def air_terminal_single_duct_vav_reheat_apply_initial_prototype_damper_position(air_terminal_single_duct_vav_reheat, zone_oa_per_area)
112
+ min_damper_position = template == '90.1-2010' || template == '90.1-2013' ? 0.2 : 0.3
113
+
114
+ # Set the minimum flow fraction
115
+ air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
97
116
 
98
117
  return true
99
118
  end