openstudio-standards 0.7.1 → 0.8.0.rc2

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 (363) 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 +22 -21
  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.CentralAirSourceHeatPump.rb +1 -1
  34. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Fan.rb +0 -7
  35. data/lib/openstudio-standards/prototypes/common/objects/Prototype.HeatExchangerAirToAirSensibleAndLatent.rb +36 -18
  36. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.hvac.rb +1 -1
  37. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +121 -239
  38. data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +179 -151
  39. data/lib/openstudio-standards/prototypes/common/objects/Prototype.refrigeration.rb +0 -466
  40. data/lib/openstudio-standards/prototypes/common/objects/Prototype.utilities.rb +18 -2
  41. data/lib/openstudio-standards/refrigeration/create_case.rb +125 -0
  42. data/lib/openstudio-standards/refrigeration/create_compressor.rb +78 -0
  43. data/lib/openstudio-standards/refrigeration/create_compressor_rack.rb +48 -0
  44. data/lib/openstudio-standards/refrigeration/create_refrigeration_system.rb +74 -0
  45. data/lib/openstudio-standards/refrigeration/create_typical_refrigeration.rb +161 -0
  46. data/lib/openstudio-standards/refrigeration/create_walkin.rb +116 -0
  47. data/lib/openstudio-standards/refrigeration/data/refrigerated_cases.csv +31 -0
  48. data/lib/openstudio-standards/refrigeration/data/refrigerated_walkins.csv +76 -0
  49. data/lib/openstudio-standards/refrigeration/data/refrigeration_compressors.csv +13 -0
  50. data/lib/openstudio-standards/refrigeration/data/typical_refrigerated_cases.csv +17 -0
  51. data/lib/openstudio-standards/refrigeration/data/typical_refrigerated_walkins.csv +53 -0
  52. data/lib/openstudio-standards/refrigeration/information.rb +130 -0
  53. data/lib/openstudio-standards/schedules/parametric.rb +1 -1
  54. data/lib/openstudio-standards/service_water_heating/create_typical.rb +299 -0
  55. data/lib/openstudio-standards/service_water_heating/create_water_heating_loop.rb +16 -14
  56. data/lib/openstudio-standards/service_water_heating/data/convert_data.rb +119 -0
  57. data/lib/openstudio-standards/service_water_heating/data/typical_water_use_equipment.csv +54 -0
  58. data/lib/openstudio-standards/service_water_heating/data/typical_water_use_equipment.json +810 -0
  59. data/lib/openstudio-standards/service_water_heating/information.rb +69 -0
  60. data/lib/openstudio-standards/sql_file/fenestration.rb +1 -1
  61. data/lib/openstudio-standards/standards/Standards.AirConditionerVariableRefrigerantFlow.rb +154 -0
  62. data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +35 -12
  63. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +110 -61
  64. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +128 -29
  65. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +103 -38
  66. data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +1 -1
  67. data/lib/openstudio-standards/standards/Standards.CoilDX.rb +106 -5
  68. data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +8 -8
  69. data/lib/openstudio-standards/standards/Standards.CoolingTower.rb +44 -17
  70. data/lib/openstudio-standards/standards/Standards.Fan.rb +32 -21
  71. data/lib/openstudio-standards/standards/Standards.FluidCooler.rb +45 -18
  72. data/lib/openstudio-standards/standards/Standards.HeatExchangerSensLat.rb +14 -9
  73. data/lib/openstudio-standards/standards/Standards.Model.rb +294 -76
  74. data/lib/openstudio-standards/standards/Standards.Motor.rb +66 -0
  75. data/lib/openstudio-standards/standards/Standards.PlanarSurface.rb +2 -1
  76. data/lib/openstudio-standards/standards/Standards.Pump.rb +34 -20
  77. data/lib/openstudio-standards/standards/Standards.ServiceWaterHeating.rb +0 -353
  78. data/lib/openstudio-standards/standards/Standards.Space.rb +3 -107
  79. data/lib/openstudio-standards/standards/Standards.SpaceType.rb +2 -57
  80. data/lib/openstudio-standards/standards/Standards.Surface.rb +11 -3
  81. data/lib/openstudio-standards/standards/Standards.ThermalZone.rb +1 -120
  82. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.computer_room_acs.json +142 -0
  83. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.economizers.json +1006 -596
  84. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.energy_recovery.json +724 -0
  85. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ext_ltg.json +1258 -163
  86. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.motors.json +1070 -140
  87. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +33 -3374
  88. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.unitary_acs.json +1400 -340
  89. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.vrfs.json +769 -0
  90. 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
  91. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.computer_room_acs.json +142 -0
  92. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.economizers.json +1006 -596
  93. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.energy_recovery.json +724 -0
  94. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ext_ltg.json +1258 -163
  95. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.motors.json +1070 -140
  96. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +15 -3343
  97. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.unitary_acs.json +1840 -372
  98. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.vrfs.json +769 -0
  99. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirLoopHVAC.rb +20 -10
  100. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Space.rb +0 -9
  101. 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
  102. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.computer_room_acs.json +142 -0
  103. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.economizers.json +1006 -628
  104. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.energy_recovery.json +718 -712
  105. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ext_ltg.json +1438 -163
  106. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.motors.json +2552 -182
  107. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +14 -3368
  108. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.unitary_acs.json +2348 -352
  109. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.vrfs.json +769 -0
  110. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirLoopHVAC.rb +47 -61
  111. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Model.rb +6 -0
  112. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Motor.rb +11 -0
  113. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Space.rb +0 -9
  114. 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
  115. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.computer_room_acs.json +142 -0
  116. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.economizers.json +1006 -628
  117. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.energy_recovery.json +1358 -1346
  118. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ext_ltg.json +1438 -163
  119. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.motors.json +1359 -189
  120. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +19 -3451
  121. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.unitary_acs.json +2176 -616
  122. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.vrfs.json +616 -0
  123. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirLoopHVAC.rb +47 -61
  124. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.rb +9 -0
  125. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Motor.rb +11 -0
  126. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Space.rb +0 -9
  127. 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
  128. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.computer_room_acs.json +142 -0
  129. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.economizers.json +1006 -628
  130. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.energy_recovery.json +1188 -1424
  131. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.ext_ltg.json +1498 -163
  132. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.motors.json +1769 -189
  133. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.spc_typ.json +15 -3422
  134. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.unitary_acs.json +1807 -408
  135. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.vrfs.json +1024 -0
  136. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +70 -87
  137. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.rb +9 -0
  138. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Motor.rb +11 -0
  139. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Space.rb +0 -9
  140. 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
  141. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.computer_room_acs.json +142 -0
  142. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.economizers.json +1006 -628
  143. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.energy_recovery.json +2806 -3296
  144. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.ext_ltg.json +1558 -163
  145. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.motors.json +1759 -189
  146. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.spc_typ.json +16 -3448
  147. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.unitary_acs.json +2758 -422
  148. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.vrfs.json +684 -0
  149. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.schedules.json +14 -3318
  150. 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
  151. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.chillers.json +1 -1
  152. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.economizers.json +953 -207
  153. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.energy_recovery.json +724 -0
  154. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.ext_ltg.json +5 -5
  155. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.spc_typ.json +11 -2858
  156. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.AirConditionerVariableRefrigerantFlow.rb +13 -0
  157. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.Model.rb +0 -18
  158. 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
  159. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.chillers.json +0 -51
  160. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.economizers.json +953 -207
  161. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.energy_recovery.json +724 -0
  162. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.ext_ltg.json +5 -5
  163. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.spc_typ.json +9 -2830
  164. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.AirConditionerVariableRefrigerantFlow.rb +13 -0
  165. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.Model.rb +0 -18
  166. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.economizers.json +1006 -564
  167. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.energy_recovery.json +1264 -0
  168. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.ext_ltg.json +5 -5
  169. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.spc_typ.json +0 -1079
  170. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirLoopHVAC.rb +132 -288
  171. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.HeatExchangerSensLat.rb +44 -20
  172. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.Model.rb +11 -0
  173. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.Space.rb +0 -8
  174. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.economizers.json +1006 -564
  175. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.energy_recovery.json +1264 -0
  176. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.ext_ltg.json +5 -5
  177. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.spc_typ.json +0 -1079
  178. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirLoopHVAC.rb +137 -288
  179. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.HeatExchangerSensLat.rb +44 -20
  180. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.rb +11 -0
  181. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Space.rb +0 -9
  182. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.AirLoopHVAC.rb +12 -10
  183. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXSingleSpeed.rb +8 -6
  184. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXTwoSpeed.rb +8 -6
  185. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilDX.rb +9 -3
  186. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Fan.rb +6 -40
  187. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Model.rb +30 -337
  188. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Space.rb +4 -5
  189. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.SpaceType.rb +1 -2
  190. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.rb +56 -3
  191. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019.Model.rb +80 -0
  192. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019.rb +0 -10
  193. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019_WaterHeaterMixed.rb +35 -0
  194. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.economizers.json +550 -0
  195. 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
  196. 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
  197. 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
  198. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.motors.json +225 -245
  199. 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
  200. 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
  201. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_enums.rb +19 -3
  202. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_airloop_hvac.json +185 -0
  203. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_airloop_hvac_doas.json +127 -0
  204. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_building.json +121 -0
  205. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_design_specification_outdoor_air.json +49 -0
  206. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_electric_equipment.json +113 -0
  207. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_exterior_lights.json +120 -0
  208. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_space.json +388 -0
  209. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_spacetype.json +367 -0
  210. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_thermal_zone.json +56 -0
  211. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_wateruse_connections.json +37 -0
  212. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_wateruse_equipment.json +69 -0
  213. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_json/userdata_wateruse_equipment_definition.json +37 -0
  214. data/lib/openstudio-standards/standards/cbes/cbes_pre_1978/data/cbes_pre_1978.ext_ltg.json +5 -5
  215. data/lib/openstudio-standards/standards/cbes/cbes_t24_1978/data/cbes_t24_1978.ext_ltg.json +5 -5
  216. data/lib/openstudio-standards/standards/cbes/cbes_t24_1992/data/cbes_t24_1992.ext_ltg.json +5 -5
  217. data/lib/openstudio-standards/standards/cbes/cbes_t24_2001/data/cbes_t24_2001.ext_ltg.json +5 -5
  218. data/lib/openstudio-standards/standards/cbes/cbes_t24_2005/data/cbes_t24_2005.ext_ltg.json +5 -5
  219. data/lib/openstudio-standards/standards/cbes/cbes_t24_2008/data/cbes_t24_2008.ext_ltg.json +5 -5
  220. data/lib/openstudio-standards/standards/deer/deer_1985/comstock_deer_1985/data/comstock_deer_1985.ext_ltg.json +5 -5
  221. data/lib/openstudio-standards/standards/deer/deer_1985/data/deer_1985.ext_ltg.json +5 -5
  222. data/lib/openstudio-standards/standards/deer/deer_1996/comstock_deer_1996/data/comstock_deer_1996.ext_ltg.json +5 -5
  223. data/lib/openstudio-standards/standards/deer/deer_1996/data/deer_1996.ext_ltg.json +5 -5
  224. data/lib/openstudio-standards/standards/deer/deer_2003/comstock_deer_2003/data/comstock_deer_2003.ext_ltg.json +5 -5
  225. data/lib/openstudio-standards/standards/deer/deer_2003/data/deer_2003.ext_ltg.json +5 -5
  226. data/lib/openstudio-standards/standards/deer/deer_2007/comstock_deer_2007/data/comstock_deer_2007.ext_ltg.json +5 -5
  227. data/lib/openstudio-standards/standards/deer/deer_2007/data/deer_2007.ext_ltg.json +5 -5
  228. data/lib/openstudio-standards/standards/deer/deer_2011/comstock_deer_2011/data/comstock_deer_2011.ext_ltg.json +5 -5
  229. data/lib/openstudio-standards/standards/deer/deer_2011/data/deer_2011.ext_ltg.json +5 -5
  230. data/lib/openstudio-standards/standards/deer/deer_2014/comstock_deer_2014/data/comstock_deer_2014.ext_ltg.json +5 -5
  231. data/lib/openstudio-standards/standards/deer/deer_2014/data/deer_2014.ext_ltg.json +5 -5
  232. data/lib/openstudio-standards/standards/deer/deer_2015/comstock_deer_2015/data/comstock_deer_2015.ext_ltg.json +5 -5
  233. data/lib/openstudio-standards/standards/deer/deer_2015/data/deer_2015.ext_ltg.json +5 -5
  234. data/lib/openstudio-standards/standards/deer/deer_2017/comstock_deer_2017/data/comstock_deer_2017.ext_ltg.json +5 -5
  235. data/lib/openstudio-standards/standards/deer/deer_2017/data/deer_2017.ext_ltg.json +5 -5
  236. data/lib/openstudio-standards/standards/deer/deer_2020/comstock_deer_2020/data/comstock_deer_2020.ext_ltg.json +5 -5
  237. data/lib/openstudio-standards/standards/deer/deer_2020/data/deer_2020.ext_ltg.json +5 -5
  238. data/lib/openstudio-standards/standards/deer/deer_2025/comstock_deer_2025/data/comstock_deer_2025.ext_ltg.json +5 -5
  239. data/lib/openstudio-standards/standards/deer/deer_2025/data/deer_2025.ext_ltg.json +5 -5
  240. data/lib/openstudio-standards/standards/deer/deer_2030/comstock_deer_2030/data/comstock_deer_2030.ext_ltg.json +5 -5
  241. data/lib/openstudio-standards/standards/deer/deer_2030/data/deer_2030.ext_ltg.json +5 -5
  242. data/lib/openstudio-standards/standards/deer/deer_2035/comstock_deer_2035/data/comstock_deer_2035.ext_ltg.json +5 -5
  243. data/lib/openstudio-standards/standards/deer/deer_2035/data/deer_2035.ext_ltg.json +5 -5
  244. data/lib/openstudio-standards/standards/deer/deer_2040/comstock_deer_2040/data/comstock_deer_2040.ext_ltg.json +5 -5
  245. data/lib/openstudio-standards/standards/deer/deer_2040/data/deer_2040.ext_ltg.json +5 -5
  246. data/lib/openstudio-standards/standards/deer/deer_2045/comstock_deer_2045/data/comstock_deer_2045.ext_ltg.json +5 -5
  247. data/lib/openstudio-standards/standards/deer/deer_2045/data/deer_2045.ext_ltg.json +5 -5
  248. data/lib/openstudio-standards/standards/deer/deer_2050/comstock_deer_2050/data/comstock_deer_2050.ext_ltg.json +5 -5
  249. data/lib/openstudio-standards/standards/deer/deer_2050/data/deer_2050.ext_ltg.json +5 -5
  250. data/lib/openstudio-standards/standards/deer/deer_2055/comstock_deer_2055/data/comstock_deer_2055.ext_ltg.json +5 -5
  251. data/lib/openstudio-standards/standards/deer/deer_2055/data/deer_2055.ext_ltg.json +5 -5
  252. data/lib/openstudio-standards/standards/deer/deer_2060/comstock_deer_2060/data/comstock_deer_2060.ext_ltg.json +5 -5
  253. data/lib/openstudio-standards/standards/deer/deer_2060/data/deer_2060.ext_ltg.json +5 -5
  254. data/lib/openstudio-standards/standards/deer/deer_2065/comstock_deer_2065/data/comstock_deer_2065.ext_ltg.json +5 -5
  255. data/lib/openstudio-standards/standards/deer/deer_2065/data/deer_2065.ext_ltg.json +5 -5
  256. data/lib/openstudio-standards/standards/deer/deer_2070/comstock_deer_2070/data/comstock_deer_2070.ext_ltg.json +5 -5
  257. data/lib/openstudio-standards/standards/deer/deer_2070/data/deer_2070.ext_ltg.json +5 -5
  258. data/lib/openstudio-standards/standards/deer/deer_2075/comstock_deer_2075/data/comstock_deer_2075.ext_ltg.json +5 -5
  259. data/lib/openstudio-standards/standards/deer/deer_2075/data/deer_2075.ext_ltg.json +5 -5
  260. data/lib/openstudio-standards/standards/deer/deer_pre_1975/comstock_deer_pre_1975/data/comstock_deer_pre_1975.ext_ltg.json +5 -5
  261. data/lib/openstudio-standards/standards/deer/deer_pre_1975/data/deer_pre_1975.ext_ltg.json +5 -5
  262. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/btap_pre1980.rb +10 -1
  263. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/data/unitary_acs.json +20 -20
  264. data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +379 -27
  265. data/lib/openstudio-standards/standards/necb/NECB2011/autozone.rb +1 -4
  266. data/lib/openstudio-standards/standards/necb/NECB2011/beps_compliance_path.rb +0 -1
  267. data/lib/openstudio-standards/standards/necb/NECB2011/data/fuel_type_sets.json +1 -1
  268. data/lib/openstudio-standards/standards/necb/NECB2011/data/unitary_acs.json +20 -20
  269. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +34 -22
  270. data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +76 -23
  271. data/lib/openstudio-standards/standards/necb/NECB2011/necb_shw_calculation.xlsx +0 -0
  272. data/lib/openstudio-standards/standards/necb/NECB2011/service_water_heating.rb +4 -5
  273. data/lib/openstudio-standards/standards/necb/NECB2011/system_fuels.rb +6 -2
  274. data/lib/openstudio-standards/standards/necb/NECB2015/data/unitary_acs.json +26 -24
  275. data/lib/openstudio-standards/standards/necb/NECB2015/hvac_systems.rb +2 -1
  276. data/lib/openstudio-standards/standards/necb/NECB2020/data/unitary_acs.json +38 -32
  277. data/lib/openstudio-standards/standards/necb/common/btap_data.rb +215 -18
  278. data/lib/openstudio-standards/standards/necb/common/btap_datapoint.rb +190 -15
  279. data/lib/openstudio-standards/standards/necb/common/national_carbon_price_sched_feb_2025.json +60 -0
  280. data/lib/openstudio-standards/standards/necb/common/utility_pricing_2025-02-20.csv +92 -0
  281. data/lib/openstudio-standards/utilities/ruleset_check.rb +204 -0
  282. data/lib/openstudio-standards/version.rb +1 -1
  283. data/lib/openstudio-standards/weather/information.rb +1 -1
  284. data/lib/openstudio-standards.rb +32 -12
  285. metadata +78 -80
  286. data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.refrigeration.rb +0 -13
  287. data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.refrigeration.rb +0 -13
  288. data/lib/openstudio-standards/prototypes/cbes/cbes.refrigeration.rb +0 -13
  289. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.exterior_lights.rb +0 -432
  290. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.Space.rb +0 -11
  291. 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
  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_cases.json +0 -1456
  293. 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
  294. 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
  295. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.Space.rb +0 -11
  296. 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
  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_cases.json +0 -1456
  298. 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
  299. 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
  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_cases.json +0 -1456
  301. 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
  302. 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
  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_cases.json +0 -1456
  304. 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
  305. 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
  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_cases.json +0 -763
  307. 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
  308. 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
  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_cases.json +0 -763
  310. 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
  311. 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
  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_cases.json +0 -1456
  313. 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
  314. 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
  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_cases.json +0 -1456
  316. 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
  317. 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
  318. data/lib/openstudio-standards/standards/cbes/cbes.Space.rb +0 -11
  319. data/lib/openstudio-standards/standards/cbes/cbes_t24_2005/cbes_t24_2005.Space.rb +0 -11
  320. data/lib/openstudio-standards/standards/cbes/cbes_t24_2008/cbes_t24_2008.Space.rb +0 -11
  321. data/lib/openstudio-standards/standards/deer/deer.Space.rb +0 -20
  322. data/lib/openstudio-standards/standards/deer/deer_1985/data/deer_1985.ref_cases.json +0 -1456
  323. data/lib/openstudio-standards/standards/deer/deer_1985/data/deer_1985.ref_lnup.json +0 -562
  324. data/lib/openstudio-standards/standards/deer/deer_1996/data/deer_1996.ref_cases.json +0 -1456
  325. data/lib/openstudio-standards/standards/deer/deer_1996/data/deer_1996.ref_lnup.json +0 -562
  326. data/lib/openstudio-standards/standards/deer/deer_2003/data/deer_2003.ref_cases.json +0 -1456
  327. data/lib/openstudio-standards/standards/deer/deer_2003/data/deer_2003.ref_lnup.json +0 -562
  328. data/lib/openstudio-standards/standards/deer/deer_2007/data/deer_2007.ref_cases.json +0 -1456
  329. data/lib/openstudio-standards/standards/deer/deer_2007/data/deer_2007.ref_lnup.json +0 -562
  330. data/lib/openstudio-standards/standards/deer/deer_2011/data/deer_2011.ref_cases.json +0 -1456
  331. data/lib/openstudio-standards/standards/deer/deer_2011/data/deer_2011.ref_lnup.json +0 -562
  332. data/lib/openstudio-standards/standards/deer/deer_2014/data/deer_2014.ref_cases.json +0 -1456
  333. data/lib/openstudio-standards/standards/deer/deer_2014/data/deer_2014.ref_lnup.json +0 -562
  334. data/lib/openstudio-standards/standards/deer/deer_2015/data/deer_2015.ref_cases.json +0 -1456
  335. data/lib/openstudio-standards/standards/deer/deer_2015/data/deer_2015.ref_lnup.json +0 -562
  336. data/lib/openstudio-standards/standards/deer/deer_2017/data/deer_2017.ref_cases.json +0 -1456
  337. data/lib/openstudio-standards/standards/deer/deer_2017/data/deer_2017.ref_lnup.json +0 -562
  338. data/lib/openstudio-standards/standards/deer/deer_2020/data/deer_2020.ref_cases.json +0 -1456
  339. data/lib/openstudio-standards/standards/deer/deer_2020/data/deer_2020.ref_lnup.json +0 -562
  340. data/lib/openstudio-standards/standards/deer/deer_2025/data/deer_2025.ref_cases.json +0 -1456
  341. data/lib/openstudio-standards/standards/deer/deer_2025/data/deer_2025.ref_lnup.json +0 -562
  342. data/lib/openstudio-standards/standards/deer/deer_2030/data/deer_2030.ref_cases.json +0 -1456
  343. data/lib/openstudio-standards/standards/deer/deer_2030/data/deer_2030.ref_lnup.json +0 -562
  344. data/lib/openstudio-standards/standards/deer/deer_2035/data/deer_2035.ref_cases.json +0 -1456
  345. data/lib/openstudio-standards/standards/deer/deer_2035/data/deer_2035.ref_lnup.json +0 -562
  346. data/lib/openstudio-standards/standards/deer/deer_2040/data/deer_2040.ref_cases.json +0 -1456
  347. data/lib/openstudio-standards/standards/deer/deer_2040/data/deer_2040.ref_lnup.json +0 -562
  348. data/lib/openstudio-standards/standards/deer/deer_2045/data/deer_2045.ref_cases.json +0 -1456
  349. data/lib/openstudio-standards/standards/deer/deer_2045/data/deer_2045.ref_lnup.json +0 -562
  350. data/lib/openstudio-standards/standards/deer/deer_2050/data/deer_2050.ref_cases.json +0 -1456
  351. data/lib/openstudio-standards/standards/deer/deer_2050/data/deer_2050.ref_lnup.json +0 -562
  352. data/lib/openstudio-standards/standards/deer/deer_2055/data/deer_2055.ref_cases.json +0 -1456
  353. data/lib/openstudio-standards/standards/deer/deer_2055/data/deer_2055.ref_lnup.json +0 -562
  354. data/lib/openstudio-standards/standards/deer/deer_2060/data/deer_2060.ref_cases.json +0 -1456
  355. data/lib/openstudio-standards/standards/deer/deer_2060/data/deer_2060.ref_lnup.json +0 -562
  356. data/lib/openstudio-standards/standards/deer/deer_2065/data/deer_2065.ref_cases.json +0 -1456
  357. data/lib/openstudio-standards/standards/deer/deer_2065/data/deer_2065.ref_lnup.json +0 -562
  358. data/lib/openstudio-standards/standards/deer/deer_2070/data/deer_2070.ref_cases.json +0 -1456
  359. data/lib/openstudio-standards/standards/deer/deer_2070/data/deer_2070.ref_lnup.json +0 -562
  360. data/lib/openstudio-standards/standards/deer/deer_2075/data/deer_2075.ref_cases.json +0 -1456
  361. data/lib/openstudio-standards/standards/deer/deer_2075/data/deer_2075.ref_lnup.json +0 -562
  362. data/lib/openstudio-standards/standards/deer/deer_pre_1975/data/deer_pre_1975.ref_cases.json +0 -1456
  363. 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