openstudio-standards 0.2.12 → 0.2.13.rc3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (492) hide show
  1. checksums.yaml +4 -4
  2. data/data/geometry/ASHRAE90120162019HighriseApartment.json +1042 -0
  3. data/data/geometry/ASHRAE90120162019Hospital.json +199 -0
  4. data/data/geometry/ASHRAE90120162019LargeHotel.json +73 -0
  5. data/data/geometry/ASHRAE90120162019LargeOffice.json +109 -0
  6. data/data/geometry/ASHRAE90120162019SecondarySchool.json +205 -0
  7. data/data/geometry/ASHRAECourthouse.json +112 -0
  8. data/data/geometry/ASHRAECourthouse.osm +26470 -0
  9. data/data/geometry/ASHRAELargeHotel.osm +11 -1
  10. data/data/geometry/ASHRAELargeOffice.json +4 -0
  11. data/data/standards/OpenStudio_Standards-ashrae_90_1(space_types).xlsx +0 -0
  12. data/data/standards/OpenStudio_Standards-ashrae_90_1-ALL-comstock(space_types).xlsx +0 -0
  13. data/data/standards/OpenStudio_Standards-ashrae_90_1.xlsx +0 -0
  14. data/data/standards/exclude_list.csv +19 -0
  15. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.boilers.json +49 -0
  16. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.chillers.json +293 -0
  17. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_properties.json +25426 -0
  18. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_sets.json +1600 -0
  19. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.economizers.json +564 -0
  20. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.elevators.json +349 -0
  21. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ext_ltg.json +164 -0
  22. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ground_temperatures.json +10663 -0
  23. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps.json +508 -0
  24. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps_heating.json +156 -0
  25. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_rejection.json +44 -0
  26. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.motors.json +184 -0
  27. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.prototype_inputs.json +3094 -0
  28. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ref_cases.json +829 -0
  29. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ref_lnup.json +562 -0
  30. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_compressors.json +52 -0
  31. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_condenser.json +220 -0
  32. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_system.json +156 -0
  33. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_walkins.json +1316 -0
  34. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +21446 -0
  35. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.unitary_acs.json +554 -0
  36. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.water_heaters.json +68 -0
  37. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.water_source_heat_pumps.json +28 -0
  38. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.water_source_heat_pumps_heating.json +12 -0
  39. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.boilers.json +49 -0
  40. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.chillers.json +293 -0
  41. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_properties.json +12487 -0
  42. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_sets.json +1600 -0
  43. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.economizers.json +564 -0
  44. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.elevators.json +349 -0
  45. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ext_ltg.json +164 -0
  46. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ground_temperatures.json +10663 -0
  47. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps.json +466 -0
  48. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps_heating.json +137 -0
  49. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_rejection.json +44 -0
  50. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.motors.json +184 -0
  51. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.prototype_inputs.json +3094 -0
  52. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ref_cases.json +829 -0
  53. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ref_lnup.json +562 -0
  54. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_compressors.json +52 -0
  55. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_condenser.json +220 -0
  56. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_system.json +156 -0
  57. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_walkins.json +1316 -0
  58. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +21380 -0
  59. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.unitary_acs.json +554 -0
  60. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.water_heaters.json +68 -0
  61. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.water_source_heat_pumps.json +28 -0
  62. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.water_source_heat_pumps_heating.json +12 -0
  63. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.boilers.json +49 -0
  64. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.chillers.json +395 -0
  65. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_properties.json +12487 -0
  66. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_sets.json +1600 -0
  67. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.economizers.json +592 -0
  68. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.elevators.json +349 -0
  69. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.energy_recovery.json +550 -0
  70. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ext_ltg.json +164 -0
  71. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ground_temperatures.json +10663 -0
  72. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps.json +466 -0
  73. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps_heating.json +137 -0
  74. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_rejection.json +44 -0
  75. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.motors.json +238 -0
  76. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.prototype_inputs.json +3094 -0
  77. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ref_cases.json +829 -0
  78. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ref_lnup.json +562 -0
  79. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_compressors.json +52 -0
  80. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_condenser.json +220 -0
  81. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_system.json +156 -0
  82. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_walkins.json +1316 -0
  83. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +21548 -0
  84. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.unitary_acs.json +554 -0
  85. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.water_heaters.json +68 -0
  86. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.water_source_heat_pumps.json +28 -0
  87. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.water_source_heat_pumps_heating.json +12 -0
  88. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.boilers.json +64 -0
  89. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.chillers.json +871 -0
  90. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_properties.json +12487 -0
  91. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_sets.json +1600 -0
  92. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.economizers.json +592 -0
  93. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.elevators.json +349 -0
  94. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.energy_recovery.json +1096 -0
  95. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ext_ltg.json +164 -0
  96. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ground_temperatures.json +10663 -0
  97. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps.json +886 -0
  98. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps_heating.json +194 -0
  99. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_rejection.json +44 -0
  100. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.motors.json +247 -0
  101. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.prototype_inputs.json +3094 -0
  102. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ref_cases.json +829 -0
  103. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ref_lnup.json +562 -0
  104. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_compressors.json +52 -0
  105. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_condenser.json +220 -0
  106. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_system.json +156 -0
  107. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_walkins.json +1316 -0
  108. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +22079 -0
  109. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.unitary_acs.json +994 -0
  110. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_heaters.json +68 -0
  111. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_source_heat_pumps.json +28 -0
  112. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_source_heat_pumps_heating.json +12 -0
  113. data/data/standards/manage_OpenStudio_Standards.rb +87 -37
  114. data/data/standards/metadata_units_OpenStudio_Standards-ashrae_90_1-ALL-comstockspace_types.csv +236 -0
  115. data/data/standards/metadata_units_OpenStudio_Standards-ashrae_90_1.csv +622 -0
  116. data/data/standards/metadata_units_OpenStudio_Standards-ashrae_90_1space_types.csv +191 -0
  117. data/data/standards/openstudio_standards_duplicates_log.csv +16 -25
  118. data/data/standards/test_performance_expected_dd_results.csv +1934 -1134
  119. data/lib/openstudio-standards.rb +68 -17
  120. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PumpVariableSpeed.rb +28 -0
  121. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.FanVariableVolume.rb +0 -1
  122. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.PumpVariableSpeed.rb +28 -0
  123. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Model.rb +53 -2
  124. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.PumpVariableSpeed.rb +29 -0
  125. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Model.rb +157 -2
  126. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.PumpVariableSpeed.rb +29 -0
  127. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +24 -0
  128. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanConstantVolume.rb +32 -0
  129. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanOnOff.rb +33 -0
  130. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanVariableVolume.rb +32 -0
  131. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.elevators.rb +25 -0
  132. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.rb +366 -0
  133. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.PumpVariableSpeed.rb +144 -0
  134. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.hvac_systems.rb +11 -0
  135. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +24 -0
  136. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanConstantVolume.rb +32 -0
  137. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanOnOff.rb +33 -0
  138. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanVariableVolume.rb +32 -0
  139. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.elevators.rb +25 -0
  140. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.rb +367 -0
  141. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.PumpVariableSpeed.rb +144 -0
  142. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.hvac_systems.rb +11 -0
  143. data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.AirTerminalSingleDuctVAVReheat.rb +0 -1
  144. data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.AirTerminalSingleDuctVAVReheat.rb +0 -1
  145. data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.HeatExchangerAirToAirSensibleAndLatent.rb +1 -1
  146. data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.Model.rb +1 -1
  147. data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.HeatExchangerAirToAirSensibleAndLatent.rb +1 -1
  148. data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.rb +1 -1
  149. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.College.rb +3 -3
  150. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Courthouse.rb +74 -0
  151. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.FullServiceRestaurant.rb +46 -30
  152. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.HighRiseApartment.rb +15 -7
  153. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Hospital.rb +26 -15
  154. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Laboratory.rb +8 -11
  155. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeDataCenterHighITE.rb +54 -60
  156. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeDataCenterLowITE.rb +56 -60
  157. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeHotel.rb +38 -12
  158. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOffice.rb +218 -134
  159. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOfficeDetailed.rb +6 -2
  160. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOffice.rb +222 -133
  161. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOfficeDetailed.rb +60 -62
  162. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MidriseApartment.rb +25 -15
  163. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Outpatient.rb +34 -22
  164. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.PrimarySchool.rb +31 -7
  165. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.QuickServiceRestaurant.rb +43 -28
  166. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.RetailStandalone.rb +48 -38
  167. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.RetailStripmall.rb +9 -5
  168. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SecondarySchool.rb +567 -344
  169. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallDataCenterHighITE.rb +13 -19
  170. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallDataCenterLowITE.rb +13 -17
  171. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallHotel.rb +9 -5
  172. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOffice.rb +79 -51
  173. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOfficeDetailed.rb +60 -60
  174. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperMarket.rb +2 -4
  175. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperTallBuilding.rb +133 -120
  176. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.TallBuilding.rb +124 -112
  177. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Warehouse.rb +138 -66
  178. data/lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb +7275 -199
  179. data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirConditionerVariableRefrigerantFlow.rb +35 -35
  180. data/lib/openstudio-standards/prototypes/common/objects/Prototype.BoilerHotWater.rb +2 -2
  181. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CentralAirSourceHeatPump.rb +2 -2
  182. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXSingleSpeed.rb +3 -3
  183. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXTwoSpeed.rb +1 -1
  184. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWater.rb +2 -2
  185. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWaterToAirHeatPumpEquationFit.rb +2 -2
  186. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingDXSingleSpeed.rb +1 -1
  187. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingElectric.rb +2 -2
  188. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWater.rb +2 -2
  189. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWaterToAirHeatPumpEquationFit.rb +2 -2
  190. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoolingTower.rb +1 -1
  191. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Fan.rb +4 -3
  192. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanConstantVolume.rb +7 -8
  193. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanOnOff.rb +7 -8
  194. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanVariableVolume.rb +13 -14
  195. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanZoneExhaust.rb +7 -5
  196. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.elevators.rb +2 -0
  197. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.exterior_lights.rb +0 -1
  198. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.hvac.rb +25 -14
  199. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +474 -89
  200. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.swh.rb +35 -33
  201. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Pump.rb +3 -0
  202. data/lib/openstudio-standards/prototypes/common/objects/Prototype.PumpVariableSpeed.rb +72 -0
  203. data/lib/openstudio-standards/prototypes/common/objects/Prototype.ServiceWaterHeating.rb +120 -120
  204. data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +103 -125
  205. data/lib/openstudio-standards/prototypes/common/objects/Prototype.radiant_system_controls.rb +9 -3
  206. data/lib/openstudio-standards/prototypes/common/objects/Prototype.refrigeration.rb +11 -5
  207. data/lib/openstudio-standards/prototypes/common/objects/Prototype.utilities.rb +26 -14
  208. data/lib/openstudio-standards/prototypes/common/prototype_metaprogramming.rb +270 -247
  209. data/lib/openstudio-standards/prototypes/deer/deer.Model.rb +1 -1
  210. data/lib/openstudio-standards/refs/references.rb +5 -2
  211. data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +41 -28
  212. data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb +0 -1
  213. data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +0 -1
  214. data/lib/openstudio-standards/standards/Standards.BuildingStory.rb +1 -0
  215. data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +2 -4
  216. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +8 -10
  217. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +4 -5
  218. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +0 -1
  219. data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +1 -1
  220. data/lib/openstudio-standards/standards/Standards.CoilDX.rb +12 -9
  221. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +2 -1
  222. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb +3 -1
  223. data/lib/openstudio-standards/standards/Standards.CoilHeatingGas.rb +0 -3
  224. data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +4 -7
  225. data/lib/openstudio-standards/standards/Standards.CoilHeatingWaterToAirHeatPumpEquationFit.rb +1 -3
  226. data/lib/openstudio-standards/standards/Standards.Construction.rb +124 -118
  227. data/lib/openstudio-standards/standards/Standards.CoolingTower.rb +0 -1
  228. data/lib/openstudio-standards/standards/Standards.CoolingTowerSingleSpeed.rb +0 -1
  229. data/lib/openstudio-standards/standards/Standards.CoolingTowerTwoSpeed.rb +0 -1
  230. data/lib/openstudio-standards/standards/Standards.CoolingTowerVariableSpeed.rb +0 -1
  231. data/lib/openstudio-standards/standards/Standards.Fan.rb +0 -1
  232. data/lib/openstudio-standards/standards/Standards.FanConstantVolume.rb +0 -1
  233. data/lib/openstudio-standards/standards/Standards.FanOnOff.rb +0 -1
  234. data/lib/openstudio-standards/standards/Standards.FanVariableVolume.rb +2 -4
  235. data/lib/openstudio-standards/standards/Standards.FanZoneExhaust.rb +0 -1
  236. data/lib/openstudio-standards/standards/Standards.FluidCooler.rb +10 -3
  237. data/lib/openstudio-standards/standards/Standards.HeaderedPumpsConstantSpeed.rb +0 -1
  238. data/lib/openstudio-standards/standards/Standards.HeaderedPumpsVariableSpeed.rb +0 -1
  239. data/lib/openstudio-standards/standards/Standards.Model.rb +282 -253
  240. data/lib/openstudio-standards/standards/Standards.PlanarSurface.rb +2 -0
  241. data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +11 -9
  242. data/lib/openstudio-standards/standards/Standards.Pump.rb +0 -1
  243. data/lib/openstudio-standards/standards/Standards.PumpConstantSpeed.rb +0 -1
  244. data/lib/openstudio-standards/standards/Standards.PumpVariableSpeed.rb +0 -1
  245. data/lib/openstudio-standards/standards/Standards.ScheduleCompact.rb +0 -1
  246. data/lib/openstudio-standards/standards/Standards.ScheduleConstant.rb +0 -1
  247. data/lib/openstudio-standards/standards/Standards.ScheduleRuleset.rb +103 -121
  248. data/lib/openstudio-standards/standards/Standards.Space.rb +42 -35
  249. data/lib/openstudio-standards/standards/Standards.SpaceType.rb +9 -17
  250. data/lib/openstudio-standards/standards/Standards.SubSurface.rb +25 -27
  251. data/lib/openstudio-standards/standards/Standards.Surface.rb +97 -52
  252. data/lib/openstudio-standards/standards/Standards.ThermalZone.rb +39 -21
  253. data/lib/openstudio-standards/standards/Standards.WaterHeaterMixed.rb +6 -7
  254. data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +15 -10
  255. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1.Standards.FanVariableVolume.rb +0 -1
  256. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.AirLoopHVAC.rb +10 -2
  257. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.Model.rb +2 -2
  258. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/data/ashrae_90_1.schedules.json +63 -99
  259. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/data/comstock_ashrae_90_1_2004.ext_ltg.json +7 -7
  260. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_properties.json +2420 -0
  261. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.economizers.json +32 -0
  262. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_rejection.json +9 -0
  263. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.prototype_inputs.json +68 -38
  264. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +105 -40
  265. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.AirLoopHVAC.rb +5 -1
  266. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/ashrae_90_1.schedules.json +63 -99
  267. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/comstock_ashrae_90_1_2007.ext_ltg.json +7 -7
  268. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_properties.json +1460 -0
  269. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.economizers.json +32 -0
  270. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_rejection.json +9 -0
  271. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.prototype_inputs.json +68 -38
  272. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +104 -17
  273. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirLoopHVAC.rb +25 -13
  274. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Space.rb +1 -1
  275. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/ashrae_90_1.schedules.json +63 -99
  276. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/comstock_ashrae_90_1_2010.ext_ltg.json +7 -7
  277. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_properties.json +1460 -0
  278. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.economizers.json +64 -0
  279. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.energy_recovery.json +52 -0
  280. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_rejection.json +9 -0
  281. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.prototype_inputs.json +68 -38
  282. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +112 -25
  283. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirLoopHVAC.rb +21 -7
  284. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.WaterHeaterMixed.rb +1 -1
  285. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/data/ashrae_90_1.schedules.json +63 -99
  286. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/data/comstock_ashrae_90_1_2013.ext_ltg.json +7 -7
  287. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.boilers.json +1 -1
  288. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.chillers.json +2 -2
  289. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_properties.json +1460 -0
  290. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.economizers.json +64 -0
  291. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.energy_recovery.json +104 -0
  292. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_rejection.json +9 -0
  293. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.prototype_inputs.json +70 -40
  294. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +172 -55
  295. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_heaters.json +4 -4
  296. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_source_heat_pumps_heating.json +1 -1
  297. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirLoopHVAC.rb +456 -0
  298. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +24 -0
  299. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTower.rb +19 -0
  300. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTowerSingleSpeed.rb +5 -0
  301. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTowerTwoSpeed.rb +5 -0
  302. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTowerVariableSpeed.rb +16 -0
  303. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanVariableVolume.rb +37 -0
  304. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Space.rb +189 -0
  305. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.ThermalZone.rb +57 -0
  306. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.ZoneHVACComponent.rb +22 -0
  307. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.rb +16 -0
  308. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.boilers.json +68 -0
  309. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.chillers.json +490 -0
  310. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.construction_properties.json +21244 -0
  311. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.construction_sets.json +2111 -0
  312. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.economizers.json +676 -0
  313. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.elevators.json +372 -0
  314. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.energy_recovery.json +1096 -0
  315. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.ext_ltg.json +169 -0
  316. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_pumps.json +532 -0
  317. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_pumps_heating.json +164 -0
  318. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_rejection.json +49 -0
  319. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.motors.json +274 -0
  320. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.prototype_inputs.json +3094 -0
  321. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.ref_cases.json +854 -0
  322. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.ref_lnup.json +562 -0
  323. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.refrigeration_compressors.json +58 -0
  324. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.refrigeration_condenser.json +238 -0
  325. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.refrigeration_system.json +12 -0
  326. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.refrigeration_walkins.json +1316 -0
  327. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.spc_typ.json +23067 -0
  328. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.unitary_acs.json +648 -0
  329. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.water_heaters.json +72 -0
  330. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.water_source_heat_pumps.json +31 -0
  331. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.water_source_heat_pumps_heating.json +13 -0
  332. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +456 -0
  333. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +24 -0
  334. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTower.rb +19 -0
  335. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTowerSingleSpeed.rb +5 -0
  336. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTowerTwoSpeed.rb +5 -0
  337. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTowerVariableSpeed.rb +16 -0
  338. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanVariableVolume.rb +37 -0
  339. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Space.rb +189 -0
  340. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.ThermalZone.rb +57 -0
  341. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.ZoneHVACComponent.rb +22 -0
  342. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.rb +16 -0
  343. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.boilers.json +68 -0
  344. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.chillers.json +490 -0
  345. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.construction_properties.json +21244 -0
  346. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.construction_sets.json +2111 -0
  347. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.economizers.json +676 -0
  348. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.elevators.json +372 -0
  349. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.energy_recovery.json +1096 -0
  350. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.ext_ltg.json +169 -0
  351. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_pumps.json +664 -0
  352. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_pumps_heating.json +204 -0
  353. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_rejection.json +49 -0
  354. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.motors.json +274 -0
  355. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.prototype_inputs.json +3094 -0
  356. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.ref_cases.json +854 -0
  357. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.ref_lnup.json +562 -0
  358. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.refrigeration_compressors.json +58 -0
  359. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.refrigeration_condenser.json +238 -0
  360. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.refrigeration_system.json +12 -0
  361. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.refrigeration_walkins.json +1316 -0
  362. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.spc_typ.json +23067 -0
  363. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.unitary_acs.json +671 -0
  364. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.water_heaters.json +72 -0
  365. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.water_source_heat_pumps.json +31 -0
  366. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.water_source_heat_pumps_heating.json +13 -0
  367. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.constructions.json +1662 -332
  368. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.materials.json +5049 -289
  369. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.schedules.json +1743 -161
  370. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/ashrae_90_1.schedules.json +63 -99
  371. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/comstock_doe_ref_1980_2004.ext_ltg.json +11 -11
  372. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.heat_rejection.json +9 -0
  373. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.prototype_inputs.json +8 -8
  374. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.spc_typ.json +9 -9
  375. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.Model.rb +4 -4
  376. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/data/ashrae_90_1.schedules.json +63 -99
  377. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/data/comstock_doe_ref_pre_1980.ext_ltg.json +10 -10
  378. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.heat_rejection.json +9 -0
  379. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.prototype_inputs.json +7 -7
  380. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.spc_typ.json +9 -9
  381. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.Model.rb +4 -4
  382. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.heat_rejection.json +9 -0
  383. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirLoopHVAC.rb +0 -1
  384. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.Model.rb +4 -4
  385. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.PlantLoop.rb +1 -1
  386. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.ZoneHVACComponent.rb +1 -1
  387. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.heat_rejection.json +9 -0
  388. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.water_heaters.json +2 -2
  389. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirLoopHVAC.rb +3 -6
  390. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.rb +4 -4
  391. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.PlantLoop.rb +1 -1
  392. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.ZoneHVACComponent.rb +1 -1
  393. data/lib/openstudio-standards/standards/cbes/cbes.Model.rb +1 -3
  394. data/lib/openstudio-standards/standards/cbes/cbes.rb +1 -1
  395. data/lib/openstudio-standards/standards/deer/deer.AirLoopHVAC.rb +8 -13
  396. data/lib/openstudio-standards/standards/deer/deer.Model.rb +2 -2
  397. data/lib/openstudio-standards/standards/deer/deer.PlanarSurface.rb +2 -0
  398. data/lib/openstudio-standards/standards/deer/deer.Space.rb +1 -1
  399. data/lib/openstudio-standards/standards/deer/deer_2011/deer_2011.rb +0 -1
  400. data/lib/openstudio-standards/standards/deer/deer_2014/deer_2014.Space.rb +0 -1
  401. data/lib/openstudio-standards/standards/deer/deer_2014/deer_2014.rb +0 -1
  402. data/lib/openstudio-standards/standards/deer/deer_2015/deer_2015.Space.rb +0 -1
  403. data/lib/openstudio-standards/standards/deer/deer_2017/deer_2017.Space.rb +0 -1
  404. data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.AirLoopHVAC.rb +1 -1
  405. data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.FanVariableVolume.rb +1 -1
  406. data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.Space.rb +0 -1
  407. data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.AirLoopHVAC.rb +1 -1
  408. data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.FanVariableVolume.rb +1 -1
  409. data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.Space.rb +0 -1
  410. data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.AirLoopHVAC.rb +1 -1
  411. data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.FanVariableVolume.rb +1 -1
  412. data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.Space.rb +0 -1
  413. data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.AirLoopHVAC.rb +1 -1
  414. data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.FanVariableVolume.rb +1 -1
  415. data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.Space.rb +0 -1
  416. data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.AirLoopHVAC.rb +1 -1
  417. data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.FanVariableVolume.rb +1 -1
  418. data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.Space.rb +0 -1
  419. data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.AirLoopHVAC.rb +1 -1
  420. data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.FanVariableVolume.rb +1 -1
  421. data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.Space.rb +0 -1
  422. data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.AirLoopHVAC.rb +1 -1
  423. data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.FanVariableVolume.rb +1 -1
  424. data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.Space.rb +0 -1
  425. data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.AirLoopHVAC.rb +1 -1
  426. data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.FanVariableVolume.rb +1 -1
  427. data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.Space.rb +0 -1
  428. data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.AirLoopHVAC.rb +1 -1
  429. data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.FanVariableVolume.rb +1 -1
  430. data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.Space.rb +0 -1
  431. data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.AirLoopHVAC.rb +1 -1
  432. data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.FanVariableVolume.rb +1 -1
  433. data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.Space.rb +0 -1
  434. data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.AirLoopHVAC.rb +1 -1
  435. data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.FanVariableVolume.rb +1 -1
  436. data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.Space.rb +0 -1
  437. data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.AirLoopHVAC.rb +1 -1
  438. data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.FanVariableVolume.rb +1 -1
  439. data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.Space.rb +0 -1
  440. data/lib/openstudio-standards/standards/icc_iecc/icc_iecc_2015/icc_iecc_2015.rb +0 -1
  441. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/btap_pre1980.rb +28 -7
  442. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_3_and_8_single_speed.rb +16 -2
  443. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_4.rb +15 -0
  444. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_6.rb +14 -0
  445. data/lib/openstudio-standards/standards/necb/ECMS/data/erv.json +11 -7
  446. data/lib/openstudio-standards/standards/necb/ECMS/data/pv.json +112 -0
  447. data/lib/openstudio-standards/standards/necb/ECMS/data/unitary_acs.json +50 -0
  448. data/lib/openstudio-standards/standards/necb/ECMS/ecms.rb +21 -8
  449. data/lib/openstudio-standards/standards/necb/ECMS/erv.rb +17 -6
  450. data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +142 -6
  451. data/lib/openstudio-standards/standards/necb/ECMS/nv.rb +189 -0
  452. data/lib/openstudio-standards/standards/necb/ECMS/pv_ground.rb +104 -0
  453. data/lib/openstudio-standards/standards/necb/NECB2011/building_envelope.rb +19 -13
  454. data/lib/openstudio-standards/standards/necb/NECB2011/data/erv.json +1 -1
  455. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/LowriseApartment.osm +39278 -0
  456. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_single_speed.rb +17 -1
  457. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_2_and_5.rb +15 -0
  458. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_single_speed.rb +14 -2
  459. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_4.rb +13 -0
  460. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_6.rb +12 -0
  461. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +154 -12
  462. data/lib/openstudio-standards/standards/necb/NECB2011/lighting.rb +21 -3
  463. data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +140 -21
  464. data/lib/openstudio-standards/standards/necb/NECB2011/nv.md +74 -0
  465. data/lib/openstudio-standards/standards/necb/NECB2011/pv_ground.md +44 -0
  466. data/lib/openstudio-standards/standards/necb/NECB2011/qaqc/necb_qaqc.rb +2 -2
  467. data/lib/openstudio-standards/standards/necb/NECB2011/qaqc/qaqc_resources/neb_end_use_prices.csv +39 -84
  468. data/lib/openstudio-standards/standards/oeesc/oeesc_2014/oeesc_2014.rb +0 -1
  469. data/lib/openstudio-standards/standards/standard.rb +6 -5
  470. data/lib/openstudio-standards/utilities/Add_template_field_to_json.rb +3 -3
  471. data/lib/openstudio-standards/utilities/convert_surfaces_to_adiabatic_necb_8426.rb +54 -54
  472. data/lib/openstudio-standards/utilities/generate_prototype_database.rb +2 -2
  473. data/lib/openstudio-standards/utilities/generate_space_types.rb +3 -3
  474. data/lib/openstudio-standards/utilities/logging.rb +7 -7
  475. data/lib/openstudio-standards/utilities/necb_to_epw_map.rb +14 -14
  476. data/lib/openstudio-standards/utilities/os_sim_extract.rb +25 -25
  477. data/lib/openstudio-standards/utilities/rename_surfaces.rb +10 -13
  478. data/lib/openstudio-standards/utilities/round_surf_coords.rb +18 -20
  479. data/lib/openstudio-standards/utilities/sched_create.rb +39 -41
  480. data/lib/openstudio-standards/utilities/set_mult_to_adiabatic.rb +31 -31
  481. data/lib/openstudio-standards/utilities/simulation.rb +5 -3
  482. data/lib/openstudio-standards/utilities/speacetype_map_converter.rb +10 -11
  483. data/lib/openstudio-standards/utilities/sqlfile.rb +6 -8
  484. data/lib/openstudio-standards/utilities/template_measure/measure.rb +108 -0
  485. data/lib/openstudio-standards/utilities/template_measure/measure.xml +162 -0
  486. data/lib/openstudio-standards/utilities/template_measure/resources/BTAPMeasureHelper.rb +448 -0
  487. data/lib/openstudio-standards/utilities/template_measure/tests/test.rb +160 -0
  488. data/lib/openstudio-standards/utilities/weatherData1_xlsx_to_json.rb +23 -26
  489. data/lib/openstudio-standards/version.rb +1 -1
  490. data/lib/openstudio-standards/weather/Weather.Model.rb +74 -80
  491. data/lib/openstudio-standards/weather/Weather.stat_file.rb +17 -17
  492. metadata +217 -2
@@ -0,0 +1,144 @@
1
+ class ASHRAE9012019 < ASHRAE901
2
+ # @!group Pump
3
+
4
+ # Determine type of pump part load control type
5
+ #
6
+ # @code_sections [90.1-2019_6.5.4.2]
7
+ # @param pump [OpenStudio::Model::PumpVariableSpeed] OpenStudio pump object
8
+ # @param plant_loop_type [String] Type of plant loop
9
+ # @param pump_nominal_hp [Float] Pump nominal horsepower
10
+ # @return [String] Pump part load control type
11
+ def pump_variable_speed_get_control_type(pump, plant_loop_type, pump_nominal_hp)
12
+ # Sizing factor to take into account that pumps
13
+ # are typically sized to handle a ~10% pressure
14
+ # increase and ~10% flow increase.
15
+ design_sizing_factor = 1.25
16
+
17
+ # Get climate zone
18
+ climate_zone = pump.plantLoop.get.model.getClimateZones.getClimateZone(0)
19
+ climate_zone = "#{climate_zone.institution} 169-#{climate_zone.year}-#{climate_zone.value}"
20
+
21
+ # Get nameplate hp threshold:
22
+ # The thresholds below represent the nameplate
23
+ # hp one level lower than the threshold in the
24
+ # code. Motor size from table in section 10 are
25
+ # used as reference.
26
+ case plant_loop_type
27
+ when 'Heating'
28
+ case climate_zone
29
+ when 'ASHRAE 169-2006-7A',
30
+ 'ASHRAE 169-2006-7B',
31
+ 'ASHRAE 169-2006-8A',
32
+ 'ASHRAE 169-2006-8B',
33
+ 'ASHRAE 169-2013-7A',
34
+ 'ASHRAE 169-2013-7B',
35
+ 'ASHRAE 169-2013-8A',
36
+ 'ASHRAE 169-2013-8B'
37
+ threshold = 3
38
+ when 'ASHRAE 169-2006-3C',
39
+ 'ASHRAE 169-2006-5A',
40
+ 'ASHRAE 169-2006-5C',
41
+ 'ASHRAE 169-2006-6A',
42
+ 'ASHRAE 169-2006-6B',
43
+ 'ASHRAE 169-2013-3C',
44
+ 'ASHRAE 169-2013-5A',
45
+ 'ASHRAE 169-2013-5C',
46
+ 'ASHRAE 169-2013-6A',
47
+ 'ASHRAE 169-2013-6B'
48
+ threshold = 5
49
+ when 'ASHRAE 169-2006-4A',
50
+ 'ASHRAE 169-2006-4C',
51
+ 'ASHRAE 169-2006-5B',
52
+ 'ASHRAE 169-2013-4A',
53
+ 'ASHRAE 169-2013-4C',
54
+ 'ASHRAE 169-2013-5B'
55
+ threshold = 7.5
56
+ when 'ASHRAE 169-2006-4B',
57
+ 'ASHRAE 169-2013-4B'
58
+ threshold = 10
59
+ when 'ASHRAE 169-2006-2A',
60
+ 'ASHRAE 169-2006-2B',
61
+ 'ASHRAE 169-2006-3A',
62
+ 'ASHRAE 169-2006-3B',
63
+ 'ASHRAE 169-2013-2A',
64
+ 'ASHRAE 169-2013-2B',
65
+ 'ASHRAE 169-2013-3A',
66
+ 'ASHRAE 169-2013-3B'
67
+ threshold = 20
68
+ when 'ASHRAE 169-2006-1B',
69
+ 'ASHRAE 169-2013-1B'
70
+ threshold = 75
71
+ when 'ASHRAE 169-2006-0A',
72
+ 'ASHRAE 169-2006-0B',
73
+ 'ASHRAE 169-2006-1A',
74
+ 'ASHRAE 169-2013-0A',
75
+ 'ASHRAE 169-2013-0B',
76
+ 'ASHRAE 169-2013-1A'
77
+ threshold = 150
78
+ else
79
+ OpenStudio.logFree(OpenStudio::Warn, "Pump flow control requirement missing for heating water pumps in climate zone: #{climate_zone}.")
80
+ end
81
+ when 'Cooling'
82
+ case climate_zone
83
+ when 'ASHRAE 169-2006-0A',
84
+ 'ASHRAE 169-2006-0B',
85
+ 'ASHRAE 169-2006-1A',
86
+ 'ASHRAE 169-2006-1B',
87
+ 'ASHRAE 169-2006-2B',
88
+ 'ASHRAE 169-2013-0A',
89
+ 'ASHRAE 169-2013-0B',
90
+ 'ASHRAE 169-2013-1A',
91
+ 'ASHRAE 169-2013-1B',
92
+ 'ASHRAE 169-2013-2B'
93
+ threshold = 1.5
94
+ when 'ASHRAE 169-2006-2A',
95
+ 'ASHRAE 169-2006-3B',
96
+ 'ASHRAE 169-2013-2A',
97
+ 'ASHRAE 169-2013-3B'
98
+ threshold = 2
99
+ when 'ASHRAE 169-2006-3A',
100
+ 'ASHRAE 169-2006-3C',
101
+ 'ASHRAE 169-2006-4A',
102
+ 'ASHRAE 169-2006-4B',
103
+ 'ASHRAE 169-2013-3A',
104
+ 'ASHRAE 169-2013-3C',
105
+ 'ASHRAE 169-2013-4A',
106
+ 'ASHRAE 169-2013-4B'
107
+ threshold = 3
108
+ when 'ASHRAE 169-2006-4C',
109
+ 'ASHRAE 169-2006-5A',
110
+ 'ASHRAE 169-2006-5B',
111
+ 'ASHRAE 169-2006-5C',
112
+ 'ASHRAE 169-2006-6A',
113
+ 'ASHRAE 169-2006-6B',
114
+ 'ASHRAE 169-2013-4C',
115
+ 'ASHRAE 169-2013-5A',
116
+ 'ASHRAE 169-2013-5B',
117
+ 'ASHRAE 169-2013-5C',
118
+ 'ASHRAE 169-2013-6A',
119
+ 'ASHRAE 169-2013-6B'
120
+ threshold = 5
121
+ when 'ASHRAE 169-2006-7A',
122
+ 'ASHRAE 169-2006-7B',
123
+ 'ASHRAE 169-2006-8A',
124
+ 'ASHRAE 169-2006-8B',
125
+ 'ASHRAE 169-2013-7A',
126
+ 'ASHRAE 169-2013-7B',
127
+ 'ASHRAE 169-2013-8A',
128
+ 'ASHRAE 169-2013-8B'
129
+ threshold = 10
130
+ else
131
+ OpenStudio.logFree(OpenStudio::Warn, "Pump flow control requirement missing for chilled water pumps in climate zone: #{climate_zone}.")
132
+ end
133
+ else
134
+ OpenStudio.logFree(OpenStudio::Warn, "No pump flow requirement for #{plant_loop_type} plant loops.")
135
+ return false
136
+ end
137
+
138
+ if pump_nominal_hp * design_sizing_factor > threshold
139
+ return 'VSD DP Reset'
140
+ else
141
+ return 'Riding Curve'
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,11 @@
1
+ class ASHRAE9012019 < ASHRAE901
2
+ # @!group hvac_systems
3
+
4
+ # Determine which type of fan the cooling tower
5
+ # will have. Variable Speed Fan for ASHRAE 90.1-2019.
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
@@ -7,7 +7,6 @@ class DOERef1980to2004 < 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
-
11
10
  # Set the minimum flow fraction
12
11
  min_damper_position = 0.3
13
12
  air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
@@ -7,7 +7,6 @@ class DOERefPre1980 < 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
-
11
10
  # Set the minimum flow fraction
12
11
  min_damper_position = 0.3
13
12
  air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
@@ -3,7 +3,7 @@ class NRELZNEReady2017 < ASHRAE901
3
3
 
4
4
  # Default fan efficiency assumption for the prm added fan power
5
5
  def heat_exchanger_air_to_air_sensible_and_latent_prototype_default_fan_efficiency
6
- default_fan_efficiency = 0.55
6
+ default_fan_efficiency = 0.55
7
7
  return default_fan_efficiency
8
8
  end
9
9
  end
@@ -32,4 +32,4 @@ class NRELZNEReady2017 < ASHRAE901
32
32
  end
33
33
  return economizer_type
34
34
  end
35
- end
35
+ end
@@ -3,7 +3,7 @@ class ZEAEDGMultifamily < ASHRAE901
3
3
 
4
4
  # Default fan efficiency assumption for the prm added fan power
5
5
  def heat_exchanger_air_to_air_sensible_and_latent_prototype_default_fan_efficiency
6
- default_fan_efficiency = 0.55
6
+ default_fan_efficiency = 0.55
7
7
  return default_fan_efficiency
8
8
  end
9
9
  end
@@ -32,4 +32,4 @@ class ZEAEDGMultifamily < ASHRAE901
32
32
  end
33
33
  return economizer_type
34
34
  end
35
- end
35
+ end
@@ -10,12 +10,12 @@ module College
10
10
  # SpaceInfiltration "Peak: 0.2016 cfm/sf of above grade exterior wall surface area, adjusted by wind (when fans turn off)
11
11
  # Off Peak: 25% of peak infiltration rate (when fans turn on)
12
12
  # Additional infiltration through building entrance"
13
- infil_schedule = model.getScheduleRulesetByName("College INFIL_SCH_PNNL")
13
+ infil_schedule = model.getScheduleRulesetByName('College INFIL_SCH_PNNL')
14
14
  model.getSpaceTypes.sort.each do |space_type|
15
15
  infil_flow_rates = space_type.getSpaceInfiltrationDesignFlowRates
16
16
  if infil_flow_rates.empty?
17
17
  # create a new infiltration object for the spacetypes without any infiltration defined
18
- infil_flow_rate = Openstudio::Model::getSpaceInfiltrationDesignFlowRate.new(model)
18
+ infil_flow_rate = Openstudio::Model::SpaceInfiltrationDesignFlowRate.new(model)
19
19
  infil_flow_rate.setSpaceInfiltrationDesignFlowRate(0.2016)
20
20
  infil_flow_rate.setSchedule(infil_schedule)
21
21
  infil_flow_rate.setSpaceType(space_type)
@@ -28,7 +28,7 @@ module College
28
28
  end
29
29
 
30
30
  building_entrance_lobby = model.getSpaceByName('CB_ Entrance Lobby_F0')
31
- lobby_door_leakage_area = Openstudio::Model::getSpaceInfiltrationEffectiveLeakageArea.new(model)
31
+ lobby_door_leakage_area = Openstudio::Model::SpaceInfiltrationEffectiveLeakageArea.new(model)
32
32
  lobby_door_leakage_area.setEffectiveAirLeakageArea(5.0) # Need modification
33
33
  lobby_door_leakage_area.setSpace(building_entrance_lobby)
34
34
 
@@ -0,0 +1,74 @@
1
+ # Custom changes for the Courthouse prototype.
2
+ # These are changes that are inconsistent with other prototype
3
+ # building types.
4
+ module Courthouse
5
+ def model_custom_hvac_tweaks(building_type, climate_zone, prototype_input, model)
6
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.model.Model', 'Started building type specific adjustments')
7
+
8
+ model.getSpaces.each do |space|
9
+ if space.name.get.to_s == 'ELEVATOR_LOBBY_FLR_1'
10
+ model_add_elevator(model,
11
+ space,
12
+ prototype_input['number_of_elevators'],
13
+ prototype_input['elevator_type'],
14
+ prototype_input['elevator_schedule'],
15
+ prototype_input['elevator_fan_schedule'],
16
+ prototype_input['elevator_fan_schedule'],
17
+ building_type)
18
+ end
19
+ end
20
+
21
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.model.Model', 'Finished building type specific adjustments')
22
+
23
+ # add extra infiltration for entry door
24
+ add_door_infiltration(climate_zone, model)
25
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.model.Model', 'Added door infiltration')
26
+
27
+ return true
28
+ end # add hvac
29
+
30
+ def add_door_infiltration(climate_zone, model)
31
+ # add extra infiltration for entry door in m3/s (there is no attic in 'DOE Ref Pre-1980')
32
+ unless template == 'DOE Ref 1980-2004' || template == 'DOE Ref Pre-1980'
33
+ entry_space = model.getSpaceByName('SECURITY_SCREENING_FLR_1').get
34
+ infiltration_entrydoor = OpenStudio::Model::SpaceInfiltrationDesignFlowRate.new(model)
35
+ infiltration_entrydoor.setName('entry door Infiltration')
36
+ infiltration_per_zone_entrydoor = 0
37
+ if template == '90.1-2004'
38
+ infiltration_per_zone_entrydoor = 3.242751
39
+ infiltration_entrydoor.setSchedule(model_add_schedule(model, 'Courthouse INFIL_Door_Opening_SCH'))
40
+ elsif template == '90.1-2007' || template == '90.1-2010' || template == '90.1-2013'
41
+ case climate_zone
42
+ when 'ASHRAE 169-2006-1A', 'ASHRAE 169-2006-2A', 'ASHRAE 169-2006-1B', 'ASHRAE 169-2006-2B'
43
+ infiltration_per_zone_entrydoor = 3.242751
44
+ infiltration_entrydoor.setSchedule(model_add_schedule(model, 'Courthouse INFIL_Door_Opening_SCH'))
45
+ else
46
+ infiltration_per_zone_entrydoor = 2.220041
47
+ infiltration_entrydoor.setSchedule(model_add_schedule(model, 'Courthouse INFIL_Door_Opening_SCH'))
48
+ end
49
+ end
50
+ infiltration_entrydoor.setDesignFlowRate(infiltration_per_zone_entrydoor)
51
+ infiltration_entrydoor.setSpace(entry_space)
52
+ end
53
+ end
54
+
55
+ def update_waterheater_loss_coefficient(model)
56
+ case template
57
+ when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013', 'NECB 2011'
58
+ model.getWaterHeaterMixeds.sort.each do |water_heater|
59
+ water_heater.setOffCycleLossCoefficienttoAmbientTemperature(7.561562668)
60
+ water_heater.setOnCycleLossCoefficienttoAmbientTemperature(7.561562668)
61
+ end
62
+ end
63
+ end
64
+
65
+ def model_custom_swh_tweaks(model, building_type, climate_zone, prototype_input)
66
+ update_waterheater_loss_coefficient(model)
67
+
68
+ return true
69
+ end
70
+
71
+ def model_custom_geometry_tweaks(building_type, climate_zone, prototype_input, model)
72
+ return true
73
+ end
74
+ end
@@ -1,4 +1,3 @@
1
-
2
1
  # Custom changes for the FullServiceRestaurant prototype.
3
2
  # These are changes that are inconsistent with other prototype
4
3
  # building types.
@@ -28,31 +27,37 @@ module FullServiceRestaurant
28
27
  OpenStudio.logFree(OpenStudio::Info, 'openstudio.model.Model', 'Adjusting daylight sensor positions and fractions')
29
28
 
30
29
  adjustments = [
31
- { '90.1-2010' => { 'Dining' => { 'sensor_1_frac' => 0.135,
32
- 'sensor_2_frac' => 0.135,
33
- 'sensor_1_xyz' => [1.9812, 1.9812, 0.762],
34
- 'sensor_2_xyz' => [20.574, 1.9812, 0.762],
35
- },
36
- },
37
- '90.1-2013' => { 'Dining' => { 'sensor_1_frac' => 0.25,
38
- 'sensor_2_frac' => 0.25,
39
- 'sensor_1_xyz' => [2.6548, 2.6548, 0.762],
40
- 'sensor_2_xyz' => [19.9539, 2.6548, 0.762],
41
- },
42
- },
43
- }
44
- ]
30
+ { '90.1-2010' => { 'Dining' => { 'sensor_1_frac' => 0.135,
31
+ 'sensor_2_frac' => 0.135,
32
+ 'sensor_1_xyz' => [1.9812, 1.9812, 0.762],
33
+ 'sensor_2_xyz' => [20.574, 1.9812, 0.762] } },
34
+ '90.1-2013' => { 'Dining' => { 'sensor_1_frac' => 0.25,
35
+ 'sensor_2_frac' => 0.25,
36
+ 'sensor_1_xyz' => [2.6548, 2.6548, 0.762],
37
+ 'sensor_2_xyz' => [19.9539, 2.6548, 0.762] } },
38
+ '90.1-2016' => { 'Dining' => { 'sensor_1_frac' => 0.25,
39
+ 'sensor_2_frac' => 0.25,
40
+ 'sensor_1_xyz' => [2.6548, 2.6548, 0.762],
41
+ 'sensor_2_xyz' => [19.9539, 2.6548, 0.762] } },
42
+ '90.1-2019' => { 'Dining' => { 'sensor_1_frac' => 0.25,
43
+ 'sensor_2_frac' => 0.25,
44
+ 'sensor_1_xyz' => [2.6548, 2.6548, 0.762],
45
+ 'sensor_2_xyz' => [19.9539, 2.6548, 0.762] } } }
46
+ ]
45
47
 
46
48
  # Adjust daylight sensors in each space
47
49
  model.getSpaces.each do |space|
48
- if adjustments[0].keys.include? (template)
49
- if adjustments[0][template].keys.include? (space.name.to_s)
50
+ if adjustments[0].keys.include?(template)
51
+ if adjustments[0][template].keys.include?(space.name.to_s)
50
52
  adj = adjustments[0][template][space.name.to_s]
51
53
  next if space.thermalZone.empty?
54
+
52
55
  zone = space.thermalZone.get
53
56
  next if space.spaceType.empty?
57
+
54
58
  spc_type = space.spaceType.get
55
59
  next if spc_type.standardsSpaceType.empty?
60
+
56
61
  stds_spc_type = spc_type.standardsSpaceType.get
57
62
  # Adjust the primary sensor
58
63
  if adj['sensor_1_frac'] && zone.primaryDaylightingControl.is_initialized
@@ -90,7 +95,7 @@ module FullServiceRestaurant
90
95
 
91
96
  return true
92
97
  end
93
-
98
+
94
99
  # add hvac
95
100
 
96
101
  def add_door_infiltration(climate_zone, model)
@@ -108,7 +113,8 @@ module FullServiceRestaurant
108
113
  infiltration_diningdoor.setSchedule(model_add_schedule(model, 'RestaurantSitDown DOOR_INFIL_SCH'))
109
114
  elsif template == '90.1-2007'
110
115
  case climate_zone
111
- when 'ASHRAE 169-2006-1A',
116
+ when 'ASHRAE 169-2006-0A',
117
+ 'ASHRAE 169-2006-1A',
112
118
  'ASHRAE 169-2006-2A',
113
119
  'ASHRAE 169-2006-2B',
114
120
  'ASHRAE 169-2006-3A',
@@ -117,6 +123,7 @@ module FullServiceRestaurant
117
123
  'ASHRAE 169-2006-4A',
118
124
  'ASHRAE 169-2006-4B',
119
125
  'ASHRAE 169-2006-4C',
126
+ 'ASHRAE 169-2013-0A',
120
127
  'ASHRAE 169-2013-1A',
121
128
  'ASHRAE 169-2013-2A',
122
129
  'ASHRAE 169-2013-2B',
@@ -132,20 +139,22 @@ module FullServiceRestaurant
132
139
  infiltration_per_zone_diningdoor = 0.389828222
133
140
  infiltration_diningdoor.setSchedule(model_add_schedule(model, 'RestaurantSitDown VESTIBULE_DOOR_INFIL_SCH'))
134
141
  end
135
- elsif template == '90.1-2010' || template == '90.1-2013'
142
+ elsif template == '90.1-2010' || template == '90.1-2013' || template == '90.1-2016' || template == '90.1-2019'
136
143
  case climate_zone
137
- when 'ASHRAE 169-2006-1A',
144
+ when 'ASHRAE 169-2006-0A',
145
+ 'ASHRAE 169-2006-1A',
138
146
  'ASHRAE 169-2006-2A',
139
147
  'ASHRAE 169-2006-2B',
140
148
  'ASHRAE 169-2006-3A',
141
149
  'ASHRAE 169-2006-3B',
142
150
  'ASHRAE 169-2006-3C',
151
+ 'ASHRAE 169-2013-0A',
143
152
  'ASHRAE 169-2013-1A',
144
153
  'ASHRAE 169-2013-2A',
145
154
  'ASHRAE 169-2013-2B',
146
155
  'ASHRAE 169-2013-3A',
147
156
  'ASHRAE 169-2013-3B',
148
- 'ASHRAE 169-2013-3C',
157
+ 'ASHRAE 169-2013-3C'
149
158
  infiltration_per_zone_diningdoor = 0.614474994
150
159
  infiltration_diningdoor.setSchedule(model_add_schedule(model, 'RestaurantSitDown DOOR_INFIL_SCH'))
151
160
  else
@@ -163,7 +172,7 @@ module FullServiceRestaurant
163
172
 
164
173
  def model_update_exhaust_fan_efficiency(model)
165
174
  case template
166
- when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013'
175
+ when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013', '90.1-2016', '90.1-2019'
167
176
  model.getFanZoneExhausts.sort.each do |exhaust_fan|
168
177
  fan_name = exhaust_fan.name.to_s
169
178
  if fan_name.include? 'Dining'
@@ -181,6 +190,9 @@ module FullServiceRestaurant
181
190
 
182
191
  def add_zone_mixing(model)
183
192
  # add zone_mixing between kitchen and dining
193
+ # TODO: remove zone mixing objects,
194
+ # transfer air is the should be the same for
195
+ # all stds, exhaust flow varies
184
196
  space_kitchen = model.getSpaceByName('Kitchen').get
185
197
  zone_kitchen = space_kitchen.thermalZone.get
186
198
  space_dining = model.getSpaceByName('Dining').get
@@ -190,7 +202,7 @@ module FullServiceRestaurant
190
202
  case template
191
203
  when 'DOE Ref Pre-1980', 'DOE Ref 1980-2004'
192
204
  zone_mixing_kitchen.setDesignFlowRate(1.828)
193
- when '90.1-2007', '90.1-2010', '90.1-2013'
205
+ when '90.1-2007', '90.1-2010', '90.1-2013', '90.1-2016', '90.1-2019'
194
206
  zone_mixing_kitchen.setDesignFlowRate(1.33143208)
195
207
  when '90.1-2004'
196
208
  zone_mixing_kitchen.setDesignFlowRate(2.64397817)
@@ -209,14 +221,14 @@ module FullServiceRestaurant
209
221
  elec_equip_def1.setName('Kitchen Electric Equipment Definition1')
210
222
  elec_equip_def2.setName('Kitchen Electric Equipment Definition2')
211
223
  case template
212
- when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013'
224
+ when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013', '90.1-2016', '90.1-2019'
213
225
  elec_equip_def1.setFractionLatent(0)
214
226
  elec_equip_def1.setFractionRadiant(0.25)
215
227
  elec_equip_def1.setFractionLost(0)
216
228
  elec_equip_def2.setFractionLatent(0)
217
229
  elec_equip_def2.setFractionRadiant(0.25)
218
230
  elec_equip_def2.setFractionLost(0)
219
- if template == '90.1-2013'
231
+ if template == '90.1-2013' || template == '90.1-2016' || template == '90.1-2019'
220
232
  elec_equip_def1.setDesignLevel(457.5)
221
233
  elec_equip_def2.setDesignLevel(570)
222
234
  else
@@ -247,7 +259,7 @@ module FullServiceRestaurant
247
259
 
248
260
  def update_sizing_zone(model)
249
261
  case template
250
- when '90.1-2007', '90.1-2010', '90.1-2013'
262
+ when '90.1-2007', '90.1-2010', '90.1-2013', '90.1-2016', '90.1-2019'
251
263
  zone_sizing = model.getSpaceByName('Dining').get.thermalZone.get.sizingZone
252
264
  zone_sizing.setCoolingDesignAirFlowMethod('DesignDayWithLimit')
253
265
  zone_sizing.setCoolingMinimumAirFlowperZoneFloorArea(0.003581176)
@@ -272,9 +284,11 @@ module FullServiceRestaurant
272
284
  case template
273
285
  when '90.1-2004', '90.1-2007', '90.1-2010'
274
286
  case climate_zone
275
- when 'ASHRAE 169-2006-1B',
287
+ when 'ASHRAE 169-2006-0B',
288
+ 'ASHRAE 169-2006-1B',
276
289
  'ASHRAE 169-2006-2B',
277
290
  'ASHRAE 169-2006-3B',
291
+ 'ASHRAE 169-2013-0B',
278
292
  'ASHRAE 169-2013-1B',
279
293
  'ASHRAE 169-2013-2B',
280
294
  'ASHRAE 169-2013-3B'
@@ -298,7 +312,7 @@ module FullServiceRestaurant
298
312
  ventilation.setOutdoorAirFlowperPerson(0)
299
313
  ventilation.setOutdoorAirFlowperFloorArea(0)
300
314
  case template
301
- when '90.1-2010', '90.1-2013'
315
+ when '90.1-2010', '90.1-2013', '90.1-2016', '90.1-2019'
302
316
  ventilation.setOutdoorAirFlowRate(1.21708392)
303
317
  when '90.1-2007'
304
318
  ventilation.setOutdoorAirFlowRate(1.50025792)
@@ -311,7 +325,7 @@ module FullServiceRestaurant
311
325
  model.getWaterHeaterMixeds.sort.each do |water_heater|
312
326
  if water_heater.name.to_s.include?('Booster')
313
327
  water_heater.resetAmbientTemperatureSchedule
314
- water_heater.setAmbientTemperatureIndicator('ThermalZone')
328
+ water_heater.setAmbientTemperatureIndicator('ThermalZone')
315
329
  water_heater.setAmbientTemperatureThermalZone(model.getThermalZoneByName('Kitchen ZN').get)
316
330
  end
317
331
  end
@@ -324,6 +338,8 @@ module FullServiceRestaurant
324
338
  end
325
339
 
326
340
  def model_custom_geometry_tweaks(building_type, climate_zone, prototype_input, model)
341
+ # Set original building North axis
342
+ model_set_building_north_axis(model, 0.0)
327
343
 
328
344
  return true
329
345
  end