openstudio-standards 0.2.12.rc4 → 0.2.13.rc3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (541) 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/geometry/ASHRAESmallDataCenter.json +1 -1
  12. data/data/standards/OpenStudio_Standards-ashrae_90_1(space_types).xlsx +0 -0
  13. data/data/standards/OpenStudio_Standards-ashrae_90_1-ALL-comstock(space_types).xlsx +0 -0
  14. data/data/standards/OpenStudio_Standards-ashrae_90_1.xlsx +0 -0
  15. data/data/standards/exclude_list.csv +19 -0
  16. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.boilers.json +49 -0
  17. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.chillers.json +293 -0
  18. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_properties.json +25426 -0
  19. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_sets.json +1600 -0
  20. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.economizers.json +564 -0
  21. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.elevators.json +349 -0
  22. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ext_ltg.json +164 -0
  23. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ground_temperatures.json +10663 -0
  24. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps.json +508 -0
  25. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps_heating.json +156 -0
  26. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_rejection.json +44 -0
  27. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.motors.json +184 -0
  28. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.prototype_inputs.json +3094 -0
  29. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ref_cases.json +829 -0
  30. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ref_lnup.json +562 -0
  31. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_compressors.json +52 -0
  32. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_condenser.json +220 -0
  33. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_system.json +156 -0
  34. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_walkins.json +1316 -0
  35. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +21446 -0
  36. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.unitary_acs.json +554 -0
  37. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.water_heaters.json +68 -0
  38. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.water_source_heat_pumps.json +28 -0
  39. data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.water_source_heat_pumps_heating.json +12 -0
  40. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.boilers.json +49 -0
  41. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.chillers.json +293 -0
  42. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_properties.json +12487 -0
  43. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_sets.json +1600 -0
  44. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.economizers.json +564 -0
  45. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.elevators.json +349 -0
  46. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ext_ltg.json +164 -0
  47. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ground_temperatures.json +10663 -0
  48. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps.json +466 -0
  49. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps_heating.json +137 -0
  50. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_rejection.json +44 -0
  51. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.motors.json +184 -0
  52. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.prototype_inputs.json +3094 -0
  53. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ref_cases.json +829 -0
  54. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ref_lnup.json +562 -0
  55. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_compressors.json +52 -0
  56. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_condenser.json +220 -0
  57. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_system.json +156 -0
  58. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_walkins.json +1316 -0
  59. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +21380 -0
  60. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.unitary_acs.json +554 -0
  61. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.water_heaters.json +68 -0
  62. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.water_source_heat_pumps.json +28 -0
  63. data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.water_source_heat_pumps_heating.json +12 -0
  64. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.boilers.json +49 -0
  65. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.chillers.json +395 -0
  66. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_properties.json +12487 -0
  67. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_sets.json +1600 -0
  68. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.economizers.json +592 -0
  69. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.elevators.json +349 -0
  70. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.energy_recovery.json +550 -0
  71. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ext_ltg.json +164 -0
  72. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ground_temperatures.json +10663 -0
  73. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps.json +466 -0
  74. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps_heating.json +137 -0
  75. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_rejection.json +44 -0
  76. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.motors.json +238 -0
  77. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.prototype_inputs.json +3094 -0
  78. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ref_cases.json +829 -0
  79. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ref_lnup.json +562 -0
  80. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_compressors.json +52 -0
  81. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_condenser.json +220 -0
  82. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_system.json +156 -0
  83. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_walkins.json +1316 -0
  84. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +21548 -0
  85. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.unitary_acs.json +554 -0
  86. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.water_heaters.json +68 -0
  87. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.water_source_heat_pumps.json +28 -0
  88. data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.water_source_heat_pumps_heating.json +12 -0
  89. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.boilers.json +64 -0
  90. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.chillers.json +871 -0
  91. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_properties.json +12487 -0
  92. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_sets.json +1600 -0
  93. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.economizers.json +592 -0
  94. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.elevators.json +349 -0
  95. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.energy_recovery.json +1096 -0
  96. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ext_ltg.json +164 -0
  97. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ground_temperatures.json +10663 -0
  98. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps.json +886 -0
  99. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps_heating.json +194 -0
  100. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_rejection.json +44 -0
  101. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.motors.json +247 -0
  102. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.prototype_inputs.json +3094 -0
  103. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ref_cases.json +829 -0
  104. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ref_lnup.json +562 -0
  105. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_compressors.json +52 -0
  106. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_condenser.json +220 -0
  107. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_system.json +156 -0
  108. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_walkins.json +1316 -0
  109. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +22079 -0
  110. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.unitary_acs.json +994 -0
  111. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_heaters.json +68 -0
  112. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_source_heat_pumps.json +28 -0
  113. data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_source_heat_pumps_heating.json +12 -0
  114. data/data/standards/manage_OpenStudio_Standards.rb +87 -37
  115. data/data/standards/metadata_units_OpenStudio_Standards-ashrae_90_1-ALL-comstockspace_types.csv +236 -0
  116. data/data/standards/metadata_units_OpenStudio_Standards-ashrae_90_1.csv +622 -0
  117. data/data/standards/metadata_units_OpenStudio_Standards-ashrae_90_1space_types.csv +191 -0
  118. data/data/standards/openstudio_standards_duplicates_log.csv +17 -0
  119. data/data/standards/test_performance_expected_dd_results.csv +1971 -1171
  120. data/lib/openstudio-standards.rb +76 -18
  121. data/lib/openstudio-standards/btap/btap.model.rb +1 -1
  122. data/lib/openstudio-standards/btap/economics.rb +14 -11
  123. data/lib/openstudio-standards/btap/envelope.rb +185 -257
  124. data/lib/openstudio-standards/btap/fileio.rb +1 -0
  125. data/lib/openstudio-standards/btap/geometry.rb +21 -1
  126. data/lib/openstudio-standards/btap/measures.rb +12 -11
  127. data/lib/openstudio-standards/btap/schedules.rb +3 -12
  128. data/lib/openstudio-standards/hvac_sizing/Siz.AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed.rb +178 -0
  129. data/lib/openstudio-standards/hvac_sizing/Siz.CoilCoolingDXMultiSpeed.rb +8 -8
  130. data/lib/openstudio-standards/hvac_sizing/Siz.Model.rb +3 -0
  131. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PumpVariableSpeed.rb +28 -0
  132. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.FanVariableVolume.rb +0 -1
  133. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.PumpVariableSpeed.rb +28 -0
  134. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Model.rb +53 -2
  135. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.PumpVariableSpeed.rb +29 -0
  136. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Model.rb +157 -2
  137. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.PumpVariableSpeed.rb +29 -0
  138. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +24 -0
  139. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanConstantVolume.rb +32 -0
  140. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanOnOff.rb +33 -0
  141. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanVariableVolume.rb +32 -0
  142. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.elevators.rb +25 -0
  143. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.rb +366 -0
  144. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.PumpVariableSpeed.rb +144 -0
  145. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.hvac_systems.rb +11 -0
  146. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +24 -0
  147. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanConstantVolume.rb +32 -0
  148. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanOnOff.rb +33 -0
  149. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanVariableVolume.rb +32 -0
  150. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.elevators.rb +25 -0
  151. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.rb +367 -0
  152. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.PumpVariableSpeed.rb +144 -0
  153. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.hvac_systems.rb +11 -0
  154. data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.AirTerminalSingleDuctVAVReheat.rb +0 -1
  155. data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.AirTerminalSingleDuctVAVReheat.rb +0 -1
  156. data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.HeatExchangerAirToAirSensibleAndLatent.rb +1 -1
  157. data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.Model.rb +1 -1
  158. data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.HeatExchangerAirToAirSensibleAndLatent.rb +1 -1
  159. data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.rb +1 -1
  160. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.College.rb +3 -3
  161. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Courthouse.rb +74 -0
  162. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.FullServiceRestaurant.rb +46 -30
  163. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.HighRiseApartment.rb +23 -8
  164. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Hospital.rb +26 -15
  165. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Laboratory.rb +8 -11
  166. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeDataCenterHighITE.rb +54 -60
  167. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeDataCenterLowITE.rb +56 -60
  168. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeHotel.rb +38 -12
  169. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOffice.rb +218 -134
  170. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOfficeDetailed.rb +6 -2
  171. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOffice.rb +230 -134
  172. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOfficeDetailed.rb +60 -62
  173. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MidriseApartment.rb +25 -15
  174. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Outpatient.rb +34 -22
  175. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.PrimarySchool.rb +31 -7
  176. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.QuickServiceRestaurant.rb +43 -28
  177. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.RetailStandalone.rb +48 -38
  178. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.RetailStripmall.rb +9 -5
  179. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SecondarySchool.rb +575 -345
  180. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallDataCenterHighITE.rb +13 -19
  181. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallDataCenterLowITE.rb +13 -17
  182. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallHotel.rb +9 -5
  183. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOffice.rb +79 -51
  184. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOfficeDetailed.rb +60 -60
  185. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperMarket.rb +2 -4
  186. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperTallBuilding.rb +133 -120
  187. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.TallBuilding.rb +124 -112
  188. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Warehouse.rb +138 -66
  189. data/lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb +7275 -199
  190. data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirConditionerVariableRefrigerantFlow.rb +35 -35
  191. data/lib/openstudio-standards/prototypes/common/objects/Prototype.BoilerHotWater.rb +2 -2
  192. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CentralAirSourceHeatPump.rb +2 -2
  193. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXSingleSpeed.rb +3 -3
  194. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXTwoSpeed.rb +1 -1
  195. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWater.rb +2 -2
  196. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWaterToAirHeatPumpEquationFit.rb +2 -2
  197. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingDXSingleSpeed.rb +1 -1
  198. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingElectric.rb +2 -2
  199. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWater.rb +2 -2
  200. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWaterToAirHeatPumpEquationFit.rb +2 -2
  201. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoolingTower.rb +1 -1
  202. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Fan.rb +4 -3
  203. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanConstantVolume.rb +7 -8
  204. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanOnOff.rb +7 -8
  205. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanVariableVolume.rb +13 -14
  206. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanZoneExhaust.rb +7 -5
  207. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.elevators.rb +4 -1
  208. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.exterior_lights.rb +0 -1
  209. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.hvac.rb +25 -14
  210. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +474 -89
  211. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.swh.rb +35 -33
  212. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Pump.rb +3 -0
  213. data/lib/openstudio-standards/prototypes/common/objects/Prototype.PumpVariableSpeed.rb +72 -0
  214. data/lib/openstudio-standards/prototypes/common/objects/Prototype.ServiceWaterHeating.rb +120 -120
  215. data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +142 -154
  216. data/lib/openstudio-standards/prototypes/common/objects/Prototype.radiant_system_controls.rb +9 -3
  217. data/lib/openstudio-standards/prototypes/common/objects/Prototype.refrigeration.rb +11 -5
  218. data/lib/openstudio-standards/prototypes/common/objects/Prototype.utilities.rb +26 -14
  219. data/lib/openstudio-standards/prototypes/common/prototype_metaprogramming.rb +270 -247
  220. data/lib/openstudio-standards/prototypes/deer/deer.Model.rb +1 -1
  221. data/lib/openstudio-standards/refs/references.rb +5 -2
  222. data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +70 -51
  223. data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb +0 -1
  224. data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +0 -1
  225. data/lib/openstudio-standards/standards/Standards.BuildingStory.rb +1 -0
  226. data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +2 -4
  227. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +91 -2
  228. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +4 -5
  229. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +0 -1
  230. data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +1 -1
  231. data/lib/openstudio-standards/standards/Standards.CoilDX.rb +30 -9
  232. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +2 -1
  233. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb +3 -1
  234. data/lib/openstudio-standards/standards/Standards.CoilHeatingGas.rb +0 -3
  235. data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +37 -1
  236. data/lib/openstudio-standards/standards/Standards.CoilHeatingWaterToAirHeatPumpEquationFit.rb +1 -3
  237. data/lib/openstudio-standards/standards/Standards.Construction.rb +124 -118
  238. data/lib/openstudio-standards/standards/Standards.CoolingTower.rb +0 -1
  239. data/lib/openstudio-standards/standards/Standards.CoolingTowerSingleSpeed.rb +0 -1
  240. data/lib/openstudio-standards/standards/Standards.CoolingTowerTwoSpeed.rb +0 -1
  241. data/lib/openstudio-standards/standards/Standards.CoolingTowerVariableSpeed.rb +0 -1
  242. data/lib/openstudio-standards/standards/Standards.Fan.rb +0 -1
  243. data/lib/openstudio-standards/standards/Standards.FanConstantVolume.rb +0 -1
  244. data/lib/openstudio-standards/standards/Standards.FanOnOff.rb +0 -1
  245. data/lib/openstudio-standards/standards/Standards.FanVariableVolume.rb +2 -4
  246. data/lib/openstudio-standards/standards/Standards.FanZoneExhaust.rb +0 -1
  247. data/lib/openstudio-standards/standards/Standards.FluidCooler.rb +10 -3
  248. data/lib/openstudio-standards/standards/Standards.HeaderedPumpsConstantSpeed.rb +0 -1
  249. data/lib/openstudio-standards/standards/Standards.HeaderedPumpsVariableSpeed.rb +0 -1
  250. data/lib/openstudio-standards/standards/Standards.Model.rb +305 -247
  251. data/lib/openstudio-standards/standards/Standards.PlanarSurface.rb +2 -0
  252. data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +11 -9
  253. data/lib/openstudio-standards/standards/Standards.Pump.rb +0 -1
  254. data/lib/openstudio-standards/standards/Standards.PumpConstantSpeed.rb +0 -1
  255. data/lib/openstudio-standards/standards/Standards.PumpVariableSpeed.rb +0 -1
  256. data/lib/openstudio-standards/standards/Standards.ScheduleCompact.rb +0 -1
  257. data/lib/openstudio-standards/standards/Standards.ScheduleConstant.rb +0 -1
  258. data/lib/openstudio-standards/standards/Standards.ScheduleRuleset.rb +103 -121
  259. data/lib/openstudio-standards/standards/Standards.Space.rb +42 -35
  260. data/lib/openstudio-standards/standards/Standards.SpaceType.rb +9 -17
  261. data/lib/openstudio-standards/standards/Standards.SubSurface.rb +25 -27
  262. data/lib/openstudio-standards/standards/Standards.Surface.rb +97 -52
  263. data/lib/openstudio-standards/standards/Standards.ThermalZone.rb +76 -25
  264. data/lib/openstudio-standards/standards/Standards.WaterHeaterMixed.rb +6 -7
  265. data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +85 -7
  266. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1.Standards.FanVariableVolume.rb +0 -1
  267. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.AirLoopHVAC.rb +10 -2
  268. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.Model.rb +2 -2
  269. 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
  270. 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
  271. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_properties.json +2420 -0
  272. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.economizers.json +32 -0
  273. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_rejection.json +9 -0
  274. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.prototype_inputs.json +70 -40
  275. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +105 -40
  276. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.unitary_acs.json +15 -15
  277. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.AirLoopHVAC.rb +5 -1
  278. 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
  279. 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
  280. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_properties.json +1460 -0
  281. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.economizers.json +32 -0
  282. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_rejection.json +9 -0
  283. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.prototype_inputs.json +123 -39
  284. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +104 -17
  285. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.unitary_acs.json +15 -15
  286. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirLoopHVAC.rb +32 -15
  287. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Space.rb +1 -1
  288. 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
  289. 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
  290. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_properties.json +1460 -0
  291. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.economizers.json +64 -0
  292. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.energy_recovery.json +52 -0
  293. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_rejection.json +9 -0
  294. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.prototype_inputs.json +123 -39
  295. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +112 -25
  296. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.unitary_acs.json +5 -5
  297. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirLoopHVAC.rb +37 -14
  298. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.WaterHeaterMixed.rb +1 -1
  299. 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
  300. 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
  301. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.boilers.json +1 -1
  302. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.chillers.json +2 -2
  303. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_properties.json +1460 -0
  304. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.economizers.json +64 -0
  305. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.energy_recovery.json +104 -0
  306. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_rejection.json +9 -0
  307. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.prototype_inputs.json +125 -41
  308. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +172 -55
  309. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.unitary_acs.json +15 -15
  310. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_heaters.json +4 -4
  311. 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
  312. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirLoopHVAC.rb +456 -0
  313. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +24 -0
  314. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTower.rb +19 -0
  315. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTowerSingleSpeed.rb +5 -0
  316. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTowerTwoSpeed.rb +5 -0
  317. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTowerVariableSpeed.rb +16 -0
  318. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanVariableVolume.rb +37 -0
  319. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Space.rb +189 -0
  320. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.ThermalZone.rb +57 -0
  321. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.ZoneHVACComponent.rb +22 -0
  322. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.rb +16 -0
  323. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.boilers.json +68 -0
  324. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.chillers.json +490 -0
  325. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.construction_properties.json +21244 -0
  326. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.construction_sets.json +2111 -0
  327. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.economizers.json +676 -0
  328. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.elevators.json +372 -0
  329. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.energy_recovery.json +1096 -0
  330. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.ext_ltg.json +169 -0
  331. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_pumps.json +532 -0
  332. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_pumps_heating.json +164 -0
  333. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_rejection.json +49 -0
  334. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.motors.json +274 -0
  335. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.prototype_inputs.json +3094 -0
  336. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.ref_cases.json +854 -0
  337. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.ref_lnup.json +562 -0
  338. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.refrigeration_compressors.json +58 -0
  339. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.refrigeration_condenser.json +238 -0
  340. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.refrigeration_system.json +12 -0
  341. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.refrigeration_walkins.json +1316 -0
  342. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.spc_typ.json +23067 -0
  343. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.unitary_acs.json +648 -0
  344. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.water_heaters.json +72 -0
  345. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.water_source_heat_pumps.json +31 -0
  346. 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
  347. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +456 -0
  348. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +24 -0
  349. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTower.rb +19 -0
  350. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTowerSingleSpeed.rb +5 -0
  351. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTowerTwoSpeed.rb +5 -0
  352. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTowerVariableSpeed.rb +16 -0
  353. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanVariableVolume.rb +37 -0
  354. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Space.rb +189 -0
  355. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.ThermalZone.rb +57 -0
  356. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.ZoneHVACComponent.rb +22 -0
  357. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.rb +16 -0
  358. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.boilers.json +68 -0
  359. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.chillers.json +490 -0
  360. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.construction_properties.json +21244 -0
  361. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.construction_sets.json +2111 -0
  362. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.economizers.json +676 -0
  363. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.elevators.json +372 -0
  364. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.energy_recovery.json +1096 -0
  365. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.ext_ltg.json +169 -0
  366. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_pumps.json +664 -0
  367. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_pumps_heating.json +204 -0
  368. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_rejection.json +49 -0
  369. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.motors.json +274 -0
  370. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.prototype_inputs.json +3094 -0
  371. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.ref_cases.json +854 -0
  372. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.ref_lnup.json +562 -0
  373. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.refrigeration_compressors.json +58 -0
  374. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.refrigeration_condenser.json +238 -0
  375. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.refrigeration_system.json +12 -0
  376. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.refrigeration_walkins.json +1316 -0
  377. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.spc_typ.json +23067 -0
  378. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.unitary_acs.json +671 -0
  379. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.water_heaters.json +72 -0
  380. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.water_source_heat_pumps.json +31 -0
  381. 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
  382. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.constructions.json +1662 -332
  383. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.fans.json +1 -1
  384. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.materials.json +4994 -234
  385. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.schedules.json +1743 -161
  386. 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
  387. 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
  388. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.heat_rejection.json +9 -0
  389. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.prototype_inputs.json +8 -8
  390. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.spc_typ.json +5967 -2727
  391. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.Model.rb +4 -4
  392. 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
  393. 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
  394. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.heat_rejection.json +9 -0
  395. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.prototype_inputs.json +7 -7
  396. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.spc_typ.json +5920 -2700
  397. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.Model.rb +4 -4
  398. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.heat_rejection.json +9 -0
  399. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.spc_typ.json +2011 -1112
  400. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirLoopHVAC.rb +0 -1
  401. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.Model.rb +4 -4
  402. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.PlantLoop.rb +1 -1
  403. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.ZoneHVACComponent.rb +1 -1
  404. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.heat_rejection.json +9 -0
  405. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.spc_typ.json +1946 -1106
  406. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.water_heaters.json +2 -2
  407. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirLoopHVAC.rb +3 -6
  408. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.rb +4 -4
  409. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.PlantLoop.rb +1 -1
  410. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.ZoneHVACComponent.rb +1 -1
  411. data/lib/openstudio-standards/standards/cbes/cbes.Model.rb +1 -3
  412. data/lib/openstudio-standards/standards/cbes/cbes.rb +1 -1
  413. data/lib/openstudio-standards/standards/deer/deer.AirLoopHVAC.rb +8 -13
  414. data/lib/openstudio-standards/standards/deer/deer.Model.rb +2 -2
  415. data/lib/openstudio-standards/standards/deer/deer.PlanarSurface.rb +2 -0
  416. data/lib/openstudio-standards/standards/deer/deer.Space.rb +1 -1
  417. data/lib/openstudio-standards/standards/deer/deer_2011/deer_2011.rb +0 -1
  418. data/lib/openstudio-standards/standards/deer/deer_2014/deer_2014.Space.rb +0 -1
  419. data/lib/openstudio-standards/standards/deer/deer_2014/deer_2014.rb +0 -1
  420. data/lib/openstudio-standards/standards/deer/deer_2015/deer_2015.Space.rb +0 -1
  421. data/lib/openstudio-standards/standards/deer/deer_2017/deer_2017.Space.rb +0 -1
  422. data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.AirLoopHVAC.rb +1 -1
  423. data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.FanVariableVolume.rb +1 -1
  424. data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.Space.rb +0 -1
  425. data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.AirLoopHVAC.rb +1 -1
  426. data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.FanVariableVolume.rb +1 -1
  427. data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.Space.rb +0 -1
  428. data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.AirLoopHVAC.rb +1 -1
  429. data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.FanVariableVolume.rb +1 -1
  430. data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.Space.rb +0 -1
  431. data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.AirLoopHVAC.rb +1 -1
  432. data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.FanVariableVolume.rb +1 -1
  433. data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.Space.rb +0 -1
  434. data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.AirLoopHVAC.rb +1 -1
  435. data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.FanVariableVolume.rb +1 -1
  436. data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.Space.rb +0 -1
  437. data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.AirLoopHVAC.rb +1 -1
  438. data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.FanVariableVolume.rb +1 -1
  439. data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.Space.rb +0 -1
  440. data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.AirLoopHVAC.rb +1 -1
  441. data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.FanVariableVolume.rb +1 -1
  442. data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.Space.rb +0 -1
  443. data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.AirLoopHVAC.rb +1 -1
  444. data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.FanVariableVolume.rb +1 -1
  445. data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.Space.rb +0 -1
  446. data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.AirLoopHVAC.rb +1 -1
  447. data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.FanVariableVolume.rb +1 -1
  448. data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.Space.rb +0 -1
  449. data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.AirLoopHVAC.rb +1 -1
  450. data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.FanVariableVolume.rb +1 -1
  451. data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.Space.rb +0 -1
  452. data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.AirLoopHVAC.rb +1 -1
  453. data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.FanVariableVolume.rb +1 -1
  454. data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.Space.rb +0 -1
  455. data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.AirLoopHVAC.rb +1 -1
  456. data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.FanVariableVolume.rb +1 -1
  457. data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.Space.rb +0 -1
  458. data/lib/openstudio-standards/standards/icc_iecc/icc_iecc_2015/icc_iecc_2015.rb +0 -1
  459. data/lib/openstudio-standards/standards/necb/BTAP1980TO2010/btap_1980to2010.rb +2 -18
  460. data/lib/openstudio-standards/standards/necb/BTAP1980TO2010/data/space_types.json +1677 -1005
  461. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/btap_pre1980.rb +87 -15
  462. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/building_envelope.rb +31 -19
  463. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/data/curves.json +75 -0
  464. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/data/heat_pumps.json +16 -16
  465. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/data/space_types.json +1677 -1005
  466. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_3_and_8_single_speed.rb +16 -2
  467. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_4.rb +15 -0
  468. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_6.rb +14 -0
  469. data/lib/openstudio-standards/standards/necb/ECMS/data/boiler_set.json +29 -0
  470. data/lib/openstudio-standards/standards/necb/ECMS/data/curves.json +913 -0
  471. data/lib/openstudio-standards/standards/necb/ECMS/data/equip_eff_lim.json +52 -0
  472. data/lib/openstudio-standards/standards/necb/ECMS/data/erv.json +109 -0
  473. data/lib/openstudio-standards/standards/necb/ECMS/data/furnace_set.json +23 -0
  474. data/lib/openstudio-standards/standards/necb/ECMS/data/heat_pumps.json +803 -0
  475. data/lib/openstudio-standards/standards/necb/ECMS/data/heat_pumps_heating.json +787 -0
  476. data/lib/openstudio-standards/standards/necb/ECMS/data/pv.json +112 -0
  477. data/lib/openstudio-standards/standards/necb/ECMS/data/shw_set.json +29 -0
  478. data/lib/openstudio-standards/standards/necb/ECMS/data/unitary_acs.json +50 -0
  479. data/lib/openstudio-standards/standards/necb/ECMS/ecms.rb +100 -0
  480. data/lib/openstudio-standards/standards/necb/ECMS/erv.rb +33 -0
  481. data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +1729 -0
  482. data/lib/openstudio-standards/standards/necb/ECMS/nv.rb +189 -0
  483. data/lib/openstudio-standards/standards/necb/ECMS/pv_ground.rb +104 -0
  484. data/lib/openstudio-standards/standards/necb/NECB2011/autozone.rb +68 -33
  485. data/lib/openstudio-standards/standards/necb/NECB2011/beps_compliance_path.rb +24 -13
  486. data/lib/openstudio-standards/standards/necb/NECB2011/building_envelope.rb +110 -99
  487. data/lib/openstudio-standards/standards/necb/NECB2011/data/constants.json +24 -24
  488. data/lib/openstudio-standards/standards/necb/NECB2011/data/curves.json +50 -0
  489. data/lib/openstudio-standards/standards/necb/NECB2011/data/erv.json +31 -0
  490. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/LowriseApartment.osm +39278 -0
  491. data/lib/openstudio-standards/standards/necb/NECB2011/data/led_lighting_data.json +2028 -0
  492. data/lib/openstudio-standards/standards/necb/NECB2011/data/space_types.json +1745 -1297
  493. data/lib/openstudio-standards/standards/necb/NECB2011/daylighting_control.md +70 -0
  494. data/lib/openstudio-standards/standards/necb/NECB2011/demand_controlled_ventilation.md +46 -0
  495. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_multi_speed.rb +69 -107
  496. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_single_speed.rb +41 -2
  497. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_2_and_5.rb +15 -0
  498. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_multi_speed.rb +139 -141
  499. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_single_speed.rb +38 -2
  500. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_4.rb +13 -0
  501. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_6.rb +12 -0
  502. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +492 -240
  503. data/lib/openstudio-standards/standards/necb/NECB2011/led_lighting.md +51 -0
  504. data/lib/openstudio-standards/standards/necb/NECB2011/lighting.rb +75 -9
  505. data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +1229 -37
  506. data/lib/openstudio-standards/standards/necb/NECB2011/nv.md +74 -0
  507. data/lib/openstudio-standards/standards/necb/NECB2011/pv_ground.md +44 -0
  508. data/lib/openstudio-standards/standards/necb/NECB2011/qaqc/necb_qaqc.rb +11 -3
  509. data/lib/openstudio-standards/standards/necb/NECB2011/qaqc/qaqc_resources/neb_end_use_prices.csv +39 -84
  510. data/lib/openstudio-standards/standards/necb/NECB2011/service_water_heating.rb +1 -1
  511. data/lib/openstudio-standards/standards/necb/NECB2015/data/led_lighting_data.json +2883 -0
  512. data/lib/openstudio-standards/standards/necb/NECB2015/data/space_types.json +2554 -1916
  513. data/lib/openstudio-standards/standards/necb/NECB2015/necb_2015.rb +32 -1
  514. data/lib/openstudio-standards/standards/necb/NECB2017/data/led_lighting_data.json +2883 -0
  515. data/lib/openstudio-standards/standards/necb/NECB2017/data/space_types.json +2554 -1916
  516. data/lib/openstudio-standards/standards/necb/NECB2017/necb_2017.rb +29 -0
  517. data/lib/openstudio-standards/standards/oeesc/oeesc_2014/oeesc_2014.rb +0 -1
  518. data/lib/openstudio-standards/standards/standard.rb +6 -5
  519. data/lib/openstudio-standards/utilities/Add_template_field_to_json.rb +3 -3
  520. data/lib/openstudio-standards/utilities/convert_surfaces_to_adiabatic_necb_8426.rb +54 -54
  521. data/lib/openstudio-standards/utilities/generate_prototype_database.rb +2 -2
  522. data/lib/openstudio-standards/utilities/generate_space_types.rb +3 -3
  523. data/lib/openstudio-standards/utilities/logging.rb +7 -7
  524. data/lib/openstudio-standards/utilities/necb_to_epw_map.rb +14 -14
  525. data/lib/openstudio-standards/utilities/os_sim_extract.rb +25 -25
  526. data/lib/openstudio-standards/utilities/rename_surfaces.rb +10 -13
  527. data/lib/openstudio-standards/utilities/round_surf_coords.rb +18 -20
  528. data/lib/openstudio-standards/utilities/sched_create.rb +39 -41
  529. data/lib/openstudio-standards/utilities/set_mult_to_adiabatic.rb +31 -31
  530. data/lib/openstudio-standards/utilities/simulation.rb +13 -21
  531. data/lib/openstudio-standards/utilities/speacetype_map_converter.rb +10 -11
  532. data/lib/openstudio-standards/utilities/sqlfile.rb +6 -8
  533. data/lib/openstudio-standards/utilities/template_measure/measure.rb +108 -0
  534. data/lib/openstudio-standards/utilities/template_measure/measure.xml +162 -0
  535. data/lib/openstudio-standards/utilities/template_measure/resources/BTAPMeasureHelper.rb +448 -0
  536. data/lib/openstudio-standards/utilities/template_measure/tests/test.rb +160 -0
  537. data/lib/openstudio-standards/utilities/weatherData1_xlsx_to_json.rb +23 -26
  538. data/lib/openstudio-standards/version.rb +1 -1
  539. data/lib/openstudio-standards/weather/Weather.Model.rb +112 -87
  540. data/lib/openstudio-standards/weather/Weather.stat_file.rb +17 -17
  541. metadata +236 -2
@@ -14,13 +14,7 @@ class NECB2011
14
14
  space_type.setStandardsBuildingType(spacedata["building_type"])
15
15
  space_type.setName("#{spacedata['building_type']} #{spacedata['space_type']}")
16
16
  # Loads
17
- self.space_type_apply_internal_loads(space_type,
18
- true,
19
- true,
20
- true,
21
- true,
22
- true,
23
- true)
17
+ self.space_type_apply_internal_loads(space_type: space_type)
24
18
 
25
19
  # Schedules
26
20
  self.space_type_apply_internal_load_schedules(space_type,
@@ -36,8 +30,6 @@ class NECB2011
36
30
  end
37
31
 
38
32
 
39
-
40
-
41
33
  # Sets the selected internal loads to standards-based or typical values.
42
34
  # For each category that is selected get all load instances. Remove all
43
35
  # but the first instance if multiple instances. Add a new instance/definition
@@ -55,13 +47,23 @@ class NECB2011
55
47
  # @param set_ventilation [Bool] if true, set the ventilation rates (per-person and per-area)
56
48
  # @param set_infiltration [Bool] if true, set the infiltration rates
57
49
  # @return [Bool] returns true if successful, false if not
58
- def space_type_apply_internal_loads(space_type, set_people, set_lights, set_electric_equipment, set_gas_equipment, set_ventilation, set_infiltration)
50
+ def space_type_apply_internal_loads(space_type:,
51
+ set_people: true,
52
+ set_lights: true,
53
+ set_electric_equipment: true,
54
+ set_gas_equipment: true,
55
+ set_ventilation: true,
56
+ set_infiltration: true,
57
+ lights_type: 'NECB_Default',
58
+ lights_scale: 1.0)
59
+
59
60
  # Skip plenums
60
61
  # Check if the space type name
61
62
  # contains the word plenum.
62
63
  if space_type.name.get.to_s.downcase.include?('plenum')
63
64
  return false
64
65
  end
66
+
65
67
  if space_type.standardsSpaceType.is_initialized
66
68
  if space_type.standardsSpaceType.get.downcase.include?('plenum')
67
69
  return false
@@ -163,7 +165,11 @@ class NECB2011
163
165
  end
164
166
 
165
167
  # Lights
166
- apply_standard_lights(set_lights, space_type, space_type_properties)
168
+ apply_standard_lights(set_lights: set_lights,
169
+ space_type: space_type,
170
+ space_type_properties: space_type_properties,
171
+ lights_type: lights_type,
172
+ lights_scale: lights_scale)
167
173
 
168
174
  # Electric Equipment
169
175
  elec_equip_have_info = false
@@ -266,6 +272,7 @@ class NECB2011
266
272
  ventilation_per_area = space_type_properties['ventilation_per_area'].to_f
267
273
  ventilation_per_person = space_type_properties['ventilation_per_person'].to_f
268
274
  ventilation_ach = space_type_properties['ventilation_air_changes'].to_f
275
+ ventilation_occupancy_per_area = space_type_properties['ventilation_occupancy_rate_people_per_1000ft2'].to_f
269
276
  ventilation_have_info = true unless ventilation_per_area.zero?
270
277
  ventilation_have_info = true unless ventilation_per_person.zero?
271
278
  ventilation_have_info = true unless ventilation_ach.zero?
@@ -290,8 +297,12 @@ class NECB2011
290
297
  OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.SpaceType', "#{space_type.name} set ventilation per area to #{ventilation_per_area} cfm/ft^2.")
291
298
  end
292
299
  unless ventilation_per_person.zero?
293
- ventilation.setOutdoorAirFlowperPerson(OpenStudio.convert(ventilation_per_person.to_f, 'ft^3/min*person', 'm^3/s*person').get)
294
- OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.SpaceType', "#{space_type.name} set ventilation per person to #{ventilation_per_person} cfm/person.")
300
+ # For BTAP we often use an occupancy per area rate for ventilation which is different from the one used for
301
+ # everything else. The mod_ventilation_per_person rate adjusts the per person ventilation rate so that the
302
+ # proper ventilation rate is calculated when using the general occupant per area rate.
303
+ mod_ventilation_per_person = ventilation_per_person*ventilation_occupancy_per_area/occupancy_per_area
304
+ ventilation.setOutdoorAirFlowperPerson(OpenStudio.convert(mod_ventilation_per_person.to_f, 'ft^3/min*person', 'm^3/s*person').get)
305
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.SpaceType', "#{space_type.name} set ventilation per person to #{mod_ventilation_per_person} cfm/person.")
295
306
  end
296
307
  unless ventilation_ach.zero?
297
308
  ventilation.setOutdoorAirFlowAirChangesperHour(ventilation_ach)
@@ -1,4 +1,5 @@
1
1
  class NECB2011
2
+
2
3
  # Reduces the WWR to the values specified by the NECB
3
4
  # NECB 3.2.1.4
4
5
  def apply_standard_window_to_wall_ratio(model:, fdwr_set: -1.0)
@@ -141,7 +142,6 @@ class NECB2011
141
142
  red_res = wwr_res > wwr_lim
142
143
  red_sh = wwr_sh > wwr_lim
143
144
 
144
-
145
145
  # puts "Current FDWR is #{fdwr}, must be less than #{fdwr_lim}."
146
146
  # puts "Current subsurf area is #{total_subsurface_m2} and gross surface area is #{total_wall_m2}"
147
147
  # Stop here unless windows / doors need reducing
@@ -271,7 +271,6 @@ class NECB2011
271
271
  srr = ((total_subsurface_m2 / total_roof_m2) * 100.0).round(1)
272
272
  OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.Model', "The skylight to roof ratios (SRRs) are: NonRes: #{srr_nr.round}%, Res: #{srr_res.round}%.")
273
273
 
274
-
275
274
  # Check against SRR limit
276
275
  red_nr = srr_nr > srr_lim
277
276
  red_res = srr_res > srr_lim
@@ -307,8 +306,8 @@ class NECB2011
307
306
  # @param hdd [Float]
308
307
  # @return [Double] a constant float
309
308
  def max_fwdr(hdd)
310
- #get formula from json database.
311
- return eval(self.get_standards_formula('fdwr_formula'))
309
+ # get formula from json database.
310
+ return eval(get_standards_formula('fdwr_formula'))
312
311
  end
313
312
 
314
313
  # Go through the default construction sets and hard-assigned
@@ -322,93 +321,110 @@ class NECB2011
322
321
 
323
322
  def apply_standard_construction_properties(model:,
324
323
  runner: nil,
325
- properties: {
326
- 'outdoors_wall_conductance' => nil,
327
- 'outdoors_floor_conductance' => nil,
328
- 'outdoors_roofceiling_conductance' => nil,
329
- 'ground_wall_conductance' => nil,
330
- 'ground_floor_conductance' => nil,
331
- 'ground_roofceiling_conductance' => nil,
332
- 'outdoors_door_conductance' => nil,
333
- 'outdoors_fixedwindow_conductance' => nil
334
- })
335
-
336
- model.getDefaultConstructionSets.sort.each do |set|
337
- set_construction_set_to_necb!(model: model,
338
- default_surface_construction_set: set,
339
- runner: nil,
340
- properties: properties)
324
+ # ext surfaces
325
+ ext_wall_cond: nil,
326
+ ext_floor_cond: nil,
327
+ ext_roof_cond: nil,
328
+ # ground surfaces
329
+ ground_wall_cond: nil,
330
+ ground_floor_cond: nil,
331
+ ground_roof_cond: nil,
332
+ # fixed Windows
333
+ fixed_window_cond: nil,
334
+ fixed_wind_solar_trans: nil,
335
+ fixed_wind_vis_trans: nil,
336
+ # operable windows
337
+ operable_wind_solar_trans: nil,
338
+ operable_window_cond: nil,
339
+ operable_wind_vis_trans: nil,
340
+ # glass doors
341
+ glass_door_cond: nil,
342
+ glass_door_solar_trans: nil,
343
+ glass_door_vis_trans: nil,
344
+ # opaque doors
345
+ door_construction_cond: nil,
346
+ overhead_door_cond: nil,
347
+ # skylights
348
+ skylight_cond: nil,
349
+ skylight_solar_trans: nil,
350
+ skylight_vis_trans: nil,
351
+ # tubular daylight dome
352
+ tubular_daylight_dome_cond: nil,
353
+ tubular_daylight_dome_solar_trans: nil,
354
+ tubular_daylight_dome_vis_trans: nil,
355
+ # tubular daylight diffuser
356
+ tubular_daylight_diffuser_cond: nil,
357
+ tubular_daylight_diffuser_solar_trans: nil,
358
+ tubular_daylight_diffuser_vis_trans: nil)
359
+
360
+ model.getDefaultConstructionSets.sort.each do |default_surface_construction_set|
361
+ BTAP.runner_register('Info', 'apply_standard_construction_properties', runner)
362
+ if model.weatherFile.empty? || model.weatherFile.get.path.empty? || !File.exist?(model.weatherFile.get.path.get.to_s)
363
+
364
+ BTAP.runner_register('Error', 'Weather file is not defined. Please ensure the weather file is defined and exists.', runner)
365
+ return false
366
+ end
367
+
368
+ # Lambdas are preferred over methods in methods for small utility methods.
369
+ correct_cond = lambda do |conductivity, surface_type|
370
+ # hdd required in scope for eval function.
371
+ hdd = get_necb_hdd18(model)
372
+ return conductivity.nil? || conductivity.to_f <= 0.0 || conductivity =="NECB_Default" ? eval(model_find_objects(@standards_data['surface_thermal_transmittance'], surface_type)[0]['formula']) : conductivity.to_f
373
+ end
374
+
375
+ # Converts trans and vis to nil if requesting default.. or casts the string to a float.
376
+ correct_vis_trans = lambda do |value|
377
+ return value.nil? || value.to_f <= 0.0 || value =="NECB_Default" ? nil : value.to_f
378
+ end
379
+
380
+ BTAP::Resources::Envelope::ConstructionSets.customize_default_surface_construction_set!(model: model,
381
+ name: "#{default_surface_construction_set.name.get} at hdd = #{get_necb_hdd18(model)}",
382
+ default_surface_construction_set: default_surface_construction_set,
383
+ # ext surfaces
384
+ ext_wall_cond: correct_cond.call(ext_wall_cond, {'boundary_condition' => 'Outdoors', 'surface' => 'Wall'}),
385
+ ext_floor_cond: correct_cond.call(ext_floor_cond, {'boundary_condition' => 'Outdoors', 'surface' => 'Floor'}),
386
+ ext_roof_cond: correct_cond.call(ext_roof_cond, {'boundary_condition' => 'Outdoors', 'surface' => 'RoofCeiling'}),
387
+ # ground surfaces
388
+ ground_wall_cond: correct_cond.call(ground_wall_cond, {'boundary_condition' => 'Ground', 'surface' => 'Wall'}),
389
+ ground_floor_cond: correct_cond.call(ground_floor_cond, {'boundary_condition' => 'Ground', 'surface' => 'Floor'}),
390
+ ground_roof_cond: correct_cond.call(ground_roof_cond, {'boundary_condition' => 'Ground', 'surface' => 'RoofCeiling'}),
391
+ # fixed Windows
392
+ fixed_window_cond: correct_cond.call(fixed_window_cond, {'boundary_condition' => 'Outdoors', 'surface' => 'Window'}),
393
+ fixed_wind_solar_trans: correct_vis_trans.call(fixed_wind_solar_trans),
394
+ fixed_wind_vis_trans: correct_vis_trans.call(fixed_wind_vis_trans),
395
+ # operable windows
396
+ operable_wind_solar_trans: correct_vis_trans.call(operable_wind_solar_trans),
397
+ operable_window_cond: correct_cond.call(fixed_window_cond, {'boundary_condition' => 'Outdoors', 'surface' => 'Window'}),
398
+ operable_wind_vis_trans: correct_vis_trans.call(operable_wind_vis_trans),
399
+ # glass doors
400
+ glass_door_cond: correct_cond.call(glass_door_cond, {'boundary_condition' => 'Outdoors', 'surface' => 'Window'}),
401
+ glass_door_solar_trans: correct_vis_trans.call(glass_door_solar_trans),
402
+ glass_door_vis_trans: correct_vis_trans.call(glass_door_vis_trans),
403
+ # opaque doors
404
+ door_construction_cond: correct_cond.call(door_construction_cond, {'boundary_condition' => 'Outdoors', 'surface' => 'Door'}),
405
+ overhead_door_cond: correct_cond.call(overhead_door_cond, {'boundary_condition' => 'Outdoors', 'surface' => 'Door'}),
406
+ # skylights
407
+ skylight_cond: correct_cond.call(skylight_cond, {'boundary_condition' => 'Outdoors', 'surface' => 'Window'}),
408
+ skylight_solar_trans: correct_vis_trans.call(skylight_solar_trans),
409
+ skylight_vis_trans: correct_vis_trans.call(skylight_vis_trans),
410
+ # tubular daylight dome
411
+ tubular_daylight_dome_cond: correct_cond.call(skylight_cond, {'boundary_condition' => 'Outdoors', 'surface' => 'Window'}),
412
+ tubular_daylight_dome_solar_trans: correct_vis_trans.call(tubular_daylight_dome_solar_trans),
413
+ tubular_daylight_dome_vis_trans: correct_vis_trans.call(tubular_daylight_dome_vis_trans),
414
+ # tubular daylight diffuser
415
+ tubular_daylight_diffuser_cond: correct_cond.call(skylight_cond, {'boundary_condition' => 'Outdoors', 'surface' => 'Window'}),
416
+ tubular_daylight_diffuser_solar_trans: correct_vis_trans.call(tubular_daylight_diffuser_solar_trans),
417
+ tubular_daylight_diffuser_vis_trans: correct_vis_trans.call(tubular_daylight_diffuser_vis_trans)
418
+ )
419
+
420
+
341
421
  end
342
422
  # sets all surfaces to use default constructions sets except adiabatic, where it does a hard assignment of the interior wall construction type.
343
423
  model.getPlanarSurfaces.sort.each(&:resetConstruction)
344
424
  # if the default construction set is defined..try to assign the interior wall to the adiabatic surfaces
345
425
  BTAP::Resources::Envelope.assign_interior_surface_construction_to_adiabatic_surfaces(model, nil)
346
- end
426
+ BTAP.runner_register('Info', ' apply_standard_construction_properties was sucessful.', runner)
347
427
 
348
- # this will create a copy and convert all construction sets to NECB reference conductances.
349
- # @author phylroy.lopez@nrcan.gc.ca
350
- # @param model [OpenStudio::model::Model] A model object
351
- # @param default_surface_construction_set [String]
352
- # @return [Boolean] returns true if sucessful, false if not
353
- def set_construction_set_to_necb!(model:,
354
- default_surface_construction_set:,
355
- runner: nil,
356
- properties: {
357
- 'outdoors_wall_conductance' => nil,
358
- 'outdoors_floor_conductance' => nil,
359
- 'outdoors_roofceiling_conductance' => nil,
360
- 'ground_wall_conductance' => nil,
361
- 'ground_floor_conductance' => nil,
362
- 'ground_roofceiling_conductance' => nil,
363
- 'outdoors_door_conductance' => nil,
364
- 'outdoors_fixedwindow_conductance' => nil
365
- })
366
- BTAP.runner_register('Info', 'set_construction_set_to_necb!', runner)
367
- if model.weatherFile.empty? || model.weatherFile.get.path.empty? || !File.exist?(model.weatherFile.get.path.get.to_s)
368
-
369
- BTAP.runner_register('Error', 'Weather file is not defined. Please ensure the weather file is defined and exists.', runner)
370
- return false
371
- end
372
-
373
- #Note:hdd needs to be defined for eval to work on table eval below.
374
- hdd = self.get_necb_hdd18(model)
375
-
376
- old_name = default_surface_construction_set.name.get.to_s
377
- new_name = "#{old_name} at hdd = #{hdd}"
378
- # Get appropriate standards table
379
- standards_table = @standards_data['surface_thermal_transmittance']
380
-
381
- surface_types = [
382
- {'boundary_condition' => 'Outdoors', 'surface' => 'Wall', 'conductance' => properties['outdoors_wall_conductance']},
383
- {'boundary_condition' => 'Outdoors', 'surface' => 'Floor', 'conductance' => properties['outdoors_floor_conductance']},
384
- {'boundary_condition' => 'Outdoors', 'surface' => 'RoofCeiling', 'conductance' => properties['outdoors_roofceiling_conductance']},
385
- {'boundary_condition' => 'Ground', 'surface' => 'Wall', 'conductance' => properties['ground_wall_conductance']},
386
- {'boundary_condition' => 'Ground', 'surface' => 'Floor', 'conductance' => properties['ground_floor_conductance']},
387
- {'boundary_condition' => 'Ground', 'surface' => 'RoofCeiling', 'conductance' => properties['ground_roofceiling_conductance']},
388
- {'boundary_condition' => 'Outdoors', 'surface' => 'Window', 'conductance' => properties['outdoors_fixedwindow_conductance']},
389
- {'boundary_condition' => 'Outdoors', 'surface' => 'Door', 'conductance' => properties['outdoors_door_conductance']}
390
- ]
391
-
392
- surface_types_rsi = {}
393
- surface_types.each do |surface_type|
394
- surface_types_rsi["#{surface_type['boundary_condition'].downcase}_#{surface_type['surface'].downcase}_conductance"] = surface_type['conductance'].nil? ? 1.0 / (eval(self.model_find_objects(standards_table, surface_type)[0]['formula'])) : (1.0 / surface_type['conductance'])
395
- end
396
- puts surface_types_rsi
397
-
398
- # convert conductance values to rsi values. (Note: we should really be only using conductances in)
399
- BTAP::Resources::Envelope::ConstructionSets.customize_default_surface_construction_set_rsi!(model, new_name, default_surface_construction_set,
400
- surface_types_rsi['outdoors_wall_conductance'], surface_types_rsi['outdoors_floor_conductance'], surface_types_rsi['outdoors_roofceiling_conductance'],
401
- surface_types_rsi['ground_wall_conductance'], surface_types_rsi['ground_floor_conductance'], surface_types_rsi['ground_roofceiling_conductance'],
402
- surface_types_rsi['outdoors_window_conductance'], nil, nil,
403
- surface_types_rsi['outdoors_window_conductance'], nil, nil,
404
- surface_types_rsi['outdoors_door_conductance'],
405
- surface_types_rsi['outdoors_door_conductance'], nil, nil,
406
- surface_types_rsi['outdoors_door_conductance'],
407
- surface_types_rsi['outdoors_window_conductance'], nil, nil,
408
- surface_types_rsi['outdoors_window_conductance'], nil, nil,
409
- surface_types_rsi['outdoors_window_conductance'], nil, nil)
410
- BTAP.runner_register('Info', 'set_construction_set_to_necb! was sucessful.', runner)
411
- return true
412
428
  end
413
429
 
414
430
  # Set all external surface conductances to NECB values.
@@ -425,11 +441,11 @@ class NECB2011
425
441
 
426
442
  case surface.surfaceType.downcase
427
443
  when 'wall'
428
- conductance_value = @standards_data['conductances']['Wall'].find {|i| i['hdd'] > hdd}['thermal_transmittance'] * scaling_factor
444
+ conductance_value = @standards_data['conductances']['Wall'].find { |i| i['hdd'] > hdd }['thermal_transmittance'] * scaling_factor
429
445
  when 'floor'
430
- conductance_value = @standards_data['conductances']['Floor'].find {|i| i['hdd'] > hdd}['thermal_transmittance'] * scaling_factor
446
+ conductance_value = @standards_data['conductances']['Floor'].find { |i| i['hdd'] > hdd }['thermal_transmittance'] * scaling_factor
431
447
  when 'roofceiling'
432
- conductance_value = @standards_data['conductances']['Roof'].find {|i| i['hdd'] > hdd}['thermal_transmittance'] * scaling_factor
448
+ conductance_value = @standards_data['conductances']['Roof'].find { |i| i['hdd'] > hdd }['thermal_transmittance'] * scaling_factor
433
449
  end
434
450
  if is_radiant
435
451
  conductance_value *= 0.80
@@ -440,11 +456,11 @@ class NECB2011
440
456
  if surface.outsideBoundaryCondition.downcase =~ /ground/
441
457
  case surface.surfaceType.downcase
442
458
  when 'wall'
443
- conductance_value = @standards_data['conductances']['GroundWall'].find {|i| i['hdd'] > hdd}['thermal_transmittance'] * scaling_factor
459
+ conductance_value = @standards_data['conductances']['GroundWall'].find { |i| i['hdd'] > hdd }['thermal_transmittance'] * scaling_factor
444
460
  when 'floor'
445
- conductance_value = @standards_data['conductances']['GroundFloor'].find {|i| i['hdd'] > hdd}['thermal_transmittance'] * scaling_factor
461
+ conductance_value = @standards_data['conductances']['GroundFloor'].find { |i| i['hdd'] > hdd }['thermal_transmittance'] * scaling_factor
446
462
  when 'roofceiling'
447
- conductance_value = @standards_data['conductances']['GroundRoof'].find {|i| i['hdd'] > hdd}['thermal_transmittance'] * scaling_factor
463
+ conductance_value = @standards_data['conductances']['GroundRoof'].find { |i| i['hdd'] > hdd }['thermal_transmittance'] * scaling_factor
448
464
  end
449
465
  if is_radiant
450
466
  conductance_value *= 0.80
@@ -463,15 +479,14 @@ class NECB2011
463
479
  if subsurface.outsideBoundaryCondition.downcase.match('outdoors')
464
480
  case subsurface.subSurfaceType.downcase
465
481
  when /window/
466
- conductance_value = @standards_data['conductances']['Window'].find {|i| i['hdd'] > hdd}['thermal_transmittance'] * scaling_factor
482
+ conductance_value = @standards_data['conductances']['Window'].find { |i| i['hdd'] > hdd }['thermal_transmittance'] * scaling_factor
467
483
  when /door/
468
- conductance_value = @standards_data['conductances']['Door'].find {|i| i['hdd'] > hdd}['thermal_transmittance'] * scaling_factor
484
+ conductance_value = @standards_data['conductances']['Door'].find { |i| i['hdd'] > hdd }['thermal_transmittance'] * scaling_factor
469
485
  end
470
486
  subsurface.setRSI(1 / conductance_value)
471
487
  end
472
488
  end
473
489
 
474
-
475
490
  # Adds code-minimum constructions based on the building type
476
491
  # as defined in the OpenStudio_Standards_construction_sets.json file.
477
492
  # Where there is a separate construction set specified for the
@@ -491,7 +506,7 @@ class NECB2011
491
506
  # building types.
492
507
  apply_building_default_constructionset(model)
493
508
  # Make a construction set for each space type, if one is specified
494
- #apply_default_constructionsets_to_spacetypes(climate_zone, model)
509
+ # apply_default_constructionsets_to_spacetypes(climate_zone, model)
495
510
  OpenStudio.logFree(OpenStudio::Info, 'openstudio.model.Model', 'Finished applying constructions')
496
511
  return true
497
512
  end
@@ -536,7 +551,6 @@ class NECB2011
536
551
  end
537
552
  end
538
553
 
539
-
540
554
  def model_add_construction_set_from_osm(model:,
541
555
  construction_set_name: 'BTAP-Mass',
542
556
  osm_path: File.absolute_path(File.join(__FILE__, '..', '..', 'common/construction_defaults.osm')))
@@ -552,7 +566,6 @@ class NECB2011
552
566
  return new_construction_set
553
567
  end
554
568
 
555
-
556
569
  def assign_contruction_to_adiabatic_surfaces(model)
557
570
  cp02_carpet_pad = OpenStudio::Model::MasslessOpaqueMaterial.new(model)
558
571
  cp02_carpet_pad.setName('CP02 CARPET PAD')
@@ -678,7 +691,6 @@ class NECB2011
678
691
  construct_set = model.getBuilding.defaultConstructionSet.get
679
692
  fixed_window_construct_set = construct_set.defaultExteriorSubSurfaceConstructions.get.fixedWindowConstruction.get
680
693
 
681
-
682
694
  # IF FDWR is greater than 1 then something is wrong raise an error. If it is less than 0.001 assume all the windows
683
695
  # should go.
684
696
  if fdwr_lim > 1
@@ -738,7 +750,6 @@ class NECB2011
738
750
  return false
739
751
  end
740
752
 
741
-
742
753
  # If the SRR is greater than one something is seriously wrong so raise an error. If it is less than 0.001 assume
743
754
  # all the skylights should go.
744
755
  if srr_lim > 1
@@ -73,31 +73,31 @@
73
73
  "notes": ""
74
74
  },
75
75
  "infiltration_temperature_term_coefficient":{
76
- "data_type": "value",
77
- "refs": [
78
- "NECB2011_S_5.Assumption"
79
- ],
80
- "value": 0.0,
81
- "units": "",
82
- "notes": ""
83
- },
76
+ "data_type": "value",
77
+ "refs": [
78
+ "NECB2011_S_5.Assumption"
79
+ ],
80
+ "value": 0.0,
81
+ "units": "",
82
+ "notes": ""
83
+ },
84
84
  "infiltration_velocity_term_coefficient":{
85
- "data_type": "value",
86
- "refs": [
87
- "Assumption"
88
- ],
89
- "value": 0.224,
90
- "units": "",
91
- "notes": ""
92
- },
85
+ "data_type": "value",
86
+ "refs": [
87
+ "Assumption"
88
+ ],
89
+ "value": 0.224,
90
+ "units": "",
91
+ "notes": ""
92
+ },
93
93
  "infiltration_velocity_squared_term_coefficient":{
94
- "data_type": "value",
95
- "refs": [
96
- "Assumption"
97
- ],
98
- "value": 0.0,
99
- "units": "",
100
- "notes": ""
101
- }
94
+ "data_type": "value",
95
+ "refs": [
96
+ "Assumption"
97
+ ],
98
+ "value": 0.0,
99
+ "units": "",
100
+ "notes": ""
101
+ }
102
102
  }
103
103
  }
@@ -30,6 +30,31 @@
30
30
  "maximum_dependent_variable_output": null,
31
31
  "notes": "From NECB 2011 Table 8.4.4.21.-A (2) for non-condensing boiler. Converted EIR curve to PLF via curve fit."
32
32
  },
33
+ {
34
+ "name": "BOILER-EFFFPLR-COND-NECB2011",
35
+ "category": "Boiler",
36
+ "form": "Cubic",
37
+ "dependent_variable": "FIRRatio",
38
+ "independent_variable_1": "QRatio",
39
+ "independent_variable_2": null,
40
+ "coeff_1": 1.0186,
41
+ "coeff_2": 0.2426,
42
+ "coeff_3": -0.5059,
43
+ "coeff_4": 0.2465,
44
+ "coeff_5": null,
45
+ "coeff_6": null,
46
+ "coeff_7": null,
47
+ "coeff_8": null,
48
+ "coeff_9": null,
49
+ "coeff_10": null,
50
+ "minimum_independent_variable_1": 0.0,
51
+ "maximum_independent_variable_1": 1.0,
52
+ "minimum_independent_variable_2": null,
53
+ "maximum_independent_variable_2": null,
54
+ "minimum_dependent_variable_output": null,
55
+ "maximum_dependent_variable_output": null,
56
+ "notes": "From NECB 2011 Table 8.4.4.21.-A (2) for condensing boilers. Converted EIR curve to PLF via curve fit."
57
+ },
33
58
  {
34
59
  "name": "DXCOOL-NECB2011-REF-CAPFFLOW",
35
60
  "category": "DX Cooling Coil",
@@ -305,6 +330,31 @@
305
330
  "maximum_dependent_variable_output": null,
306
331
  "notes": "From NECB 2011 Table 8.4.4.21.-A (4) for atmospheric furnace. Converted EIR curve to PLF via curve fit."
307
332
  },
333
+ {
334
+ "name": "FURNACE-EFFPLR-COND-NECB2011",
335
+ "category": "Gas Heating Coil",
336
+ "form": "Cubic",
337
+ "dependent_variable": "FIRRatio",
338
+ "independent_variable_1": "QRatio",
339
+ "independent_variable_2": null,
340
+ "coeff_1": 1.0186,
341
+ "coeff_2": 0.2426,
342
+ "coeff_3": -0.5059,
343
+ "coeff_4": 0.2465,
344
+ "coeff_5": null,
345
+ "coeff_6": null,
346
+ "coeff_7": null,
347
+ "coeff_8": null,
348
+ "coeff_9": null,
349
+ "coeff_10": null,
350
+ "minimum_independent_variable_1": 0.0,
351
+ "maximum_independent_variable_1": 1.0,
352
+ "minimum_independent_variable_2": null,
353
+ "maximum_independent_variable_2": null,
354
+ "minimum_dependent_variable_output": null,
355
+ "maximum_dependent_variable_output": null,
356
+ "notes": "From NECB 2011 Table 8.4.4.21.-A (4) for condensing furnaces. Converted EIR curve to PLF via curve fit."
357
+ },
308
358
  {
309
359
  "name": "SWH-EFFFPLR-NECB2011",
310
360
  "category": "Water Heater",