openstudio-standards 0.7.1 → 0.8.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. checksums.yaml +4 -4
  2. data/data/geometry/ASHRAE90120162019LargeHotel.json +58 -13
  3. data/data/geometry/ASHRAELargeHotel.json +58 -13
  4. data/data/standards/OpenStudio_Standards-ashrae_90_1-ALL-comstock(space_types).xlsx +0 -0
  5. data/data/standards/export_OpenStudio_libraries.rb +2 -2
  6. data/data/standards/manage_OpenStudio_Standards.rb +6 -6
  7. data/data/standards/openstudio_standards_duplicates_log.csv +7961 -1
  8. data/data/standards/test_performance_expected_dd_results.csv +2016 -2004
  9. data/lib/openstudio-standards/btap/fileio.rb +171 -5
  10. data/lib/openstudio-standards/constructions/create.rb +38 -4
  11. data/lib/openstudio-standards/constructions/modify.rb +10 -3
  12. data/lib/openstudio-standards/create_typical/create_typical.rb +42 -28
  13. data/lib/openstudio-standards/create_typical/space_type_information.rb +160 -0
  14. data/lib/openstudio-standards/create_typical/space_type_ratios.rb +16 -19
  15. data/lib/openstudio-standards/exterior_lighting/create.rb +454 -0
  16. data/lib/openstudio-standards/exterior_lighting/data/entryways.csv +52 -0
  17. data/lib/openstudio-standards/exterior_lighting/data/parking.csv +54 -0
  18. data/lib/openstudio-standards/exterior_lighting/data/typical_exterior_lighting.json +37 -0
  19. data/lib/openstudio-standards/exterior_lighting/information.rb +202 -0
  20. data/lib/openstudio-standards/geometry/information.rb +49 -2
  21. data/lib/openstudio-standards/hvac/components/create.rb +169 -0
  22. data/lib/openstudio-standards/hvac/components/modify.rb +42 -0
  23. data/lib/openstudio-standards/hvac/exhaust/create_exhaust_fan.rb +108 -0
  24. data/lib/openstudio-standards/hvac/exhaust/data/convert_data.rb +86 -0
  25. data/lib/openstudio-standards/hvac/exhaust/data/typical_exhaust.csv +18 -0
  26. data/lib/openstudio-standards/hvac/exhaust/data/typical_exhaust.json +89 -0
  27. data/lib/openstudio-standards/infiltration/nist_infiltration.rb +25 -13
  28. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeHotel.rb +0 -64
  29. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOffice.rb +0 -25
  30. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOffice.rb +0 -25
  31. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Warehouse.rb +1 -11
  32. data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirConditionerVariableRefrigerantFlow.rb +5 -1
  33. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Fan.rb +0 -7
  34. data/lib/openstudio-standards/prototypes/common/objects/Prototype.HeatExchangerAirToAirSensibleAndLatent.rb +36 -18
  35. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.hvac.rb +1 -1
  36. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +121 -239
  37. data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +179 -151
  38. data/lib/openstudio-standards/prototypes/common/objects/Prototype.refrigeration.rb +0 -466
  39. data/lib/openstudio-standards/prototypes/common/objects/Prototype.utilities.rb +18 -2
  40. data/lib/openstudio-standards/refrigeration/create_case.rb +125 -0
  41. data/lib/openstudio-standards/refrigeration/create_compressor.rb +78 -0
  42. data/lib/openstudio-standards/refrigeration/create_compressor_rack.rb +48 -0
  43. data/lib/openstudio-standards/refrigeration/create_refrigeration_system.rb +74 -0
  44. data/lib/openstudio-standards/refrigeration/create_typical_refrigeration.rb +161 -0
  45. data/lib/openstudio-standards/refrigeration/create_walkin.rb +116 -0
  46. data/lib/openstudio-standards/refrigeration/data/refrigerated_cases.csv +31 -0
  47. data/lib/openstudio-standards/refrigeration/data/refrigerated_walkins.csv +76 -0
  48. data/lib/openstudio-standards/refrigeration/data/refrigeration_compressors.csv +13 -0
  49. data/lib/openstudio-standards/refrigeration/data/typical_refrigerated_cases.csv +17 -0
  50. data/lib/openstudio-standards/refrigeration/data/typical_refrigerated_walkins.csv +53 -0
  51. data/lib/openstudio-standards/refrigeration/information.rb +130 -0
  52. data/lib/openstudio-standards/schedules/parametric.rb +1 -1
  53. data/lib/openstudio-standards/service_water_heating/create_typical.rb +299 -0
  54. data/lib/openstudio-standards/service_water_heating/create_water_heating_loop.rb +16 -14
  55. data/lib/openstudio-standards/service_water_heating/data/convert_data.rb +119 -0
  56. data/lib/openstudio-standards/service_water_heating/data/typical_water_use_equipment.csv +54 -0
  57. data/lib/openstudio-standards/service_water_heating/data/typical_water_use_equipment.json +810 -0
  58. data/lib/openstudio-standards/service_water_heating/information.rb +69 -0
  59. data/lib/openstudio-standards/sql_file/fenestration.rb +1 -1
  60. data/lib/openstudio-standards/standards/Standards.AirConditionerVariableRefrigerantFlow.rb +154 -0
  61. data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +35 -12
  62. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +110 -61
  63. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +128 -29
  64. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +103 -38
  65. data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +1 -1
  66. data/lib/openstudio-standards/standards/Standards.CoilDX.rb +106 -5
  67. data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +8 -8
  68. data/lib/openstudio-standards/standards/Standards.CoolingTower.rb +44 -17
  69. data/lib/openstudio-standards/standards/Standards.Fan.rb +32 -21
  70. data/lib/openstudio-standards/standards/Standards.FluidCooler.rb +45 -18
  71. data/lib/openstudio-standards/standards/Standards.HeatExchangerSensLat.rb +14 -9
  72. data/lib/openstudio-standards/standards/Standards.Model.rb +294 -76
  73. data/lib/openstudio-standards/standards/Standards.Motor.rb +66 -0
  74. data/lib/openstudio-standards/standards/Standards.PlanarSurface.rb +2 -1
  75. data/lib/openstudio-standards/standards/Standards.Pump.rb +34 -20
  76. data/lib/openstudio-standards/standards/Standards.ServiceWaterHeating.rb +0 -353
  77. data/lib/openstudio-standards/standards/Standards.Space.rb +3 -107
  78. data/lib/openstudio-standards/standards/Standards.SpaceType.rb +2 -57
  79. data/lib/openstudio-standards/standards/Standards.Surface.rb +11 -3
  80. data/lib/openstudio-standards/standards/Standards.ThermalZone.rb +1 -120
  81. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.computer_room_acs.json +142 -0
  82. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.economizers.json +1006 -596
  83. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.energy_recovery.json +724 -0
  84. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ext_ltg.json +1258 -163
  85. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.motors.json +1070 -140
  86. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +33 -3374
  87. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.unitary_acs.json +1400 -340
  88. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.vrfs.json +769 -0
  89. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/comstock_ashrae_90_1_2007.spc_typ.json +2 -5338
  90. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.computer_room_acs.json +142 -0
  91. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.economizers.json +1006 -596
  92. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.energy_recovery.json +724 -0
  93. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ext_ltg.json +1258 -163
  94. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.motors.json +1070 -140
  95. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +15 -3343
  96. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.unitary_acs.json +1840 -372
  97. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.vrfs.json +769 -0
  98. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirLoopHVAC.rb +20 -10
  99. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Space.rb +0 -9
  100. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/comstock_ashrae_90_1_2010.spc_typ.json +0 -5382
  101. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.computer_room_acs.json +142 -0
  102. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.economizers.json +1006 -628
  103. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.energy_recovery.json +718 -712
  104. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ext_ltg.json +1438 -163
  105. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.motors.json +2552 -182
  106. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +14 -3368
  107. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.unitary_acs.json +2348 -352
  108. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.vrfs.json +769 -0
  109. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirLoopHVAC.rb +47 -61
  110. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Model.rb +6 -0
  111. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Motor.rb +11 -0
  112. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Space.rb +0 -9
  113. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/data/comstock_ashrae_90_1_2013.spc_typ.json +2 -5522
  114. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.computer_room_acs.json +142 -0
  115. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.economizers.json +1006 -628
  116. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.energy_recovery.json +1358 -1346
  117. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ext_ltg.json +1438 -163
  118. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.motors.json +1359 -189
  119. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +19 -3451
  120. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.unitary_acs.json +2176 -616
  121. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.vrfs.json +616 -0
  122. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirLoopHVAC.rb +47 -61
  123. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.rb +9 -0
  124. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Motor.rb +11 -0
  125. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Space.rb +0 -9
  126. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/data/comstock_ashrae_90_1_2016.spc_typ.json +8 -6055
  127. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.computer_room_acs.json +142 -0
  128. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.economizers.json +1006 -628
  129. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.energy_recovery.json +1188 -1424
  130. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.ext_ltg.json +1498 -163
  131. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.motors.json +1769 -189
  132. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.spc_typ.json +15 -3422
  133. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.unitary_acs.json +1807 -408
  134. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.vrfs.json +1024 -0
  135. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +70 -87
  136. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.rb +9 -0
  137. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Motor.rb +11 -0
  138. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Space.rb +0 -9
  139. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/data/comstock_ashrae_90_1_2019.spc_typ.json +8 -6080
  140. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.computer_room_acs.json +142 -0
  141. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.economizers.json +1006 -628
  142. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.energy_recovery.json +2806 -3296
  143. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.ext_ltg.json +1558 -163
  144. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.motors.json +1759 -189
  145. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.spc_typ.json +16 -3448
  146. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.unitary_acs.json +2758 -422
  147. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.vrfs.json +684 -0
  148. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.schedules.json +14 -3318
  149. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/comstock_doe_ref_1980_2004.spc_typ.json +2 -4786
  150. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.chillers.json +1 -1
  151. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.economizers.json +953 -207
  152. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.energy_recovery.json +724 -0
  153. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.ext_ltg.json +5 -5
  154. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.spc_typ.json +11 -2858
  155. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.AirConditionerVariableRefrigerantFlow.rb +13 -0
  156. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.Model.rb +0 -18
  157. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/data/comstock_doe_ref_pre_1980.spc_typ.json +1 -4739
  158. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.chillers.json +0 -51
  159. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.economizers.json +953 -207
  160. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.energy_recovery.json +724 -0
  161. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.ext_ltg.json +5 -5
  162. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.spc_typ.json +9 -2830
  163. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.AirConditionerVariableRefrigerantFlow.rb +13 -0
  164. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.Model.rb +0 -18
  165. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.economizers.json +1006 -564
  166. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.energy_recovery.json +1264 -0
  167. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.ext_ltg.json +5 -5
  168. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.spc_typ.json +0 -1079
  169. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirLoopHVAC.rb +132 -288
  170. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.HeatExchangerSensLat.rb +44 -20
  171. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.Model.rb +11 -0
  172. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.Space.rb +0 -8
  173. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.economizers.json +1006 -564
  174. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.energy_recovery.json +1264 -0
  175. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.ext_ltg.json +5 -5
  176. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.spc_typ.json +0 -1079
  177. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirLoopHVAC.rb +137 -288
  178. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.HeatExchangerSensLat.rb +44 -20
  179. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.rb +11 -0
  180. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Space.rb +0 -9
  181. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.AirLoopHVAC.rb +12 -10
  182. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXSingleSpeed.rb +8 -6
  183. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXTwoSpeed.rb +8 -6
  184. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilDX.rb +9 -3
  185. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Fan.rb +6 -40
  186. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Model.rb +30 -337
  187. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Space.rb +4 -5
  188. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.SpaceType.rb +1 -2
  189. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.rb +56 -3
  190. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019.Model.rb +80 -0
  191. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019.rb +0 -10
  192. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019_WaterHeaterMixed.rb +35 -0
  193. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.economizers.json +550 -0
  194. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.energy_recovery.json +724 -0
  195. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.ext_ltg.json +1216 -0
  196. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.heat_pumps.json +5 -5
  197. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.motors.json +225 -245
  198. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.unitary_acs.json +174 -78
  199. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.water_heaters.json +354 -317
  200. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_enums.rb +19 -3
  201. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_airloop_hvac.json +185 -0
  202. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_airloop_hvac_doas.json +127 -0
  203. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_building.json +121 -0
  204. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_design_specification_outdoor_air.json +49 -0
  205. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_electric_equipment.json +113 -0
  206. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_exterior_lights.json +120 -0
  207. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_space.json +388 -0
  208. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_spacetype.json +367 -0
  209. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_thermal_zone.json +56 -0
  210. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_wateruse_connections.json +37 -0
  211. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_wateruse_equipment.json +69 -0
  212. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_wateruse_equipment_definition.json +37 -0
  213. data/lib/openstudio-standards/standards/cbes/cbes_pre_1978/data/cbes_pre_1978.ext_ltg.json +5 -5
  214. data/lib/openstudio-standards/standards/cbes/cbes_t24_1978/data/cbes_t24_1978.ext_ltg.json +5 -5
  215. data/lib/openstudio-standards/standards/cbes/cbes_t24_1992/data/cbes_t24_1992.ext_ltg.json +5 -5
  216. data/lib/openstudio-standards/standards/cbes/cbes_t24_2001/data/cbes_t24_2001.ext_ltg.json +5 -5
  217. data/lib/openstudio-standards/standards/cbes/cbes_t24_2005/data/cbes_t24_2005.ext_ltg.json +5 -5
  218. data/lib/openstudio-standards/standards/cbes/cbes_t24_2008/data/cbes_t24_2008.ext_ltg.json +5 -5
  219. data/lib/openstudio-standards/standards/deer/deer_1985/comstock_deer_1985/data/comstock_deer_1985.ext_ltg.json +5 -5
  220. data/lib/openstudio-standards/standards/deer/deer_1985/data/deer_1985.ext_ltg.json +5 -5
  221. data/lib/openstudio-standards/standards/deer/deer_1996/comstock_deer_1996/data/comstock_deer_1996.ext_ltg.json +5 -5
  222. data/lib/openstudio-standards/standards/deer/deer_1996/data/deer_1996.ext_ltg.json +5 -5
  223. data/lib/openstudio-standards/standards/deer/deer_2003/comstock_deer_2003/data/comstock_deer_2003.ext_ltg.json +5 -5
  224. data/lib/openstudio-standards/standards/deer/deer_2003/data/deer_2003.ext_ltg.json +5 -5
  225. data/lib/openstudio-standards/standards/deer/deer_2007/comstock_deer_2007/data/comstock_deer_2007.ext_ltg.json +5 -5
  226. data/lib/openstudio-standards/standards/deer/deer_2007/data/deer_2007.ext_ltg.json +5 -5
  227. data/lib/openstudio-standards/standards/deer/deer_2011/comstock_deer_2011/data/comstock_deer_2011.ext_ltg.json +5 -5
  228. data/lib/openstudio-standards/standards/deer/deer_2011/data/deer_2011.ext_ltg.json +5 -5
  229. data/lib/openstudio-standards/standards/deer/deer_2014/comstock_deer_2014/data/comstock_deer_2014.ext_ltg.json +5 -5
  230. data/lib/openstudio-standards/standards/deer/deer_2014/data/deer_2014.ext_ltg.json +5 -5
  231. data/lib/openstudio-standards/standards/deer/deer_2015/comstock_deer_2015/data/comstock_deer_2015.ext_ltg.json +5 -5
  232. data/lib/openstudio-standards/standards/deer/deer_2015/data/deer_2015.ext_ltg.json +5 -5
  233. data/lib/openstudio-standards/standards/deer/deer_2017/comstock_deer_2017/data/comstock_deer_2017.ext_ltg.json +5 -5
  234. data/lib/openstudio-standards/standards/deer/deer_2017/data/deer_2017.ext_ltg.json +5 -5
  235. data/lib/openstudio-standards/standards/deer/deer_2020/comstock_deer_2020/data/comstock_deer_2020.ext_ltg.json +5 -5
  236. data/lib/openstudio-standards/standards/deer/deer_2020/data/deer_2020.ext_ltg.json +5 -5
  237. data/lib/openstudio-standards/standards/deer/deer_2025/comstock_deer_2025/data/comstock_deer_2025.ext_ltg.json +5 -5
  238. data/lib/openstudio-standards/standards/deer/deer_2025/data/deer_2025.ext_ltg.json +5 -5
  239. data/lib/openstudio-standards/standards/deer/deer_2030/comstock_deer_2030/data/comstock_deer_2030.ext_ltg.json +5 -5
  240. data/lib/openstudio-standards/standards/deer/deer_2030/data/deer_2030.ext_ltg.json +5 -5
  241. data/lib/openstudio-standards/standards/deer/deer_2035/comstock_deer_2035/data/comstock_deer_2035.ext_ltg.json +5 -5
  242. data/lib/openstudio-standards/standards/deer/deer_2035/data/deer_2035.ext_ltg.json +5 -5
  243. data/lib/openstudio-standards/standards/deer/deer_2040/comstock_deer_2040/data/comstock_deer_2040.ext_ltg.json +5 -5
  244. data/lib/openstudio-standards/standards/deer/deer_2040/data/deer_2040.ext_ltg.json +5 -5
  245. data/lib/openstudio-standards/standards/deer/deer_2045/comstock_deer_2045/data/comstock_deer_2045.ext_ltg.json +5 -5
  246. data/lib/openstudio-standards/standards/deer/deer_2045/data/deer_2045.ext_ltg.json +5 -5
  247. data/lib/openstudio-standards/standards/deer/deer_2050/comstock_deer_2050/data/comstock_deer_2050.ext_ltg.json +5 -5
  248. data/lib/openstudio-standards/standards/deer/deer_2050/data/deer_2050.ext_ltg.json +5 -5
  249. data/lib/openstudio-standards/standards/deer/deer_2055/comstock_deer_2055/data/comstock_deer_2055.ext_ltg.json +5 -5
  250. data/lib/openstudio-standards/standards/deer/deer_2055/data/deer_2055.ext_ltg.json +5 -5
  251. data/lib/openstudio-standards/standards/deer/deer_2060/comstock_deer_2060/data/comstock_deer_2060.ext_ltg.json +5 -5
  252. data/lib/openstudio-standards/standards/deer/deer_2060/data/deer_2060.ext_ltg.json +5 -5
  253. data/lib/openstudio-standards/standards/deer/deer_2065/comstock_deer_2065/data/comstock_deer_2065.ext_ltg.json +5 -5
  254. data/lib/openstudio-standards/standards/deer/deer_2065/data/deer_2065.ext_ltg.json +5 -5
  255. data/lib/openstudio-standards/standards/deer/deer_2070/comstock_deer_2070/data/comstock_deer_2070.ext_ltg.json +5 -5
  256. data/lib/openstudio-standards/standards/deer/deer_2070/data/deer_2070.ext_ltg.json +5 -5
  257. data/lib/openstudio-standards/standards/deer/deer_2075/comstock_deer_2075/data/comstock_deer_2075.ext_ltg.json +5 -5
  258. data/lib/openstudio-standards/standards/deer/deer_2075/data/deer_2075.ext_ltg.json +5 -5
  259. data/lib/openstudio-standards/standards/deer/deer_pre_1975/comstock_deer_pre_1975/data/comstock_deer_pre_1975.ext_ltg.json +5 -5
  260. data/lib/openstudio-standards/standards/deer/deer_pre_1975/data/deer_pre_1975.ext_ltg.json +5 -5
  261. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/btap_pre1980.rb +10 -1
  262. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/data/unitary_acs.json +20 -20
  263. data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +379 -27
  264. data/lib/openstudio-standards/standards/necb/NECB2011/autozone.rb +1 -4
  265. data/lib/openstudio-standards/standards/necb/NECB2011/beps_compliance_path.rb +0 -1
  266. data/lib/openstudio-standards/standards/necb/NECB2011/data/fuel_type_sets.json +1 -1
  267. data/lib/openstudio-standards/standards/necb/NECB2011/data/unitary_acs.json +20 -20
  268. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +34 -22
  269. data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +76 -23
  270. data/lib/openstudio-standards/standards/necb/NECB2011/necb_shw_calculation.xlsx +0 -0
  271. data/lib/openstudio-standards/standards/necb/NECB2011/service_water_heating.rb +4 -5
  272. data/lib/openstudio-standards/standards/necb/NECB2011/system_fuels.rb +6 -2
  273. data/lib/openstudio-standards/standards/necb/NECB2015/data/unitary_acs.json +26 -24
  274. data/lib/openstudio-standards/standards/necb/NECB2015/hvac_systems.rb +2 -1
  275. data/lib/openstudio-standards/standards/necb/NECB2020/data/unitary_acs.json +38 -32
  276. data/lib/openstudio-standards/standards/necb/common/btap_data.rb +215 -18
  277. data/lib/openstudio-standards/standards/necb/common/btap_datapoint.rb +190 -15
  278. data/lib/openstudio-standards/standards/necb/common/national_carbon_price_sched_feb_2025.json +60 -0
  279. data/lib/openstudio-standards/standards/necb/common/utility_pricing_2025-02-20.csv +92 -0
  280. data/lib/openstudio-standards/utilities/ruleset_check.rb +204 -0
  281. data/lib/openstudio-standards/version.rb +1 -1
  282. data/lib/openstudio-standards/weather/information.rb +1 -1
  283. data/lib/openstudio-standards.rb +32 -12
  284. metadata +78 -80
  285. data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.refrigeration.rb +0 -13
  286. data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.refrigeration.rb +0 -13
  287. data/lib/openstudio-standards/prototypes/cbes/cbes.refrigeration.rb +0 -13
  288. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.exterior_lights.rb +0 -432
  289. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.Space.rb +0 -11
  290. 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 +0 -169
  291. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/data/comstock_ashrae_90_1_2004.ref_cases.json +0 -1456
  292. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/data/comstock_ashrae_90_1_2004.ref_lnup.json +0 -562
  293. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/data/comstock_ashrae_90_1_2004.spc_typ.json +0 -20804
  294. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.Space.rb +0 -11
  295. 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 +0 -169
  296. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/comstock_ashrae_90_1_2007.ref_cases.json +0 -1456
  297. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/comstock_ashrae_90_1_2007.ref_lnup.json +0 -562
  298. 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 +0 -169
  299. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/comstock_ashrae_90_1_2010.ref_cases.json +0 -1456
  300. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/comstock_ashrae_90_1_2010.ref_lnup.json +0 -562
  301. 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 +0 -169
  302. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/data/comstock_ashrae_90_1_2013.ref_cases.json +0 -1456
  303. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/data/comstock_ashrae_90_1_2013.ref_lnup.json +0 -562
  304. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/data/comstock_ashrae_90_1_2016.ext_ltg.json +0 -169
  305. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/data/comstock_ashrae_90_1_2016.ref_cases.json +0 -763
  306. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/data/comstock_ashrae_90_1_2016.ref_lnup.json +0 -562
  307. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/data/comstock_ashrae_90_1_2019.ext_ltg.json +0 -169
  308. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/data/comstock_ashrae_90_1_2019.ref_cases.json +0 -763
  309. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/data/comstock_ashrae_90_1_2019.ref_lnup.json +0 -562
  310. 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 +0 -169
  311. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/comstock_doe_ref_1980_2004.ref_cases.json +0 -1456
  312. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/comstock_doe_ref_1980_2004.ref_lnup.json +0 -562
  313. 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 +0 -169
  314. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/data/comstock_doe_ref_pre_1980.ref_cases.json +0 -1456
  315. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/data/comstock_doe_ref_pre_1980.ref_lnup.json +0 -562
  316. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.prm_economizers.json +0 -213
  317. data/lib/openstudio-standards/standards/cbes/cbes.Space.rb +0 -11
  318. data/lib/openstudio-standards/standards/cbes/cbes_t24_2005/cbes_t24_2005.Space.rb +0 -11
  319. data/lib/openstudio-standards/standards/cbes/cbes_t24_2008/cbes_t24_2008.Space.rb +0 -11
  320. data/lib/openstudio-standards/standards/deer/deer.Space.rb +0 -20
  321. data/lib/openstudio-standards/standards/deer/deer_1985/data/deer_1985.ref_cases.json +0 -1456
  322. data/lib/openstudio-standards/standards/deer/deer_1985/data/deer_1985.ref_lnup.json +0 -562
  323. data/lib/openstudio-standards/standards/deer/deer_1996/data/deer_1996.ref_cases.json +0 -1456
  324. data/lib/openstudio-standards/standards/deer/deer_1996/data/deer_1996.ref_lnup.json +0 -562
  325. data/lib/openstudio-standards/standards/deer/deer_2003/data/deer_2003.ref_cases.json +0 -1456
  326. data/lib/openstudio-standards/standards/deer/deer_2003/data/deer_2003.ref_lnup.json +0 -562
  327. data/lib/openstudio-standards/standards/deer/deer_2007/data/deer_2007.ref_cases.json +0 -1456
  328. data/lib/openstudio-standards/standards/deer/deer_2007/data/deer_2007.ref_lnup.json +0 -562
  329. data/lib/openstudio-standards/standards/deer/deer_2011/data/deer_2011.ref_cases.json +0 -1456
  330. data/lib/openstudio-standards/standards/deer/deer_2011/data/deer_2011.ref_lnup.json +0 -562
  331. data/lib/openstudio-standards/standards/deer/deer_2014/data/deer_2014.ref_cases.json +0 -1456
  332. data/lib/openstudio-standards/standards/deer/deer_2014/data/deer_2014.ref_lnup.json +0 -562
  333. data/lib/openstudio-standards/standards/deer/deer_2015/data/deer_2015.ref_cases.json +0 -1456
  334. data/lib/openstudio-standards/standards/deer/deer_2015/data/deer_2015.ref_lnup.json +0 -562
  335. data/lib/openstudio-standards/standards/deer/deer_2017/data/deer_2017.ref_cases.json +0 -1456
  336. data/lib/openstudio-standards/standards/deer/deer_2017/data/deer_2017.ref_lnup.json +0 -562
  337. data/lib/openstudio-standards/standards/deer/deer_2020/data/deer_2020.ref_cases.json +0 -1456
  338. data/lib/openstudio-standards/standards/deer/deer_2020/data/deer_2020.ref_lnup.json +0 -562
  339. data/lib/openstudio-standards/standards/deer/deer_2025/data/deer_2025.ref_cases.json +0 -1456
  340. data/lib/openstudio-standards/standards/deer/deer_2025/data/deer_2025.ref_lnup.json +0 -562
  341. data/lib/openstudio-standards/standards/deer/deer_2030/data/deer_2030.ref_cases.json +0 -1456
  342. data/lib/openstudio-standards/standards/deer/deer_2030/data/deer_2030.ref_lnup.json +0 -562
  343. data/lib/openstudio-standards/standards/deer/deer_2035/data/deer_2035.ref_cases.json +0 -1456
  344. data/lib/openstudio-standards/standards/deer/deer_2035/data/deer_2035.ref_lnup.json +0 -562
  345. data/lib/openstudio-standards/standards/deer/deer_2040/data/deer_2040.ref_cases.json +0 -1456
  346. data/lib/openstudio-standards/standards/deer/deer_2040/data/deer_2040.ref_lnup.json +0 -562
  347. data/lib/openstudio-standards/standards/deer/deer_2045/data/deer_2045.ref_cases.json +0 -1456
  348. data/lib/openstudio-standards/standards/deer/deer_2045/data/deer_2045.ref_lnup.json +0 -562
  349. data/lib/openstudio-standards/standards/deer/deer_2050/data/deer_2050.ref_cases.json +0 -1456
  350. data/lib/openstudio-standards/standards/deer/deer_2050/data/deer_2050.ref_lnup.json +0 -562
  351. data/lib/openstudio-standards/standards/deer/deer_2055/data/deer_2055.ref_cases.json +0 -1456
  352. data/lib/openstudio-standards/standards/deer/deer_2055/data/deer_2055.ref_lnup.json +0 -562
  353. data/lib/openstudio-standards/standards/deer/deer_2060/data/deer_2060.ref_cases.json +0 -1456
  354. data/lib/openstudio-standards/standards/deer/deer_2060/data/deer_2060.ref_lnup.json +0 -562
  355. data/lib/openstudio-standards/standards/deer/deer_2065/data/deer_2065.ref_cases.json +0 -1456
  356. data/lib/openstudio-standards/standards/deer/deer_2065/data/deer_2065.ref_lnup.json +0 -562
  357. data/lib/openstudio-standards/standards/deer/deer_2070/data/deer_2070.ref_cases.json +0 -1456
  358. data/lib/openstudio-standards/standards/deer/deer_2070/data/deer_2070.ref_lnup.json +0 -562
  359. data/lib/openstudio-standards/standards/deer/deer_2075/data/deer_2075.ref_cases.json +0 -1456
  360. data/lib/openstudio-standards/standards/deer/deer_2075/data/deer_2075.ref_lnup.json +0 -562
  361. data/lib/openstudio-standards/standards/deer/deer_pre_1975/data/deer_pre_1975.ref_cases.json +0 -1456
  362. data/lib/openstudio-standards/standards/deer/deer_pre_1975/data/deer_pre_1975.ref_lnup.json +0 -562
@@ -0,0 +1,78 @@
1
+ module OpenstudioStandards
2
+ # The Refrigeration module provides methods to create, modify, and get information about refrigeration
3
+ module Refrigeration
4
+ # @!group Create Refrigeration Compressor
5
+ # Methods to add refrigeration system compressor
6
+
7
+ # Adds a refrigeration system compressor to the model.
8
+ #
9
+ # @param model [OpenStudio::Model::Model] OpenStudio model object
10
+ # @param template [String] Technology or standards level, either 'old', 'new', or 'advanced'
11
+ # @param operation_type [String] Temperature regime, either 'MT' Medium Temperature, or 'LT' Low Temperature
12
+ # @return [OpenStudio::Model::RefrigerationCompressor] the refrigeration compressor
13
+ def self.create_compressor(model,
14
+ template: 'new',
15
+ operation_type: 'MT')
16
+ # load refrigeration compressor data
17
+ compressors_csv = "#{__dir__}/data/refrigeration_compressors.csv"
18
+ unless File.exist?(compressors_csv)
19
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Unable to find file: #{compressors_csv}")
20
+ return nil
21
+ end
22
+ compressors_tbl = CSV.table(compressors_csv, encoding: 'ISO8859-1:utf-8')
23
+ compressors_hsh = compressors_tbl.map(&:to_hash)
24
+
25
+ # get case properties
26
+ compressor_properties = compressors_hsh.select { |r| (r[:template] == template) && (r[:operation_type] == operation_type) }
27
+
28
+ if compressor_properties.nil?
29
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Unable to find compressor for template #{template} operation type #{operation_type}.")
30
+ return nil
31
+ end
32
+
33
+ pc = compressor_properties.select { |r| r[:curve_type] == 'Power' }[0]
34
+ cc = compressor_properties.select { |r| r[:curve_type] == 'Capacity' }[0]
35
+
36
+ # TODO: replace with curve data once curves are refactored
37
+ std = Standard.build('90.1-2013')
38
+
39
+ # create power curve
40
+ power_coeffs = []
41
+ power_coeffs << pc[:coefficient1]
42
+ power_coeffs << pc[:coefficient2]
43
+ power_coeffs << pc[:coefficient3]
44
+ power_coeffs << pc[:coefficient4]
45
+ power_coeffs << pc[:coefficient5]
46
+ power_coeffs << pc[:coefficient6]
47
+ power_coeffs << pc[:coefficient7]
48
+ power_coeffs << pc[:coefficient8]
49
+ power_coeffs << pc[:coefficient9]
50
+ power_coeffs << pc[:coefficient10]
51
+ power_curve = std.create_curve_bicubic(model, power_coeffs, pc[:curve_name], pc[:min_val_x], pc[:max_val_x], pc[:min_val_y], pc[:max_val_y], nil, nil)
52
+
53
+ # create capacity curve
54
+ capacity_coeffs = []
55
+ capacity_coeffs << cc[:coefficient1]
56
+ capacity_coeffs << cc[:coefficient2]
57
+ capacity_coeffs << cc[:coefficient3]
58
+ capacity_coeffs << cc[:coefficient4]
59
+ capacity_coeffs << cc[:coefficient5]
60
+ capacity_coeffs << cc[:coefficient6]
61
+ capacity_coeffs << cc[:coefficient7]
62
+ capacity_coeffs << cc[:coefficient8]
63
+ capacity_coeffs << cc[:coefficient9]
64
+ capacity_coeffs << cc[:coefficient10]
65
+ capacity_curve = std.create_curve_bicubic(model, capacity_coeffs, cc[:curve_name], cc[:min_val_x], cc[:max_val_x], cc[:min_val_y], cc[:max_val_y], nil, nil)
66
+
67
+ # Make the compressor
68
+ compressor = OpenStudio::Model::RefrigerationCompressor.new(model)
69
+ compressor.setName("#{template} #{operation_type} Refrigeration Compressor")
70
+ compressor.setRefrigerationCompressorPowerCurve(power_curve)
71
+ compressor.setRefrigerationCompressorCapacityCurve(capacity_curve)
72
+
73
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.Refrigeration', "Added refrigeration compressor #{compressor.name}.")
74
+
75
+ return compressor
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,48 @@
1
+ module OpenstudioStandards
2
+ # The Refrigeration module provides methods to create, modify, and get information about refrigeration
3
+ module Refrigeration
4
+ # @!group Create Refrigeration Compressor Rack
5
+ # Methods to add a refrigeration compressor rack
6
+
7
+ # Adds a self contained refrigeration compressor rack for a case or walkin to the model.
8
+ #
9
+ # @param model [OpenStudio::Model::Model] OpenStudio model object
10
+ # @param refrigeration_equipment [OpenStudio::Model::ModelObject] A RefrigerationCase or RefrigerationWalkIn object
11
+ # @param template [String] Technology or standards level, either 'old', 'new', or 'advanced'
12
+ # @return [OpenStudio::Model::RefrigerationCase] the refrigeration case
13
+ def self.create_compressor_rack(model, refrigeration_equipment,
14
+ template: 'new')
15
+ # Add refrigeration system
16
+ ref_rack = OpenStudio::Model::RefrigerationCompressorRack.new(model)
17
+ ref_rack.setName('Self-Contained Refrigeration System')
18
+
19
+ # Add refrigeration case or walkin to the rack
20
+ if refrigeration_equipment.to_RefrigerationCase.is_initialized
21
+ ref_case = refrigeration_equipment.to_RefrigerationCase.get
22
+ rated_capacity_w = ref_case.ratedTotalCoolingCapacityperUnitLength * ref_case.caseLength
23
+ ref_rack.addCase(ref_case)
24
+ thermal_zone = ref_case.thermalZone.get
25
+ elsif refrigeration_equipment.to_RefrigerationWalkIn.is_initialized
26
+ ref_walkin = refrigeration_equipment.to_RefrigerationWalkIn.get
27
+ rated_capacity_w = ref_walkin.ratedCoilCoolingCapacity
28
+ ref_rack.addWalkin(ref_walkin)
29
+ thermal_zone = ref_walkin.zoneBoundaryThermalZone.get
30
+ end
31
+
32
+ # set zone based on equipment zone
33
+ ref_rack.setHeatRejectionLocation('Zone')
34
+ ref_rack.setHeatRejectionZone(thermal_zone)
35
+ ref_rack.setCondenserType('AirCooled')
36
+
37
+ # @todo add cop and curves for compressor racks
38
+ # ref_rack.setDesignCompressorRackCOP(Double)
39
+ # ref_rack.setCompressorRackCOPFunctionofTemperatureCurve(&Curve)
40
+ # ref_rack.setDesignCondenserFanPower(Double)
41
+ # ref_rack.setCondenserFanPowerFunctionofTemperatureCurve(&Curve)
42
+
43
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.Refrigeration', "Added compressor rack with capacity #{OpenStudio.convert(rated_capacity_w, 'W', 'Btu/hr').get.round} Btu/hr of load serving #{refrigeration_equipment.name}.")
44
+
45
+ return ref_rack
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,74 @@
1
+ module OpenstudioStandards
2
+ # The Refrigeration module provides methods to create, modify, and get information about refrigeration
3
+ module Refrigeration
4
+ # @!group Create Refrigeration System
5
+ # Methods to add a refrigeration system
6
+
7
+ # Adds a refrigerated system to the model.
8
+ #
9
+ # @param model [OpenStudio::Model::Model] OpenStudio model object
10
+ # @param refrigeration_equipment [Array<OpenStudio::Model::ModelObject>] Array of RefrigerationCase and/or RefrigerationWalkIn objects
11
+ # @param template [String] Technology or standards level, either 'old', 'new', or 'advanced'
12
+ # @param operation_type [String] Temperature regime, either 'MT' Medium Temperature, or 'LT' Low Temperature
13
+ # @param refrigerant [String] Refrigerant type.
14
+ # @return [OpenStudio::Model::RefrigerationCase] the refrigeration case
15
+ def self.create_refrigeration_system(model, refrigeration_equipment,
16
+ template: 'new',
17
+ operation_type: 'MT',
18
+ refrigerant: 'R404a')
19
+ # Add refrigeration system
20
+ ref_system = OpenStudio::Model::RefrigerationSystem.new(model)
21
+ ref_system.setName("#{operation_type} Refrigeration System")
22
+ ref_system.setRefrigerationSystemWorkingFluidType(refrigerant)
23
+ ref_system.setSuctionTemperatureControlType('ConstantSuctionTemperature')
24
+
25
+ # Add equipment to the system and sum capacity.
26
+ # Allowable equipment are refrigeration cases and walkins.
27
+ rated_capacity_w = 0
28
+ refrigeration_equipment.each do |ref_equip|
29
+ if ref_equip.to_RefrigerationCase.is_initialized
30
+ ref_case = ref_equip.to_RefrigerationCase.get
31
+ rated_capacity_w += ref_case.ratedTotalCoolingCapacityperUnitLength * ref_case.caseLength
32
+ ref_system.addCase(ref_case)
33
+ elsif ref_equip.to_RefrigerationWalkIn.is_initialized
34
+ ref_walkin = ref_equip.to_RefrigerationWalkIn.get
35
+ rated_capacity_w += ref_walkin.ratedCoilCoolingCapacity
36
+ ref_system.addWalkin(ref_walkin)
37
+ end
38
+ end
39
+
40
+ # Calculate number of compressors
41
+ rated_compressor_capacity_btu_per_hr = 60_000.0
42
+ number_of_compressors = (rated_capacity_w / OpenStudio.convert(rated_compressor_capacity_btu_per_hr, 'Btu/h', 'W').get).ceil
43
+
44
+ # add compressors
45
+ (1..number_of_compressors).each do |compressor_number|
46
+ compressor = OpenstudioStandards::Refrigeration.create_compressor(model,
47
+ template: template,
48
+ operation_type: operation_type)
49
+ compressor.setName("#{ref_system.name} Compressor #{compressor_number}")
50
+ ref_system.addCompressor(compressor)
51
+ end
52
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.Refrigeration', "Added #{number_of_compressors} compressors, each with a capacity of #{rated_compressor_capacity_btu_per_hr.round} Btu/hr to serve #{OpenStudio.convert(rated_capacity_w, 'W', 'Btu/hr').get.round} Btu/hr of case and walkin load.")
53
+
54
+ # Heat rejection as a function of temperature
55
+ heat_rejection_curve = OpenStudio::Model::CurveLinear.new(model)
56
+ heat_rejection_curve.setName('Condenser Heat Rejection Function of Temperature')
57
+ heat_rejection_curve.setCoefficient1Constant(0.0)
58
+ heat_rejection_curve.setCoefficient2x(22000.0)
59
+ heat_rejection_curve.setMinimumValueofx(-50.0)
60
+ heat_rejection_curve.setMaximumValueofx(50.0)
61
+
62
+ # Add condenser
63
+ condenser = OpenStudio::Model::RefrigerationCondenserAirCooled.new(model)
64
+ condenser.setRatedEffectiveTotalHeatRejectionRateCurve(heat_rejection_curve)
65
+ condenser.setRatedSubcoolingTemperatureDifference(OpenStudio.convert(2.0, 'F', 'C').get)
66
+ condenser.setMinimumFanAirFlowRatio(0.0)
67
+ condenser.setRatedFanPower(0.04 * rated_capacity_w)
68
+ condenser.setCondenserFanSpeedControlType('VariableSpeed')
69
+ ref_system.setRefrigerationCondenser(condenser)
70
+
71
+ return ref_system
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,161 @@
1
+ module OpenstudioStandards
2
+ # The Refrigeration module provides methods to create, modify, and get information about refrigeration
3
+ module Refrigeration
4
+ # @!group Create Typical Refrigeration
5
+ # Methods to add typical refrigeration
6
+
7
+ # Adds typical refrigeration to a model
8
+ #
9
+ # @param model [OpenStudio::Model::Model] OpenStudio model object
10
+ # @param template [String] Technology or standards level, either 'old', 'new', or 'advanced'
11
+ # @param separate_system_size_limit [Float] The area in square feet above which a refrigeration system will be split into multiple systems
12
+ # @return [Boolean] returns true if successful, false if not
13
+ def self.create_typical_refrigeration(model,
14
+ template: 'new',
15
+ separate_system_size_limit: 20000.0)
16
+ # get refrigeration equipment list based on space types and area
17
+ ref_equip_list = OpenstudioStandards::Refrigeration.typical_refrigeration_equipment_list(model)
18
+
19
+ if ref_equip_list[:cases].empty? && ref_equip_list[:walkins].empty?
20
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.Refrigeration', 'The model space types do not typical have refrigeration cases or walkins. No refrigeration system will be added.')
21
+ return true
22
+ end
23
+
24
+ # Find the thermal zones most suited for holding the display cases
25
+ unless ref_equip_list[:cases].empty?
26
+ thermal_zone_case = OpenstudioStandards::Refrigeration.refrigeration_case_zone(model)
27
+ if thermal_zone_case.nil?
28
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', 'Attempted to add display cases to the model, but could find no thermal zone to put them into.')
29
+ return false
30
+ end
31
+ end
32
+
33
+ # create cases
34
+ medium_temperature_cases = []
35
+ low_temperature_cases = []
36
+ ref_equip_list[:cases].each do |ref_case|
37
+ case_ = OpenstudioStandards::Refrigeration.create_case(model,
38
+ template: template,
39
+ case_type: ref_case[:case_type],
40
+ case_length: ref_case[:length],
41
+ thermal_zone: thermal_zone_case)
42
+ if case_.caseOperatingTemperature > -3.0
43
+ medium_temperature_cases << case_
44
+ else
45
+ low_temperature_cases << case_
46
+ end
47
+ end
48
+
49
+ # Find the thermal zones most suited for holding the walkins
50
+ unless ref_equip_list[:walkins].empty?
51
+ thermal_zone_walkin = OpenstudioStandards::Refrigeration.refrigeration_walkin_zone(model)
52
+ if thermal_zone_walkin.nil?
53
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', 'Attempted to add walkins to the model, but could find no thermal zone to put them into.')
54
+ return false
55
+ end
56
+ end
57
+
58
+ # create walkins
59
+ medium_temperature_walkins = []
60
+ low_temperature_walkins = []
61
+ ref_equip_list[:walkins].each do |walkin|
62
+ ref_walkin = OpenstudioStandards::Refrigeration.create_walkin(model,
63
+ name: walkin[:walkin_name],
64
+ template: template,
65
+ walkin_type: walkin[:walkin_type],
66
+ thermal_zone: thermal_zone_walkin)
67
+ if ref_walkin.operatingTemperature > -3.0
68
+ medium_temperature_walkins << ref_walkin
69
+ else
70
+ low_temperature_walkins << ref_walkin
71
+ end
72
+ end
73
+
74
+ refrigeration_space_type_area = OpenStudio.convert(model.getBuilding.floorArea, 'm^2', 'ft^2').get
75
+ if refrigeration_space_type_area < separate_system_size_limit
76
+ # each case is self-contained
77
+ medium_temperature_cases.each { |ref_equip| OpenstudioStandards::Refrigeration.create_compressor_rack(model, ref_equip, template: template) }
78
+ low_temperature_cases.each { |ref_equip| OpenstudioStandards::Refrigeration.create_compressor_rack(model, ref_equip, template: template) }
79
+
80
+ # each walkin gets its own refrigeration system
81
+ medium_temperature_walkins.each { |ref_equip| OpenstudioStandards::Refrigeration.create_refrigeration_system(model, [ref_equip], template: template, operation_type: 'MT') }
82
+ low_temperature_walkins.each { |ref_equip| OpenstudioStandards::Refrigeration.create_refrigeration_system(model, [ref_equip], template: template, operation_type: 'LT') }
83
+ else
84
+ medium_temperature_equip = medium_temperature_cases + medium_temperature_walkins
85
+ OpenstudioStandards::Refrigeration.create_refrigeration_system(model, medium_temperature_equip,
86
+ template: template,
87
+ operation_type: 'MT')
88
+ low_temperature_equip = low_temperature_cases + low_temperature_walkins
89
+ OpenstudioStandards::Refrigeration.create_refrigeration_system(model, low_temperature_equip,
90
+ template: template,
91
+ operation_type: 'LT')
92
+ end
93
+
94
+ return true
95
+ end
96
+
97
+ # Returns the typical refrigeration equipment in a model based on space types
98
+ #
99
+ # @param model [OpenStudio::Model::Model] OpenStudio model object
100
+ # @return [Hash] Hash of refrigeration case lengths and walkin area
101
+ def self.typical_refrigeration_equipment_list(model)
102
+ # load refrigeration cases data
103
+ cases_csv = "#{__dir__}/data/typical_refrigerated_cases.csv"
104
+ unless File.exist?(cases_csv)
105
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Unable to find file: #{cases_csv}")
106
+ return false
107
+ end
108
+ cases_tbl = CSV.table(cases_csv, encoding: 'ISO8859-1:utf-8')
109
+ cases_hsh = cases_tbl.map(&:to_hash)
110
+
111
+ # load refrigeration walkin data
112
+ walkins_csv = "#{__dir__}/data/typical_refrigerated_walkins.csv"
113
+ unless File.exist?(walkins_csv)
114
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Unable to find file: #{walkins_csv}")
115
+ return false
116
+ end
117
+ walkins_tbl = CSV.table(walkins_csv, encoding: 'ISO8859-1:utf-8')
118
+ walkins_hsh = walkins_tbl.map(&:to_hash)
119
+
120
+ # loop through space types to get collection of cases and walkins
121
+ cases_list = []
122
+ walkins_list = []
123
+ model.getSpaceTypes.sort.each do |space_type|
124
+ total_space_floor_area_m2 = space_type.floorArea
125
+ total_space_floor_area_ft2 = OpenStudio.convert(total_space_floor_area_m2, 'm^2', 'ft^2').get
126
+
127
+ next unless space_type.standardsSpaceType.is_initialized
128
+ next unless space_type.standardsBuildingType.is_initialized
129
+
130
+ standards_space_type = space_type.standardsSpaceType.get
131
+ standards_building_type = space_type.standardsBuildingType.get
132
+
133
+ # create list of cases
134
+ ref_cases = cases_hsh.select { |hash| (hash[:space_type] == standards_space_type) && (hash[:building_type] == standards_building_type) }
135
+ ref_cases.each do |ref_case|
136
+ length_modifier = total_space_floor_area_ft2 / ref_case[:reference_space_type_area_ft2]
137
+ case_length = OpenStudio.convert(ref_case[:length_ft] * length_modifier, 'ft', 'm').get
138
+ cases_list << { case_type: ref_case[:case_type], length: case_length }
139
+ end
140
+
141
+ # create list of walkins
142
+ ref_walkins = walkins_hsh.select { |hash| (hash[:space_type] == standards_space_type) && (hash[:building_type] == standards_building_type) }
143
+ ref_walkins.each do |ref_walkin|
144
+ area_modifier = total_space_floor_area_ft2 / ref_walkin[:reference_space_type_area_ft2]
145
+ # round to the nearest 120 ft2, with a minimum size of 80 ft2 and maximum size of 480 ft2
146
+ walkin_size_ft2 = (120.0 * ((ref_walkin[:size_ft2] * area_modifier) / 120.0).round).clamp(80.0, 480.0).to_int
147
+ walkin_lookup_name = "#{ref_walkin[:walkin_type]} - #{walkin_size_ft2}SF"
148
+ walkin_lookup_name = "#{walkin_lookup_name} with no glass door" if walkin_lookup_name.include? 'Cooler'
149
+ walkins_list << { walkin_name: ref_walkin[:walkin_name], walkin_type: walkin_lookup_name }
150
+ end
151
+ end
152
+
153
+ equipment_list = {
154
+ cases: cases_list,
155
+ walkins: walkins_list
156
+ }
157
+
158
+ return equipment_list
159
+ end
160
+ end
161
+ end
@@ -0,0 +1,116 @@
1
+ module OpenstudioStandards
2
+ # The Refrigeration module provides methods to create, modify, and get information about refrigeration
3
+ module Refrigeration
4
+ # @!group Create Walkin
5
+ # Methods to add refrigerated walkins
6
+
7
+ # Adds a refrigerated walkin to the model.
8
+ #
9
+ # @param model [OpenStudio::Model::Model] OpenStudio model object
10
+ # @param name [String] Name of the refrigeration walkin
11
+ # @param template [String] Technology or standards level, either 'old', 'new', or 'advanced'
12
+ # @param walkin_type [String] The walkin type. See refrigeration_walkins data for valid options under walkin_type.
13
+ # @param thermal_zone [OpenStudio::Model::ThermalZone] Thermal zone with the walkin. If nil, will look up from the model.
14
+ # @return [OpenStudio::Model::RefrigerationWalkIn] the refrigeration walkin
15
+ def self.create_walkin(model,
16
+ name: nil,
17
+ template: 'new',
18
+ walkin_type: 'Walk-in Cooler - 120SF with no glass door',
19
+ thermal_zone: nil)
20
+ # get thermal zone if not provided
21
+ if thermal_zone.nil?
22
+ # Find the thermal zones most suited for holding the walkin
23
+ thermal_zone = OpenstudioStandards::Refrigeration.refrigeration_walkin_zone(model)
24
+ if thermal_zone.nil?
25
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', 'Attempted to add walkins to the model, but could find no thermal zone to put them into.')
26
+ return nil
27
+ end
28
+ end
29
+
30
+ # load refrigeration walkin data
31
+ walkins_csv = "#{__dir__}/data/refrigerated_walkins.csv"
32
+ unless File.exist?(walkins_csv)
33
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Unable to find file: #{walkins_csv}")
34
+ return nil
35
+ end
36
+ walkins_tbl = CSV.table(walkins_csv, encoding: 'ISO8859-1:utf-8')
37
+ walkins_hsh = walkins_tbl.map(&:to_hash)
38
+
39
+ # get walkin properties
40
+ walkins_properties = walkins_hsh.select { |r| (r[:template] == template) && (r[:walkin_name] == walkin_type) }
41
+ if walkins_properties.empty?
42
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Unable to find walkin properties for walkin #{template} #{walkin_type}.")
43
+ return nil
44
+ end
45
+ walkins_properties = walkins_properties[0]
46
+
47
+ if name.nil?
48
+ name = "#{walkin_type} #{template}"
49
+ end
50
+
51
+ # add walkin
52
+ ref_walkin = OpenStudio::Model::RefrigerationWalkIn.new(model, model.alwaysOnDiscreteSchedule)
53
+ ref_walkin.setName(name)
54
+ ref_walkin.setAvailabilitySchedule(model.alwaysOnDiscreteSchedule)
55
+ ref_walkin.setRatedCoilCoolingCapacity(walkins_properties[:rated_capacity])
56
+ ref_walkin.setOperatingTemperature(walkins_properties[:operating_temperature])
57
+ ref_walkin.setRatedCoolingSourceTemperature(walkins_properties[:rated_cooling_source_temperature])
58
+ ref_walkin.setRatedTotalHeatingPower(walkins_properties[:rated_total_heating_power])
59
+ ref_walkin.setRatedCirculationFanPower(0.0)
60
+ ref_walkin.setRatedCoolingCoilFanPower(walkins_properties[:rated_cooling_fan_power])
61
+ ref_walkin.setRatedTotalLightingPower(walkins_properties[:lighting_power])
62
+ ref_walkin.setLightingSchedule(model.alwaysOnDiscreteSchedule)
63
+ ref_walkin.setDefrostType(walkins_properties[:defrost_type])
64
+ ref_walkin.setDefrostControlType(walkins_properties[:defrost_control_type])
65
+ ref_walkin.setDefrostPower(walkins_properties[:defrost_power])
66
+ ref_walkin.setTemperatureTerminationDefrostFractiontoIce(walkins_properties[:temperature_termination_defrost_fraction_to_ice])
67
+ ref_walkin.setInsulatedFloorSurfaceArea(walkins_properties[:insulated_floor_area])
68
+ ref_walkin.setInsulatedFloorUValue(walkins_properties[:insulated_floor_uvalue])
69
+ ref_walkin.setZoneBoundaryTotalInsulatedSurfaceAreaFacingZone(walkins_properties[:total_insulatedsurface_area_facing_zone])
70
+ ref_walkin.setZoneBoundaryInsulatedSurfaceUValueFacingZone(walkins_properties[:insulated_surface_uvalue_facing_zone])
71
+ ref_walkin.setZoneBoundaryAreaofGlassReachInDoorsFacingZone(walkins_properties[:area_of_glass_reachin_doors_facing_zone])
72
+ ref_walkin.setZoneBoundaryGlassReachInDoorUValueFacingZone(walkins_properties[:reachin_door_uvalue]) unless walkins_properties[:reachin_door_uvalue].nil?
73
+ ref_walkin.setZoneBoundaryAreaofStockingDoorsFacingZone(walkins_properties[:area_of_stocking_doors_facing_zone])
74
+ ref_walkin.setZoneBoundaryHeightofStockingDoorsFacingZone(walkins_properties[:height_of_stocking_doors_facing_zone])
75
+ # replace with glass height property when added
76
+ ref_walkin.setZoneBoundaryHeightofGlassReachInDoorsFacingZone(walkins_properties[:height_of_stocking_doors_facing_zone])
77
+ ref_walkin.setZoneBoundaryStockingDoorUValueFacingZone(walkins_properties[:stocking_door_u])
78
+ ref_walkin.zoneBoundaries.each { |zb| zb.setStockingDoorOpeningProtectionTypeFacingZone(walkins_properties[:stocking_door_opening_protection]) }
79
+ ref_walkin.setZoneBoundaryThermalZone(thermal_zone)
80
+
81
+ # place holders for schedules until data provided from ORNL
82
+ i = 0
83
+ # Defrost schedule
84
+ defrost_sch = OpenStudio::Model::ScheduleRuleset.new(model)
85
+ defrost_sch.setName("#{ref_walkin.name} Defrost")
86
+ defrost_sch.defaultDaySchedule.setName("#{ref_walkin.name} Defrost Default")
87
+ defrost_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, i, 0, 0), 0)
88
+ defrost_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, i, 59, 0), 1)
89
+ defrost_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, i + 10, 0, 0), 0)
90
+ defrost_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, i + 10, 59, 0), 1)
91
+ defrost_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, 24, 0, 0), 0)
92
+
93
+ # Dripdown schedule
94
+ dripdown_sch = OpenStudio::Model::ScheduleRuleset.new(model)
95
+ dripdown_sch.setName("#{ref_walkin.name} Defrost")
96
+ dripdown_sch.defaultDaySchedule.setName("#{ref_walkin.name} Defrost Default")
97
+ dripdown_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, i, 0, 0), 0)
98
+ dripdown_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, i, 59, 0), 1)
99
+ dripdown_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, i + 10, 0, 0), 0)
100
+ dripdown_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, i + 10, 59, 0), 1)
101
+ dripdown_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, 24, 0, 0), 0)
102
+ ref_walkin.setDefrostSchedule(defrost_sch)
103
+ ref_walkin.setDefrostDripDownSchedule(dripdown_sch)
104
+
105
+ # stocking schedule
106
+ # ref_walkin.setRestockingSchedule(model.alwaysOffDiscreteSchedule)
107
+ ref_walkin.setZoneBoundaryStockingDoorOpeningScheduleFacingZone(model.alwaysOffDiscreteSchedule)
108
+
109
+ insulated_floor_area_ft2 = OpenStudio.convert(walkins_properties[:insulated_floor_area], 'm^2', 'ft^2').get
110
+ rated_cooling_capacity_btu_per_hr = OpenStudio.convert(walkins_properties[:rated_capacity], 'W', 'Btu/hr').get
111
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.Refrigeration', "Added #{insulated_floor_area_ft2.round} ft2 walkin called #{walkin_type} with a capacity of #{rated_cooling_capacity_btu_per_hr.round} Btu/hr to #{thermal_zone&.name}.")
112
+
113
+ return ref_walkin
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,31 @@
1
+ case_name,template,operation_type,rated_capacity,unit_length,number_of_units,total_length,total_capacity,case_operating_temperature,evaporator_temperature,rated_latent_heat_ratio,rated_runtime_fraction,latent_case_credit_curve_type,latent_case_credit_curve_name,fan_power,lighting_power,case_lighting_schedules,fraction_of_lighting_energy_to_case,anti_sweat_power,anti_sweat_heater_control_type,fraction_of_anti_sweat_heater_energy_to_cases,defrost_power,defrost_type,defrost_schedules,drip_down_schedules,defrost_energy_correction_curve_type,defrost_energy_correction_curve_name,HVAC_return_air_fraction,restocking_schedule,case_credit_fraction_schedule,description
2
+ Coffin - Frozen Food,old,LT,695.2,2,,,,-26.1,-30,0.2,0.85,DewpointMethod,Coffin Latent Curve,24,0,Always On,0,255,Constant,0.7,1430.4,ElectricWithTemperatureTermination,LT Coffin Defrost Sch,LT Coffin Drip-Down Sch,DewpointMethod,Coffin Defrost Curve,0,Always Off,Case Credit Schedule ,"Old Ice Cream Coffin: unit length 2.0 m, case operating temperature -30C "
3
+ Coffin - Ice Cream,old,LT,695.2,2,,,,-26.1,-30,0.2,0.85,DewpointMethod,Coffin Latent Curve,24,0,Always On,0,255,Constant,0.7,1430.4,ElectricWithTemperatureTermination,LT Coffin Defrost Sch,LT Coffin Drip-Down Sch,DewpointMethod,Coffin Defrost Curve,0,Always Off,Case Credit Schedule ,"Old Ice Cream Coffin: unit length 2.0 m, case operating temperature -30C "
4
+ Reach-in - Ice Cream,old,LT,617.4,3,,,,-23.9,-27.4,0.1,0.85,DewpointMethod,Glass Door Latent Curve,70.2,99.1,Always On,0.5,286.7,Constant,0.7,1221.5,ElectricWithTemperatureTermination,LT Reach-In Defrost Sch,LT Reach-In Drip-Down Sch,DewpointMethod,Glass Door Defrost Curve,0,Always Off,Case Credit Schedule ,"Old Ice Cream Reach-In: unit length 3.0m, case operating temperature -27.4C "
5
+ Reach-in - Frozen Food,old,LT,583.7,3,,,,-20,-23.5,0.1,0.85,DewpointMethod,Glass Door Latent Curve,70.2,99.1,Always On,0.5,286.7,Constant,0.7,1221.5,ElectricWithTemperatureTermination,LT Reach-In Defrost Sch,LT Reach-In Drip-Down Sch,DewpointMethod,Glass Door Defrost Curve,0,Always Off,Case Credit Schedule ,"Old Frozen Food Reach-In: unit length 3.0m, case operating temperature -23.5C "
6
+ Island - Deli Produce,old,MT,410,1.8,,,,-2.9,-6.4,0.2,0.85,DewpointMethod,Coffin Latent Curve,50.9,0,Always On,0,63.6,Constant,0.7,856.3,ElectricWithTemperatureTermination,MT Coffin Defrost Sch,MT Coffin Drip-Down Sch,DewpointMethod,Coffin Defrost Curve,0,Always Off,Case Credit Schedule ,Old MT Deli and Produce Island: unit length 1.8 m operating temperature -2.9C
7
+ Reach-in - Dairy Deli Beverage Case,old,MT,282.1,2.4,,,,1.4,-1.1,0.2,0.85,DewpointMethod,Glass Door Latent Curve,21.3,22.7,Always On,0.5,56.6,Constant,0.7,,OffCycle,,,,,0,Always Off,Case Credit Schedule ,"Old Dairy, Deli, and Beverage Reach-In: unit length 2.4 m, case operating temperature 1.4 C "
8
+ Service - Meat Deli Bakery,old,MT,808,2.4,,,,-2.9,-6.4,0.1,0.85,DewpointMethod,Glass Door Latent Curve,31.8,71.5,Always On,0.5,63.3,Constant,0.7,,OffCycle,,,,,0,Always Off,Case Credit Schedule ,"Old MT Meat, Deli, and Bakery Service Case: unit length 2.4 m, operating temperature -2.9C"
9
+ Vertical Open - All,old,MT,1437.6,2.4,,,,0.6,-3.9,0.3,0.85,DewpointMethod,Open Latent Curve,43,72.5,Always On,0.5,,None,,,OffCycle,,,,,0,Always Off,Case Credit Schedule ,"Old Dairy, Meat, Beverage, Salad, Floral, and Prepared Foods Vertical case: unit length 2.4 m, operating temperature 0.6C"
10
+ Coffin - Frozen Food,new,LT,206.7,2.2,,,,-21.7,-24.4,0.2,0.85,DewpointMethod,Coffin Latent Curve,6.6,15.3,Always On,0.5,16.9,Constant,0.7,786,ElectricWithTemperatureTermination,LT Coffin Defrost Sch,LT Coffin Drip-Down Sch,DewpointMethod,Coffin Defrost Curve,0,Always Off,Case Credit Schedule ,"New Frozen Food Coffin: unit length 2.2 m, case operating temperature -21.7C "
11
+ Coffin - Ice Cream,new,LT,240.4,2,,,,-28.3,-31.1,0.2,0.85,DewpointMethod,Coffin Latent Curve,6.6,17.6,Always On,0.5,13.1,Constant,0.7,745,ElectricWithTemperatureTermination,LT Coffin Defrost Sch,LT Coffin Drip-Down Sch,DewpointMethod,Coffin Defrost Curve,0,Always Off,Case Credit Schedule ,"New Ice Cream Coffin: unit length 2.0 m, case operating temperature -28.3C "
12
+ Reach-in - Ice Cream,new,LT,473.9,3,,,,-23.9,-27.2,0.1,0.85,DewpointMethod,Glass Door Latent Curve,32.5,25.8,Always On,0.5,139.4,Constant,0.7,955.4,ElectricWithTemperatureTermination,LT Reach-In Defrost Sch,LT Reach-In Drip-Down Sch,DewpointMethod,Glass Door Defrost Curve,0,Always Off,Case Credit Schedule ,"New Ice Cream Reach-In: unit length 3.0m, case operating temperature -23.9C "
13
+ Reach-in - Frozen Food,new,LT,438.9,3,,,,-20,-23.9,0.1,0.85,DewpointMethod,Glass Door Latent Curve,32.5,25.8,Always On,0.5,139.4,Constant,0.7,955.4,ElectricWithTemperatureTermination,LT Reach-In Defrost Sch,LT Reach-In Drip-Down Sch,DewpointMethod,Glass Door Defrost Curve,0,Always Off,Case Credit Schedule ,"New Frozen Food Reach-In: unit length 3.0m, case operating temperature -20C "
14
+ Reach-in - Dairy Deli Beverage Case,new,MT,282.1,2.4,,,,1.4,-1.1,0.2,0.85,DewpointMethod,Glass Door Latent Curve,21.3,22.7,Always On,0.5,56.6,Constant,0.7,,OffCycle,,,,,0,Always Off,Case Credit Schedule ,"New Dairy, Deli, and Beverage Reach-In: unit length 2.4 m, case operating temperature 1.4 C "
15
+ Island - Deli Produce,new,MT,372.6,1.8,,,,-1.1,-3.6,0.2,0.85,DewpointMethod,Coffin Latent Curve,7.6,9.8,Always On,0.5,13.1,Constant,0.7,656.2,ElectricWithTemperatureTermination,MT Coffin Defrost Sch,MT Coffin Drip-Down Sch,DewpointMethod,Coffin Defrost Curve,0,Always Off,Case Credit Schedule ,New MT Deli and Produce Island: unit length 1.8 m operating temperature -1.1C
16
+ Service - Meat Deli Bakery,new,MT,317.3,2.4,,,,-2.2,-6.7,0.1,0.85,DewpointMethod,Glass Door Latent Curve,12.6,17,Always On,0.5,,None,,,OffCycle,,,,,0,Always Off,Case Credit Schedule ,"New MT Meat, Deli, and Bakery Service Case: unit length 2.4 m, operating temperature -2.2C"
17
+ Vertical Open - All,new,MT,1187.6,2.4,,,,0.6,-2.2,0.3,0.85,DewpointMethod,Open Latent Curve,14.5,18.9,Always On,0.5,,None,,,OffCycle,,,,,0,Always Off,Case Credit Schedule ,"New Dairy, Meat, Beverage, Salad, Floral, and Prepared Foods Vertical case: unit length 2.4 m, operating temperature 0.6C"
18
+ Coffin - Frozen Food,advanced,LT,281.3,2.2,,,,-23.3,-26.1,0.2,0.85,DewpointMethod,Coffin Latent Curve,8.75,16.4,Always On,0.5,60.4,Constant,0.7,1312.3,ElectricWithTemperatureTermination,LT Coffin Defrost Sch,LT Coffin Drip-Down Sch,DewpointMethod,Coffin Defrost Curve,0,Always Off,Case Credit Schedule ,"Advanced Frozen Food Coffin: unit length 2.2 m, case operating temperature -23.3C "
19
+ Coffin - Ice Cream,advanced,LT,331.8,2,,,,-27.2,-31.1,0.2,0.85,DewpointMethod,Coffin Latent Curve,8.75,16.4,Always On,0.5,60.4,Constant,0.7,1312.3,ElectricWithTemperatureTermination,LT Coffin Defrost Sch,LT Coffin Drip-Down Sch,DewpointMethod,Coffin Defrost Curve,0,Always Off,Case Credit Schedule ,"Advanced Ice Cream Coffin: unit length 2.0 m, case operating temperature -27.2C "
20
+ Reach-in - Ice Cream,advanced,LT,419.6,3,,,,-22.2,-26.1,0.1,0.85,DewpointMethod,Glass Door Latent Curve,32.81,28.5,Always On,0.5,41.3,Constant,0.7,955.4,ElectricWithTemperatureTermination,LT Reach-In Defrost Sch,LT Reach-In Drip-Down Sch,DewpointMethod,Glass Door Defrost Curve,0,Always Off,Case Credit Schedule ,"Advanced Ice Cream Reach-In: unit length 3.0m, case operating temperature -22.2C "
21
+ Reach-in - Frozen Food,advanced,LT,398.9,3,,,,-18.3,-21.7,0.1,0.85,DewpointMethod,Glass Door Latent Curve,32.81,28.5,Always On,0.5,41.3,Constant,0.7,955.4,ElectricWithTemperatureTermination,LT Reach-In Defrost Sch,LT Reach-In Drip-Down Sch,DewpointMethod,Glass Door Defrost Curve,0,Always Off,Case Credit Schedule ,"Advanced Frozen Food Reach-In: unit length 3.0m, case operating temperature -18.3C "
22
+ Reach-in - Dairy Deli Beverage Case,advanced,MT,288.5,2.4,,,,1.1,-1.1,0.2,0.85,DewpointMethod,Glass Door Latent Curve,19.7,20.9,Always On,0.5,15.6,Constant,0.7,,OffCycle,,,,,0,Always Off,Case Credit Schedule ,"Advanced Others Reach-In: unit length 2.4 m, case operating temperature 1.1C "
23
+ Reach-in - Meat,advanced,MT,310.8,2.4,,,,1.1,-2.2,0.2,0.85,DewpointMethod,Glass Door Latent Curve,21.3,25.4,Always On,0.5,,None,,,OffCycle,,,,,0,Always Off,Case Credit Schedule ,"Advanced Meat Reach-In: unit length 2.4 m, case operating temperature 1.1C "
24
+ Reach-in - Others,advanced,MT,288.5,2.4,,,,1.1,-1.1,0.2,0.85,DewpointMethod,Glass Door Latent Curve,19.7,20.9,Always On,0.5,15.6,Constant,0.7,,OffCycle,,,,,0,Always Off,Case Credit Schedule ,"Advanced Others Reach-In: unit length 2.4 m, case operating temperature 1.1C "
25
+ Island - Deli Produce,advanced,MT,216.4,1.8,,,,0,-3.9,0.2,0.85,DewpointMethod,Coffin Latent Curve,8.7,16.4,Always On,0.5,52.5,Constant,0.7,1312.3,ElectricWithTemperatureTermination,MT Coffin Defrost Sch,MT Coffin Drip-Down Sch,DewpointMethod,Coffin Defrost Curve,0,Always Off,Case Credit Schedule ,Advanced MT Deli and Produce Island: unit length 1.8 m operating temperature 0C
26
+ Service - Meat Deli Bakery,advanced,MT,764.5,2.4,,,,-0.6,-3.3,0.1,0.85,DewpointMethod,Glass Door Latent Curve,23,15.6,Always On,0.5,,None,,,OffCycle,,,,,0,Always Off,Case Credit Schedule ,"Advanced MT Meat Service Case: unit length 2.4 m, operating temperature -0.6C"
27
+ Service - Others,advanced,MT,721.2,2.4,,,,-0.6,-3.3,0.1,0.85,DewpointMethod,Glass Door Latent Curve,39.4,9.8,Always On,0.5,,None,,,OffCycle,,,,,0,Always Off,Case Credit Schedule ,"Advanced MT Others Service Case: unit length 2.4 m, operating temperature -0.6C"
28
+ Vertical Open - Meat,advanced,MT,1745.3,2.4,,,,-1.1,-5.6,0.3,0.85,DewpointMethod,Open Latent Curve,20,15.9,Always On,0.5,,None,,,OffCycle,,,,,0,Always Off,Case Credit Schedule ,"Advanced Meat Vertical case: unit length 2.4 m, operating temperature -1.1C"
29
+ Vertical Open - Beverage,advanced,MT,1466.5,2.4,,,,2.8,-2.2,0.3,0.85,DewpointMethod,Open Latent Curve,26.7,27.3,Always On,0.5,,None,,,OffCycle,,,,,0,Always Off,Case Credit Schedule ,"Advanced Beverage Vertical case: unit length 2.4 m, operating temperature 2.8C"
30
+ Vertical Open - Others,advanced,MT,1546.3,2.4,,,,-0.6,-3.9,0.3,0.85,DewpointMethod,Open Latent Curve,27.3,24.2,Always On,0.5,,None,,,OffCycle,,,,,0,Always Off,Case Credit Schedule ,"Advanced Others- Dairy, Salad, Floral, and Prepared Foods Vertical case: unit length 2.4 m, operating temperature -0.6C"
31
+ Vertical Open - All,advanced,MT,1546.3,2.4,,,,-0.6,-3.9,0.3,0.85,DewpointMethod,Open Latent Curve,27.3,24.2,Always On,0.5,,None,,,OffCycle,,,,,0,Always Off,Case Credit Schedule ,"Advanced Others- Dairy, Salad, Floral, and Prepared Foods Vertical case: unit length 2.4 m, operating temperature -0.6C"
@@ -0,0 +1,76 @@
1
+ walkin_name,template,operation_type,insulated_floor_area,rated_capacity,operating_temperature,rated_cooling_source_temperature,rated_total_heating_power,rated_cooling_fan_power,lighting_power,lighting_schedule,defrost_type,defrost_control_type,defrost_schedule,drip_down_schedule,defrost_power,temperature_termination_defrost_fraction_to_ice,insulated_floor_uvalue,total_insulatedsurface_area_facing_zone,insulated_surface_uvalue_facing_zone,area_of_glass_reachin_doors_facing_zone,reachin_door_uvalue,area_of_stocking_doors_facing_zone,height_of_stocking_doors_facing_zone,stocking_door_u,stocking_door_schedule,stocking_door_opening_protection
2
+ Walk-in Freezer - 80SF,old,LT,7.4,2783.9,-26.1,-31.7,0,222.72,80.3,Always on,Electric,TemperatureTermination,Freezer Defrost Sch,Freezer Drip-Down Sch,2199.3,0.7,0.203,43.1,0.177,0,,3.3,2.1,0.177,Walk-in Door Sch,StripCurtain
3
+ Walk-in Freezer - 120SF,old,LT,11.1,3305.9,-26.1,-31.7,0,264.48,120.4,Always on,Electric,TemperatureTermination,Freezer Defrost Sch,Freezer Drip-Down Sch,2611.7,0.7,0.203,49.3,0.177,0,,3.3,2.1,0.177,Walk-in Door Sch,StripCurtain
4
+ Walk-in Freezer - 240SF,old,LT,22.3,4834.8,-26.1,-31.7,0,386.78,240.8,Always on,Electric,TemperatureTermination,Freezer Defrost Sch,Freezer Drip-Down Sch,3819.5,0.7,0.203,68.1,0.177,0,,3.3,2.1,0.177,Walk-in Door Sch,StripCurtain
5
+ Walk-in Freezer - 360SF,old,LT,33.4,6308,-26.1,-31.7,0,504.64,361.2,Always on,Electric,TemperatureTermination,Freezer Defrost Sch,Freezer Drip-Down Sch,4983.3,0.7,0.203,86.9,0.177,0,,3.3,2.1,0.177,Walk-in Door Sch,StripCurtain
6
+ Walk-in Freezer - 480SF,old,LT,44.6,7725.5,-26.1,-31.7,0,618.04,481.6,Always on,Electric,TemperatureTermination,Freezer Defrost Sch,Freezer Drip-Down Sch,6103.2,0.7,0.203,105.6,0.177,0,,3.3,2.1,0.177,Walk-in Door Sch,StripCurtain
7
+ Walk-in Cooler - 64SF with no glass door,old,MT,5.9,2494,1.7,-3.9,0,144.7,64.2,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,40.6,2.27,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
8
+ Walk-in Cooler - 80SF with no glass door,old,MT,7.4,2729.3,1.7,-3.9,0,158.3,80.3,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,43.1,2.27,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
9
+ Walk-in Cooler - 100SF with no glass door,old,MT,9.3,3022,1.7,-3.9,0,175.3,100.3,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,46.2,2.27,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
10
+ Walk-in Cooler - 120SF with no glass door,old,MT,11.1,3313.2,1.7,-3.9,0,192.2,120.4,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,49.3,2.27,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
11
+ Walk-in Cooler - 240SF with no glass door,old,MT,22.3,5028.1,1.7,-3.9,0,291.6,240.8,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,68.1,2.27,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
12
+ Walk-in Cooler - 360SF with no glass door,old,MT,33.4,6687.5,1.7,-3.9,0,387.9,361.2,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,86.9,2.27,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
13
+ Walk-in Cooler - 400SF with no glass door,old,MT,37.2,7228.4,1.7,-3.9,0,419.2,401.3,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,93.1,2.27,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
14
+ Walk-in Cooler - 480SF with no glass door,old,MT,44.6,8291.7,1.7,-3.9,0,480.9,481.6,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,105.6,2.27,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
15
+ Walk-in Cooler - 600SF with no glass door,old,MT,55.7,9840.5,1.7,-3.9,0,570.7,602,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,124.4,2.27,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
16
+ Walk-in Cooler - 660SF with no glass door,old,MT,61.3,10594.1,1.7,-3.9,0,614.5,662.2,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,133.8,2.27,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
17
+ Walk-in Cooler - 64SF with glass door,old,MT,5.9,2494,1.7,-3.9,0,144.7,64.2,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,40.6,2.27,2.1,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
18
+ Walk-in Cooler - 80SF with glass door,old,MT,7.4,2729.3,1.7,-3.9,0,158.3,80.3,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,43.1,2.27,2.6,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
19
+ Walk-in Cooler - 100SF with glass door,old,MT,9.3,3022,1.7,-3.9,0,175.3,100.3,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,46.2,2.27,3.3,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
20
+ Walk-in Cooler - 120SF with glass door,old,MT,11.1,3313.2,1.7,-3.9,0,192.2,120.4,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,49.3,2.27,3.9,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
21
+ Walk-in Cooler - 240SF with glass door,old,MT,22.3,5028.1,1.7,-3.9,0,291.6,240.8,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,68.1,2.27,7.8,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
22
+ Walk-in Cooler - 360SF with glass door,old,MT,33.4,6687.5,1.7,-3.9,0,387.9,361.2,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,86.9,2.27,11.7,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
23
+ Walk-in Cooler - 400SF with glass door,old,MT,37.2,7228.4,1.7,-3.9,0,419.2,401.3,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,93.1,2.27,13,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
24
+ Walk-in Cooler - 480SF with glass door,old,MT,44.6,8291.7,1.7,-3.9,0,480.9,481.6,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,105.6,2.27,15.6,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
25
+ Walk-in Cooler - 600SF with glass door,old,MT,55.7,9840.5,1.7,-3.9,0,570.7,602,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,124.4,2.27,19.5,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
26
+ Walk-in Cooler - 660SF with glass door,old,MT,61.3,10594.1,1.7,-3.9,0,614.5,662.2,Always on,Offcycle,TimeSchedule,Cooler Defrost Sch,Cooler Drip-Down Sch,0,0.7,0.203,133.8,2.27,21.5,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
27
+ Walk-in Freezer - 80SF,new,LT,7.4,1953.6,-26.1,-31.7,0,101.59,40.1,Always on,Electric,TemperatureTermination,Freezer Defrost Sch,Freezer Drip-Down Sch,1543.4,0.7,0.203,43.1,0.177,0,,3.3,2.1,0.177,Walk-in Door Sch,StripCurtain
28
+ Walk-in Freezer - 120SF,new,LT,11.1,2540.7,-26.1,-31.7,0,132.12,60.2,Always on,Electric,TemperatureTermination,Freezer Defrost Sch,Freezer Drip-Down Sch,2007.2,0.7,0.203,49.3,0.177,0,,3.3,2.1,0.177,Walk-in Door Sch,StripCurtain
29
+ Walk-in Freezer - 240SF,new,LT,22.3,4115.4,-26.1,-31.7,0,214,120.4,Always on,Electric,TemperatureTermination,Freezer Defrost Sch,Freezer Drip-Down Sch,3251.2,0.7,0.203,68.1,0.177,0,,3.3,2.1,0.177,Walk-in Door Sch,StripCurtain
30
+ Walk-in Freezer - 360SF,new,LT,33.4,5410.2,-26.1,-31.7,0,281.33,180.6,Always on,Electric,TemperatureTermination,Freezer Defrost Sch,Freezer Drip-Down Sch,4274,0.7,0.203,86.9,0.177,0,,3.3,2.1,0.177,Walk-in Door Sch,StripCurtain
31
+ Walk-in Freezer - 480SF,new,LT,44.6,6425,-26.1,-31.7,0,334.1,240.8,Always on,Electric,TemperatureTermination,Freezer Defrost Sch,Freezer Drip-Down Sch,5075.7,0.7,0.203,105.6,0.177,0,,3.3,2.1,0.177,Walk-in Door Sch,StripCurtain
32
+ Walk-in Cooler - 64SF with no glass door,new,MT,5.9,1588.7,1.67,-3.9,0,63.5,32.1,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,40.6,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
33
+ Walk-in Cooler - 80SF with no glass door,new,MT,7.4,1809.8,1.67,-3.9,0,72.4,40.1,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,43.1,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
34
+ Walk-in Cooler - 100SF with no glass door,new,MT,9.3,2078.9,1.67,-3.9,0,83.2,50.2,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,46.2,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
35
+ Walk-in Cooler - 120SF with no glass door,new,MT,11.1,2339.8,1.67,-3.9,0,93.6,60.2,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,49.3,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
36
+ Walk-in Cooler - 240SF with no glass door,new,MT,22.3,3734.4,1.67,-3.9,0,149.4,120.4,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,68.1,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
37
+ Walk-in Cooler - 360SF with no glass door,new,MT,33.4,4836.4,1.67,-3.9,0,193.5,180.6,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,86.9,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
38
+ Walk-in Cooler - 400SF with no glass door,new,MT,37.2,5138.6,1.67,-3.9,0,205.5,200.7,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,93.1,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
39
+ Walk-in Cooler - 480SF with no glass door,new,MT,44.6,5645.6,1.67,-3.9,0,225.8,240.8,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,105.6,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
40
+ Walk-in Cooler - 600SF with no glass door,new,MT,55.7,6162,1.67,-3.9,0,246.5,301,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,124.4,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
41
+ Walk-in Cooler - 660SF with no glass door,new,MT,61.3,6310.5,1.67,-3.9,0,252.4,331.1,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,133.8,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
42
+ Walk-in Cooler - 64SF with glass door,new,MT,5.9,1588.7,1.67,-3.9,0,63.5,32.1,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,40.6,0.203,2.1,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
43
+ Walk-in Cooler - 80SF with glass door,new,MT,7.4,1809.8,1.67,-3.9,0,72.4,40.1,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,43.1,0.203,2.6,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
44
+ Walk-in Cooler - 100SF with glass door,new,MT,9.3,2078.9,1.67,-3.9,0,83.2,50.2,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,46.2,0.203,3.3,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
45
+ Walk-in Cooler - 120SF with glass door,new,MT,11.1,2339.8,1.67,-3.9,0,93.6,60.2,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,49.3,0.203,3.9,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
46
+ Walk-in Cooler - 240SF with glass door,new,MT,22.3,3734.4,1.67,-3.9,0,149.4,120.4,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,68.1,0.203,7.8,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
47
+ Walk-in Cooler - 360SF with glass door,new,MT,33.4,4836.4,1.67,-3.9,0,193.5,180.6,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,86.9,0.203,11.7,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
48
+ Walk-in Cooler - 400SF with glass door,new,MT,37.2,5138.6,1.67,-3.9,0,205.5,200.7,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,93.1,0.203,13,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
49
+ Walk-in Cooler - 480SF with glass door,new,MT,44.6,5645.6,1.67,-3.9,0,225.8,240.8,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,105.6,0.203,15.6,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
50
+ Walk-in Cooler - 600SF with glass door,new,MT,55.7,6162,1.67,-3.9,0,246.5,301,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,124.4,0.203,19.5,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
51
+ Walk-in Cooler - 660SF with glass door,new,MT,61.3,6310.5,1.67,-3.9,0,252.4,331.1,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,133.8,0.203,21.5,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
52
+ Walk-in Freezer - 80SF,advanced,LT,7.4,1858.7,-26.1,-31.7,0,96.65,40.1,Always on,Electric,TemperatureTermination,Freezer Defrost Sch,Freezer Drip-Down Sch,1468.4,0.7,0.203,43.1,0.177,0,,3.3,2.1,0.177,Walk-in Door Sch,StripCurtain
53
+ Walk-in Freezer - 120SF,advanced,LT,11.1,2308.3,-26.1,-31.7,0,120.03,60.2,Always on,Electric,TemperatureTermination,Freezer Defrost Sch,Freezer Drip-Down Sch,1823.6,0.7,0.203,49.3,0.177,0,,3.3,2.1,0.177,Walk-in Door Sch,StripCurtain
54
+ Walk-in Freezer - 240SF,advanced,LT,22.3,3614.4,-26.1,-31.7,0,187.95,120.4,Always on,Electric,TemperatureTermination,Freezer Defrost Sch,Freezer Drip-Down Sch,2855.4,0.7,0.203,68.1,0.177,0,,3.3,2.1,0.177,Walk-in Door Sch,StripCurtain
55
+ Walk-in Freezer - 360SF,advanced,LT,33.4,4856.2,-26.1,-31.7,0,252.52,180.6,Always on,Electric,TemperatureTermination,Freezer Defrost Sch,Freezer Drip-Down Sch,3836.4,0.7,0.203,86.9,0.177,0,,3.3,2.1,0.177,Walk-in Door Sch,StripCurtain
56
+ Walk-in Freezer - 480SF,advanced,LT,44.6,6033.8,-26.1,-31.7,0,313.76,240.8,Always on,Electric,TemperatureTermination,Freezer Defrost Sch,Freezer Drip-Down Sch,4766.7,0.7,0.203,105.6,0.177,0,,3.3,2.1,0.177,Walk-in Door Sch,StripCurtain
57
+ Walk-in Cooler - 64SF with no glass door,advanced,MT,5.9,1605.3,1.67,-3.9,0,64.2,32.1,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,40.6,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
58
+ Walk-in Cooler - 80SF with no glass door,advanced,MT,7.4,1746.9,1.67,-3.9,0,69.9,40.1,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,43.1,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
59
+ Walk-in Cooler - 100SF with no glass door,advanced,MT,9.3,1923.1,1.67,-3.9,0,76.9,50.2,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,46.2,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
60
+ Walk-in Cooler - 120SF with no glass door,advanced,MT,11.1,2098.2,1.67,-3.9,0,83.9,60.2,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,49.3,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
61
+ Walk-in Cooler - 240SF with no glass door,advanced,MT,22.3,3129,1.67,-3.9,0,125.2,120.4,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,68.1,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
62
+ Walk-in Cooler - 360SF with no glass door,advanced,MT,33.4,4124.7,1.67,-3.9,0,165,180.6,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,86.9,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
63
+ Walk-in Cooler - 400SF with no glass door,advanced,MT,37.2,4448.8,1.67,-3.9,0,178,200.7,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,93.1,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
64
+ Walk-in Cooler - 480SF with no glass door,advanced,MT,44.6,5085.3,1.67,-3.9,0,203.4,240.8,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,105.6,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
65
+ Walk-in Cooler - 600SF with no glass door,advanced,MT,55.7,6011,1.67,-3.9,0,240.4,301,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,124.4,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
66
+ Walk-in Cooler - 660SF with no glass door,advanced,MT,61.3,6460.7,1.67,-3.9,0,258.4,331.1,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,133.8,0.203,0,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
67
+ Walk-in Cooler - 64SF with glass door,advanced,MT,5.9,1605.3,1.67,-3.9,0,64.2,32.1,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,40.6,0.203,2.1,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
68
+ Walk-in Cooler - 80SF with glass door,advanced,MT,7.4,1746.9,1.67,-3.9,0,69.9,40.1,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,43.1,0.203,2.6,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
69
+ Walk-in Cooler - 100SF with glass door,advanced,MT,9.3,1923.1,1.67,-3.9,0,76.9,50.2,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,46.2,0.203,3.3,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
70
+ Walk-in Cooler - 120SF with glass door,advanced,MT,11.1,2098.2,1.67,-3.9,0,83.9,60.2,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,49.3,0.203,3.9,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
71
+ Walk-in Cooler - 240SF with glass door,advanced,MT,22.3,3129,1.67,-3.9,0,125.2,120.4,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,68.1,0.203,7.8,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
72
+ Walk-in Cooler - 360SF with glass door,advanced,MT,33.4,4124.7,1.67,-3.9,0,165,180.6,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,86.9,0.203,11.7,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
73
+ Walk-in Cooler - 400SF with glass door,advanced,MT,37.2,4448.8,1.67,-3.9,0,178,200.7,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,93.1,0.203,13,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
74
+ Walk-in Cooler - 480SF with glass door,advanced,MT,44.6,5085.3,1.67,-3.9,0,203.4,240.8,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,105.6,0.203,15.6,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
75
+ Walk-in Cooler - 600SF with glass door,advanced,MT,55.7,6011,1.67,-3.9,0,240.4,301,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,124.4,0.203,19.5,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain
76
+ Walk-in Cooler - 660SF with glass door,advanced,MT,61.3,6460.7,1.67,-3.9,0,258.4,331.1,Always on,Offcycle,TimeSchedule,"Cooler Defrost Sch,",Cooler Drip-Down Sch,0,0,2.27,133.8,0.203,21.5,2.27,3.3,2.1,0.203,Walk-in Door Sch,StripCurtain