openstudio-standards 0.8.5 → 0.8.7

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 (174) hide show
  1. checksums.yaml +4 -4
  2. data/data/standards/test_performance_expected_dd_results.csv +90 -90
  3. data/lib/openstudio-standards/btap/activity.rb +858 -61
  4. data/lib/openstudio-standards/btap/attributes.rb +297 -103
  5. data/lib/openstudio-standards/btap/bridging.rb +1335 -593
  6. data/lib/openstudio-standards/btap/btap.rb +60 -181
  7. data/lib/openstudio-standards/btap/carbon/btap_carbon.rb +199 -142
  8. data/lib/openstudio-standards/btap/common/constructions.json +1275 -0
  9. data/lib/openstudio-standards/btap/common/costs.csv +1969 -0
  10. data/lib/openstudio-standards/btap/common/costs_local_factors.csv +2315 -0
  11. data/lib/openstudio-standards/btap/common/materials_glazing.csv +61 -0
  12. data/lib/openstudio-standards/btap/{common_resources → common}/materials_hvac.csv +1685 -1685
  13. data/lib/openstudio-standards/btap/{common_resources → common}/materials_lighting.csv +266 -266
  14. data/lib/openstudio-standards/btap/common/materials_opaque.csv +214 -0
  15. data/lib/openstudio-standards/btap/common/necb_building_types.csv +35 -0
  16. data/lib/openstudio-standards/btap/common/necb_space_types.csv +110 -0
  17. data/lib/openstudio-standards/btap/common/thermal_bridging.csv +73 -0
  18. data/lib/openstudio-standards/btap/costing/btap_costing.rb +346 -429
  19. data/lib/openstudio-standards/btap/costing/database.rb +104 -0
  20. data/lib/openstudio-standards/btap/costing/daylighting_sensor_control_costing.rb +356 -344
  21. data/lib/openstudio-standards/btap/costing/dcv_costing.rb +282 -296
  22. data/lib/openstudio-standards/btap/costing/envelope_costing.rb +179 -192
  23. data/lib/openstudio-standards/btap/costing/heating_cooling_costing.rb +2477 -2316
  24. data/lib/openstudio-standards/btap/costing/led_lighting_costing.rb +127 -142
  25. data/lib/openstudio-standards/btap/costing/lighting_costing.rb +216 -198
  26. data/lib/openstudio-standards/btap/costing/nv_costing.rb +522 -523
  27. data/lib/openstudio-standards/btap/costing/pv_ground_costing.rb +649 -649
  28. data/lib/openstudio-standards/btap/costing/shw_costing.rb +626 -625
  29. data/lib/openstudio-standards/btap/costing/thermal_bridging_costing.rb +72 -0
  30. data/lib/openstudio-standards/btap/costing/ventilation_costing.rb +2363 -2361
  31. data/lib/openstudio-standards/btap/deprecated.rb +1033 -0
  32. data/lib/openstudio-standards/btap/envelope.rb +313 -572
  33. data/lib/openstudio-standards/btap/fileio.rb +152 -1070
  34. data/lib/openstudio-standards/btap/geometry.rb +486 -766
  35. data/lib/openstudio-standards/btap/linear_regression.rb +130 -0
  36. data/lib/openstudio-standards/btap/paths.rb +46 -0
  37. data/lib/openstudio-standards/btap/qaqc/analysis.rb +163 -0
  38. data/lib/openstudio-standards/btap/qaqc/data.rb +2293 -0
  39. data/lib/openstudio-standards/btap/qaqc/datapoint.rb +641 -0
  40. data/lib/openstudio-standards/btap/schedules.rb +11 -611
  41. data/lib/openstudio-standards/btap/structure.rb +574 -189
  42. data/lib/openstudio-standards/constructions/materials/information.rb +1 -1
  43. data/lib/openstudio-standards/create_typical/create_typical.rb +1 -1
  44. data/lib/openstudio-standards/exterior_lighting/create.rb +135 -85
  45. data/lib/openstudio-standards/exterior_lighting/data/typical_exterior_lighting.json +20 -0
  46. data/lib/openstudio-standards/exterior_lighting/information.rb +23 -2
  47. data/lib/openstudio-standards/geometry/create.rb +7 -3
  48. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.rb +3 -2
  49. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.rb +3 -2
  50. data/lib/openstudio-standards/prototypes/common/data/thermostat_schedule_lookup.json +84 -84
  51. data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +4 -4
  52. data/lib/openstudio-standards/refrigeration/create_walkin.rb +45 -5
  53. data/lib/openstudio-standards/refrigeration/data/refrigerated_walkins.csv +75 -75
  54. data/lib/openstudio-standards/schedules/parametric.rb +6 -0
  55. data/lib/openstudio-standards/service_water_heating/create_typical.rb +10 -3
  56. data/lib/openstudio-standards/service_water_heating/create_water_heating_loop.rb +30 -14
  57. data/lib/openstudio-standards/service_water_heating/information.rb +4 -1
  58. data/lib/openstudio-standards/sql_file/unmet_hours.rb +2 -1
  59. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +3 -1
  60. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb +3 -1
  61. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.boilers.json +12 -0
  62. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_properties.json +18432 -3072
  63. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.boilers.json +26 -0
  64. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_properties.json +8532 -1422
  65. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.boilers.json +26 -0
  66. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_properties.json +8532 -1422
  67. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.boilers.json +16 -0
  68. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.computer_room_acs.json +30 -30
  69. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_properties.json +7560 -1260
  70. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.PumpVariableSpeed.rb +1 -2
  71. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.boilers.json +16 -0
  72. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.construction_properties.json +7560 -1260
  73. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +3 -3
  74. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.PumpVariableSpeed.rb +1 -2
  75. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.boilers.json +22 -0
  76. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.construction_properties.json +7236 -1206
  77. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.furnaces.json +223 -19
  78. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.schedules.json +37 -1
  79. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.boilers.json +3 -0
  80. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.construction_properties.json +6900 -1150
  81. data/lib/openstudio-standards/standards/cbes/data/cbes.schedules.json +1 -1
  82. data/lib/openstudio-standards/standards/deer/data/deer.schedules.json +1 -1
  83. data/lib/openstudio-standards/standards/necb/BTAP1980TO2010/data/surface_thermal_transmittance.json +76 -40
  84. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/data/surface_thermal_transmittance.json +76 -40
  85. data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +6 -4
  86. data/lib/openstudio-standards/standards/necb/NECB2011/NECB2011_QAQC.json +2988 -0
  87. data/lib/openstudio-standards/standards/necb/NECB2011/autozone.rb +25 -3
  88. data/lib/openstudio-standards/standards/necb/NECB2011/building_envelope.rb +672 -534
  89. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/Hospital.osm +1791 -1792
  90. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/LEEPMultiTower.osm +7 -1
  91. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/LEEPTownHouse.osm +7 -1
  92. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/LargeHotel.osm +5 -6
  93. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/LargeOffice.osm +8 -9
  94. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/NorthernEducation.osm +10 -4
  95. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/NorthernHealthCare.osm +14 -15
  96. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/Outpatient.osm +7 -1
  97. data/lib/openstudio-standards/standards/necb/NECB2011/data/surface_thermal_transmittance.json +76 -40
  98. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +14 -6
  99. data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +542 -130
  100. data/lib/openstudio-standards/standards/necb/NECB2011/qaqc/necb_qaqc.rb +30 -63
  101. data/lib/openstudio-standards/standards/necb/NECB2011/service_water_heating.rb +7 -2
  102. data/lib/openstudio-standards/standards/necb/NECB2015/data/surface_thermal_transmittance.json +90 -0
  103. data/lib/openstudio-standards/standards/necb/NECB2015/necb_2015.rb +8 -6
  104. data/lib/openstudio-standards/standards/necb/NECB2017/data/surface_thermal_transmittance.json +76 -40
  105. data/lib/openstudio-standards/standards/necb/NECB2017/necb_2017.rb +2 -1
  106. data/lib/openstudio-standards/standards/necb/NECB2020/building_envelope.rb +0 -117
  107. data/lib/openstudio-standards/standards/necb/NECB2020/data/surface_thermal_transmittance.json +76 -45
  108. data/lib/openstudio-standards/standards/necb/NECB2020/necb_2020.rb +218 -0
  109. data/lib/openstudio-standards/standards/necb/common/construction_defaults.osm +12 -7
  110. data/lib/openstudio-standards/standards/standard.rb +1 -1
  111. data/lib/openstudio-standards/version.rb +1 -1
  112. data/lib/openstudio-standards.rb +9 -4
  113. metadata +59 -66
  114. data/data/inventory/thermal_bridging.csv +0 -90
  115. data/data/standards/OpenStudio_Standards-ashrae_90_1-ALL-comstock(space_types).xlsx +0 -0
  116. data/data/standards/openstudio_standards_duplicates_log.csv +0 -7962
  117. data/lib/openstudio-standards/btap/NECB_building_types.csv +0 -35
  118. data/lib/openstudio-standards/btap/NECB_space_types.csv +0 -109
  119. data/lib/openstudio-standards/btap/WeatherData1.json +0 -2110
  120. data/lib/openstudio-standards/btap/WeatherData1.xlsx +0 -0
  121. data/lib/openstudio-standards/btap/btap_result.rb +0 -1144
  122. data/lib/openstudio-standards/btap/btap_test_helper.rb +0 -86
  123. data/lib/openstudio-standards/btap/common_paths.rb +0 -81
  124. data/lib/openstudio-standards/btap/common_resources/ConstructionProperties.csv +0 -52
  125. data/lib/openstudio-standards/btap/common_resources/Constructions.csv +0 -37
  126. data/lib/openstudio-standards/btap/common_resources/construction_sets.csv +0 -1270
  127. data/lib/openstudio-standards/btap/common_resources/constructions_glazing.csv +0 -121
  128. data/lib/openstudio-standards/btap/common_resources/constructions_opaque.csv +0 -2256
  129. data/lib/openstudio-standards/btap/common_resources/costs.csv +0 -1897
  130. data/lib/openstudio-standards/btap/common_resources/costs_local_factors.csv +0 -2315
  131. data/lib/openstudio-standards/btap/common_resources/materials_glazing.csv +0 -35
  132. data/lib/openstudio-standards/btap/common_resources/materials_opaque.csv +0 -164
  133. data/lib/openstudio-standards/btap/costing/btap_measure_helper.rb +0 -359
  134. data/lib/openstudio-standards/btap/costing/btap_workflow.rb +0 -117
  135. data/lib/openstudio-standards/btap/costing/copy_test_results_files_to_expected_results.rb +0 -11
  136. data/lib/openstudio-standards/btap/costing/cost_building_from_file.rb +0 -136
  137. data/lib/openstudio-standards/btap/costing/costing_database_wrapper.rb +0 -173
  138. data/lib/openstudio-standards/btap/costing/dummy.epw +0 -8768
  139. data/lib/openstudio-standards/btap/costing/dummy.osm +0 -5320
  140. data/lib/openstudio-standards/btap/costing/neb_end_use_prices.csv +0 -42
  141. data/lib/openstudio-standards/btap/costing/necb_2011_spacetype_info.csv +0 -225
  142. data/lib/openstudio-standards/btap/costing/necb_reference_runs.csv +0 -28705
  143. data/lib/openstudio-standards/btap/costing/parallel_tests.rb +0 -92
  144. data/lib/openstudio-standards/btap/costing/test_list.txt +0 -15
  145. data/lib/openstudio-standards/btap/costing/test_run_all_test_locally.rb +0 -27
  146. data/lib/openstudio-standards/btap/costing/test_run_costing_tests.rb +0 -80
  147. data/lib/openstudio-standards/btap/necb_2011_spacetype_info.csv +0 -225
  148. data/lib/openstudio-standards/btap/utilities/Add_template_field_to_json.rb +0 -22
  149. data/lib/openstudio-standards/btap/utilities/convert_surfaces_to_adiabatic_necb_8426.rb +0 -204
  150. data/lib/openstudio-standards/btap/utilities/generate_space_types.rb +0 -8
  151. data/lib/openstudio-standards/btap/utilities/necb_to_epw_map.rb +0 -50
  152. data/lib/openstudio-standards/btap/utilities/os_sim_extract.rb +0 -48
  153. data/lib/openstudio-standards/btap/utilities/rename_surfaces.rb +0 -24
  154. data/lib/openstudio-standards/btap/utilities/round_surf_coords.rb +0 -32
  155. data/lib/openstudio-standards/btap/utilities/sched_create.rb +0 -145
  156. data/lib/openstudio-standards/btap/utilities/set_mult_to_adiabatic.rb +0 -53
  157. data/lib/openstudio-standards/btap/utilities/space_type.rb +0 -78
  158. data/lib/openstudio-standards/btap/utilities/weatherData1_xlsx_to_json.rb +0 -56
  159. data/lib/openstudio-standards/btap/vintagizer.rb +0 -161
  160. data/lib/openstudio-standards/btap/visualization.rb +0 -72
  161. data/lib/openstudio-standards/standards/necb/NECB2011/data/necb_2011_spacetype_info.csv +0 -225
  162. data/lib/openstudio-standards/standards/necb/common/btap_analysis.rb +0 -79
  163. data/lib/openstudio-standards/standards/necb/common/btap_data.rb +0 -2656
  164. data/lib/openstudio-standards/standards/necb/common/btap_datapoint.rb +0 -653
  165. data/lib/openstudio-standards/standards/necb/common/necb_reference_runs.csv +0 -28705
  166. data/lib/openstudio-standards/standards/necb/common/utility_pricing_2025-02-20.csv +0 -92
  167. /data/lib/openstudio-standards/btap/{common_resources → common}/carbon_frame.csv +0 -0
  168. /data/lib/openstudio-standards/btap/{common_resources → common}/carbon_glazing.csv +0 -0
  169. /data/lib/openstudio-standards/btap/{common_resources → common}/carbon_opaque.csv +0 -0
  170. /data/lib/openstudio-standards/btap/{common_resources → common}/hvac_vent_ahu.csv +0 -0
  171. /data/lib/openstudio-standards/btap/{common_resources → common}/lighting.csv +0 -0
  172. /data/lib/openstudio-standards/btap/{common_resources → common}/lighting_sets.csv +0 -0
  173. /data/lib/openstudio-standards/btap/{common_resources → common}/locations.csv +0 -0
  174. /data/lib/openstudio-standards/btap/{costing → common}/mech_sizing.json +0 -0
@@ -116,8 +116,8 @@
116
116
  {
117
117
  "space_type": "dining",
118
118
  "standards_building_type": "Hospital",
119
- "heating_setpoint_schedule": "Hospital HTGSETP_SCH",
120
- "cooling_setpoint_schedule": "Hospital CLGSETP_SCH"
119
+ "heating_setpoint_schedule": "Hospital Bldg HtgSetp",
120
+ "cooling_setpoint_schedule": "Hospital Bldg ClgSetp"
121
121
  },
122
122
  {
123
123
  "space_type": "dining",
@@ -152,8 +152,8 @@
152
152
  {
153
153
  "space_type": "dining",
154
154
  "standards_building_type": "Office",
155
- "heating_setpoint_schedule": "OfficeLarge HTGSETP_SCH_YES_OPTIMUM",
156
- "cooling_setpoint_schedule": "OfficeLarge CLGSETP_SCH_NO_SETBACK"
155
+ "heating_setpoint_schedule": "Office HtgSetp_Enduse",
156
+ "cooling_setpoint_schedule": "Office ClgSetp_Enduse"
157
157
  },
158
158
  {
159
159
  "space_type": "dining",
@@ -188,8 +188,8 @@
188
188
  {
189
189
  "space_type": "dining",
190
190
  "standards_building_type": "SecondarySchool",
191
- "heating_setpoint_schedule": "SchoolSecondary HTGSETP_SCH_PSZ_AC",
192
- "cooling_setpoint_schedule": "SchoolSecondary CLGSETP_SCH_NO_SETBACK"
191
+ "heating_setpoint_schedule": "SecondarySchool HtgSetp",
192
+ "cooling_setpoint_schedule": "SecondarySchool ClgSetp"
193
193
  },
194
194
  {
195
195
  "space_type": "dining",
@@ -302,8 +302,8 @@
302
302
  {
303
303
  "space_type": "storage",
304
304
  "standards_building_type": "Office",
305
- "heating_setpoint_schedule": "OfficeSmall HTGSETP_SCH_NO_OPTIMUM",
306
- "cooling_setpoint_schedule": "OfficeSmall CLGSETP_SCH_NO_OPTIMUM"
305
+ "heating_setpoint_schedule": "Office HtgSetp_Enduse",
306
+ "cooling_setpoint_schedule": "Office ClgSetp_Enduse"
307
307
  },
308
308
  {
309
309
  "space_type": "storage",
@@ -380,8 +380,8 @@
380
380
  {
381
381
  "space_type": "storage",
382
382
  "standards_building_type": "Warehouse",
383
- "heating_setpoint_schedule": "Warehouse Bulk Storage Heating Setpoint Schedule",
384
- "cooling_setpoint_schedule": "Warehouse ClgSetp BulkStorage"
383
+ "heating_setpoint_schedule": "Warehouse HtgSetp FineStorage",
384
+ "cooling_setpoint_schedule": "Warehouse ClgSetp FineStorage"
385
385
  },
386
386
  {
387
387
  "space_type": "lobby",
@@ -410,8 +410,8 @@
410
410
  {
411
411
  "space_type": "lobby",
412
412
  "standards_building_type": "Hospital",
413
- "heating_setpoint_schedule": "Hospital HTGSETP_SCH",
414
- "cooling_setpoint_schedule": "Hospital CLGSETP_SCH"
413
+ "heating_setpoint_schedule": "Hospital Bldg HtgSetp",
414
+ "cooling_setpoint_schedule": "Hospital Bldg ClgSetp"
415
415
  },
416
416
  {
417
417
  "space_type": "lobby",
@@ -464,8 +464,8 @@
464
464
  {
465
465
  "space_type": "lobby",
466
466
  "standards_building_type": "Office",
467
- "heating_setpoint_schedule": "OfficeMedium HTGSETP_SCH_YES_OPTIMUM",
468
- "cooling_setpoint_schedule": "OfficeMedium CLGSETP_SCH_YES_OPTIMUM"
467
+ "heating_setpoint_schedule": "Office HtgSetp_Enduse",
468
+ "cooling_setpoint_schedule": "Office ClgSetp_Enduse"
469
469
  },
470
470
  {
471
471
  "space_type": "lobby",
@@ -500,8 +500,8 @@
500
500
  {
501
501
  "space_type": "lobby",
502
502
  "standards_building_type": "SecondarySchool",
503
- "heating_setpoint_schedule": "SchoolSecondary HTGSETP_SCH_YES_OPTIMUM",
504
- "cooling_setpoint_schedule": "SchoolSecondary CLGSETP_SCH_NO_SETBACK"
503
+ "heating_setpoint_schedule": "SecondarySchool HtgSetp",
504
+ "cooling_setpoint_schedule": "SecondarySchool ClgSetp"
505
505
  },
506
506
  {
507
507
  "space_type": "lobby",
@@ -620,8 +620,8 @@
620
620
  {
621
621
  "space_type": "restroom",
622
622
  "standards_building_type": "Office",
623
- "heating_setpoint_schedule": "OfficeMedium HTGSETP_SCH_YES_OPTIMUM",
624
- "cooling_setpoint_schedule": "OfficeMedium CLGSETP_SCH_YES_OPTIMUM"
623
+ "heating_setpoint_schedule": "Office HtgSetp_Enduse",
624
+ "cooling_setpoint_schedule": "Office ClgSetp_Enduse"
625
625
  },
626
626
  {
627
627
  "space_type": "restroom",
@@ -680,8 +680,8 @@
680
680
  {
681
681
  "space_type": "restroom",
682
682
  "standards_building_type": "SecondarySchool",
683
- "heating_setpoint_schedule": "SchoolSecondary HTGSETP_SCH_Setback",
684
- "cooling_setpoint_schedule": "SchoolSecondary CLGSETP_SCH_Setback"
683
+ "heating_setpoint_schedule": "SecondarySchool HtgSetp",
684
+ "cooling_setpoint_schedule": "SecondarySchool ClgSetp"
685
685
  },
686
686
  {
687
687
  "space_type": "restroom",
@@ -740,8 +740,8 @@
740
740
  {
741
741
  "space_type": "electrical/mechanical",
742
742
  "standards_building_type": "Hospital",
743
- "heating_setpoint_schedule": "Hospital HTGSETP_SCH",
744
- "cooling_setpoint_schedule": "Hospital CLGSETP_SCH"
743
+ "heating_setpoint_schedule": "Hospital Bldg HtgSetp",
744
+ "cooling_setpoint_schedule": "Hospital Bldg ClgSetp"
745
745
  },
746
746
  {
747
747
  "space_type": "electrical/mechanical",
@@ -788,8 +788,8 @@
788
788
  {
789
789
  "space_type": "electrical/mechanical",
790
790
  "standards_building_type": "Office",
791
- "heating_setpoint_schedule": "OfficeMedium HTGSETP_SCH_YES_OPTIMUM",
792
- "cooling_setpoint_schedule": "OfficeMedium CLGSETP_SCH_YES_OPTIMUM"
791
+ "heating_setpoint_schedule": "Office HtgSetp_Enduse",
792
+ "cooling_setpoint_schedule": "Office ClgSetp_Enduse"
793
793
  },
794
794
  {
795
795
  "space_type": "electrical/mechanical",
@@ -824,8 +824,8 @@
824
824
  {
825
825
  "space_type": "electrical/mechanical",
826
826
  "standards_building_type": "SecondarySchool",
827
- "heating_setpoint_schedule": "SchoolSecondary HTGSETP_SCH_Setback",
828
- "cooling_setpoint_schedule": "SchoolSecondary CLGSETP_SCH_Setback"
827
+ "heating_setpoint_schedule": "SecondarySchool HtgSetp",
828
+ "cooling_setpoint_schedule": "SecondarySchool ClgSetp"
829
829
  },
830
830
  {
831
831
  "space_type": "electrical/mechanical",
@@ -890,8 +890,8 @@
890
890
  {
891
891
  "space_type": "food preparation",
892
892
  "standards_building_type": "Hospital",
893
- "heating_setpoint_schedule": "Hospital HTGSETP_SCH",
894
- "cooling_setpoint_schedule": "Hospital CLGSETP_SCH"
893
+ "heating_setpoint_schedule": "Hospital Bldg HtgSetp",
894
+ "cooling_setpoint_schedule": "Hospital Bldg ClgSetp"
895
895
  },
896
896
  {
897
897
  "space_type": "food preparation",
@@ -956,8 +956,8 @@
956
956
  {
957
957
  "space_type": "food preparation",
958
958
  "standards_building_type": "SecondarySchool",
959
- "heating_setpoint_schedule": "SchoolSecondary HTGSETP_SCH_PSZ_AC",
960
- "cooling_setpoint_schedule": "SchoolSecondary CLGSETP_SCH_NO_SETBACK"
959
+ "heating_setpoint_schedule": "SecondarySchool HtgSetp",
960
+ "cooling_setpoint_schedule": "SecondarySchool ClgSetp"
961
961
  },
962
962
  {
963
963
  "space_type": "food preparation",
@@ -1022,8 +1022,8 @@
1022
1022
  {
1023
1023
  "space_type": "conference/meeting/multipurpose",
1024
1024
  "standards_building_type": "Office",
1025
- "heating_setpoint_schedule": "OfficeMedium HTGSETP_SCH_YES_OPTIMUM",
1026
- "cooling_setpoint_schedule": "OfficeMedium CLGSETP_SCH_YES_OPTIMUM"
1025
+ "heating_setpoint_schedule": "Office HtgSetp_Enduse",
1026
+ "cooling_setpoint_schedule": "Office ClgSetp_Enduse"
1027
1027
  },
1028
1028
  {
1029
1029
  "space_type": "conference/meeting/multipurpose",
@@ -1064,8 +1064,8 @@
1064
1064
  {
1065
1065
  "space_type": "audience seating",
1066
1066
  "standards_building_type": "SecondarySchool",
1067
- "heating_setpoint_schedule": "SchoolSecondary HTGSETP_SCH_PSZ_AC",
1068
- "cooling_setpoint_schedule": "SchoolSecondary CLGSETP_SCH_NO_SETBACK"
1067
+ "heating_setpoint_schedule": "SecondarySchool HtgSetp",
1068
+ "cooling_setpoint_schedule": "SecondarySchool ClgSetp"
1069
1069
  },
1070
1070
  {
1071
1071
  "space_type": "classroom/lecture/training",
@@ -1112,8 +1112,8 @@
1112
1112
  {
1113
1113
  "space_type": "classroom/lecture/training",
1114
1114
  "standards_building_type": "Office",
1115
- "heating_setpoint_schedule": "OfficeMedium HTGSETP_SCH_YES_OPTIMUM",
1116
- "cooling_setpoint_schedule": "OfficeMedium CLGSETP_SCH_YES_OPTIMUM"
1115
+ "heating_setpoint_schedule": "Office HtgSetp_Enduse",
1116
+ "cooling_setpoint_schedule": "Office ClgSetp_Enduse"
1117
1117
  },
1118
1118
  {
1119
1119
  "space_type": "classroom/lecture/training",
@@ -1124,8 +1124,8 @@
1124
1124
  {
1125
1125
  "space_type": "classroom/lecture/training",
1126
1126
  "standards_building_type": "SecondarySchool",
1127
- "heating_setpoint_schedule": "SchoolSecondary HTGSETP_SCH_YES_OPTIMUM",
1128
- "cooling_setpoint_schedule": "SchoolSecondary CLGSETP_SCH_NO_SETBACK"
1127
+ "heating_setpoint_schedule": "SecondarySchool HtgSetp",
1128
+ "cooling_setpoint_schedule": "SecondarySchool ClgSetp"
1129
1129
  },
1130
1130
  {
1131
1131
  "space_type": "corridor",
@@ -1184,8 +1184,8 @@
1184
1184
  {
1185
1185
  "space_type": "corridor",
1186
1186
  "standards_building_type": "Hospital",
1187
- "heating_setpoint_schedule": "Hospital HTGSETP_SCH",
1188
- "cooling_setpoint_schedule": "Hospital CLGSETP_SCH"
1187
+ "heating_setpoint_schedule": "Hospital Bldg HtgSetp",
1188
+ "cooling_setpoint_schedule": "Hospital Bldg ClgSetp"
1189
1189
  },
1190
1190
  {
1191
1191
  "space_type": "corridor",
@@ -1262,8 +1262,8 @@
1262
1262
  {
1263
1263
  "space_type": "corridor",
1264
1264
  "standards_building_type": "Office",
1265
- "heating_setpoint_schedule": "OfficeMedium HTGSETP_SCH_YES_OPTIMUM",
1266
- "cooling_setpoint_schedule": "OfficeMedium CLGSETP_SCH_YES_OPTIMUM"
1265
+ "heating_setpoint_schedule": "Office HtgSetp_Enduse",
1266
+ "cooling_setpoint_schedule": "Office ClgSetp_Enduse"
1267
1267
  },
1268
1268
  {
1269
1269
  "space_type": "corridor",
@@ -1310,8 +1310,8 @@
1310
1310
  {
1311
1311
  "space_type": "corridor",
1312
1312
  "standards_building_type": "SecondarySchool",
1313
- "heating_setpoint_schedule": "SchoolSecondary HTGSETP_SCH_YES_OPTIMUM",
1314
- "cooling_setpoint_schedule": "SchoolSecondary CLGSETP_SCH_NO_SETBACK"
1313
+ "heating_setpoint_schedule": "SecondarySchool HtgSetp",
1314
+ "cooling_setpoint_schedule": "SecondarySchool ClgSetp"
1315
1315
  },
1316
1316
  {
1317
1317
  "space_type": "corridor",
@@ -1382,8 +1382,8 @@
1382
1382
  {
1383
1383
  "space_type": "office",
1384
1384
  "standards_building_type": "Hospital",
1385
- "heating_setpoint_schedule": "Hospital HTGSETP_SCH",
1386
- "cooling_setpoint_schedule": "Hospital CLGSETP_SCH"
1385
+ "heating_setpoint_schedule": "Hospital Bldg HtgSetp",
1386
+ "cooling_setpoint_schedule": "Hospital Bldg ClgSetp"
1387
1387
  },
1388
1388
  {
1389
1389
  "space_type": "office",
@@ -1448,8 +1448,8 @@
1448
1448
  {
1449
1449
  "space_type": "office",
1450
1450
  "standards_building_type": "Office",
1451
- "heating_setpoint_schedule": "OfficeMedium HTGSETP_SCH_YES_OPTIMUM",
1452
- "cooling_setpoint_schedule": "OfficeMedium CLGSETP_SCH_YES_OPTIMUM"
1451
+ "heating_setpoint_schedule": "Office HtgSetp_Enduse",
1452
+ "cooling_setpoint_schedule": "Office ClgSetp_Enduse"
1453
1453
  },
1454
1454
  {
1455
1455
  "space_type": "office",
@@ -1508,8 +1508,8 @@
1508
1508
  {
1509
1509
  "space_type": "office",
1510
1510
  "standards_building_type": "SecondarySchool",
1511
- "heating_setpoint_schedule": "SchoolSecondary HTGSETP_SCH_YES_OPTIMUM",
1512
- "cooling_setpoint_schedule": "SchoolSecondary CLGSETP_SCH_NO_SETBACK"
1511
+ "heating_setpoint_schedule": "SecondarySchool HtgSetp",
1512
+ "cooling_setpoint_schedule": "SecondarySchool ClgSetp"
1513
1513
  },
1514
1514
  {
1515
1515
  "space_type": "office",
@@ -1592,8 +1592,8 @@
1592
1592
  {
1593
1593
  "space_type": "lounge/breakroom",
1594
1594
  "standards_building_type": "Office",
1595
- "heating_setpoint_schedule": "OfficeMedium HTGSETP_SCH_YES_OPTIMUM",
1596
- "cooling_setpoint_schedule": "OfficeMedium CLGSETP_SCH_YES_OPTIMUM"
1595
+ "heating_setpoint_schedule": "Office HtgSetp_Enduse",
1596
+ "cooling_setpoint_schedule": "Office ClgSetp_Enduse"
1597
1597
  },
1598
1598
  {
1599
1599
  "space_type": "lounge/breakroom",
@@ -1646,8 +1646,8 @@
1646
1646
  {
1647
1647
  "space_type": "stairwell",
1648
1648
  "standards_building_type": "Office",
1649
- "heating_setpoint_schedule": "OfficeMedium HTGSETP_SCH_YES_OPTIMUM",
1650
- "cooling_setpoint_schedule": "OfficeMedium CLGSETP_SCH_YES_OPTIMUM"
1649
+ "heating_setpoint_schedule": "Office HtgSetp_Enduse",
1650
+ "cooling_setpoint_schedule": "Office ClgSetp_Enduse"
1651
1651
  },
1652
1652
  {
1653
1653
  "space_type": "stairwell",
@@ -1670,8 +1670,8 @@
1670
1670
  {
1671
1671
  "space_type": "laboratory",
1672
1672
  "standards_building_type": "Hospital",
1673
- "heating_setpoint_schedule": "Hospital HTGSETP_SCH",
1674
- "cooling_setpoint_schedule": "Hospital CLGSETP_SCH"
1673
+ "heating_setpoint_schedule": "Hospital Bldg HtgSetp",
1674
+ "cooling_setpoint_schedule": "Hospital Bldg ClgSetp"
1675
1675
  },
1676
1676
  {
1677
1677
  "space_type": "laboratory",
@@ -1700,8 +1700,8 @@
1700
1700
  {
1701
1701
  "space_type": "computer room",
1702
1702
  "standards_building_type": "SecondarySchool",
1703
- "heating_setpoint_schedule": "SchoolSecondary HTGSETP_SCH_YES_OPTIMUM",
1704
- "cooling_setpoint_schedule": "SchoolSecondary CLGSETP_SCH_NO_SETBACK"
1703
+ "heating_setpoint_schedule": "SecondarySchool HtgSetp",
1704
+ "cooling_setpoint_schedule": "SecondarySchool ClgSetp"
1705
1705
  },
1706
1706
  {
1707
1707
  "space_type": "shaft",
@@ -1766,8 +1766,8 @@
1766
1766
  {
1767
1767
  "space_type": "library",
1768
1768
  "standards_building_type": "SecondarySchool",
1769
- "heating_setpoint_schedule": "SchoolSecondary HTGSETP_SCH_YES_OPTIMUM",
1770
- "cooling_setpoint_schedule": "SchoolSecondary CLGSETP_SCH_NO_SETBACK"
1769
+ "heating_setpoint_schedule": "SecondarySchool HtgSetp",
1770
+ "cooling_setpoint_schedule": "SecondarySchool ClgSetp"
1771
1771
  },
1772
1772
  {
1773
1773
  "space_type": "interior parking",
@@ -1808,8 +1808,8 @@
1808
1808
  {
1809
1809
  "space_type": "exercise area",
1810
1810
  "standards_building_type": "SecondarySchool",
1811
- "heating_setpoint_schedule": "SchoolSecondary HTGSETP_SCH_PSZ_AC",
1812
- "cooling_setpoint_schedule": "SchoolSecondary CLGSETP_SCH_NO_SETBACK"
1811
+ "heating_setpoint_schedule": "SecondarySchool HtgSetp",
1812
+ "cooling_setpoint_schedule": "SecondarySchool ClgSetp"
1813
1813
  },
1814
1814
  {
1815
1815
  "space_type": "exercise area",
@@ -1850,8 +1850,8 @@
1850
1850
  {
1851
1851
  "space_type": "guest room",
1852
1852
  "standards_building_type": "LargeHotel",
1853
- "heating_setpoint_schedule": "HotelLarge VAC_OccGuestRoom_HtgSP_Sch",
1854
- "cooling_setpoint_schedule": "HotelLarge VAC_OccGuestRoom_ClgSP_Sch"
1853
+ "heating_setpoint_schedule": "LargeHotel GuestRoom HtgSetp",
1854
+ "cooling_setpoint_schedule": "LargeHotel GuestRoom ClgSetp"
1855
1855
  },
1856
1856
  {
1857
1857
  "space_type": "guest room",
@@ -1862,8 +1862,8 @@
1862
1862
  {
1863
1863
  "space_type": "guest room",
1864
1864
  "standards_building_type": "SmallHotel",
1865
- "heating_setpoint_schedule": "Hospital HTGSETP_SCH",
1866
- "cooling_setpoint_schedule": "Hospital CLGSETP_SCH"
1865
+ "heating_setpoint_schedule": "HotelSmall Base_OccGuestRoom_HtgSP_Sch",
1866
+ "cooling_setpoint_schedule": "HotelSmall Base_OccGuestRoom_ClgSP_Sch"
1867
1867
  },
1868
1868
  {
1869
1869
  "space_type": "attic",
@@ -1892,8 +1892,8 @@
1892
1892
  {
1893
1893
  "space_type": "imaging",
1894
1894
  "standards_building_type": "Hospital",
1895
- "heating_setpoint_schedule": "Hospital HTGSETP_SCH",
1896
- "cooling_setpoint_schedule": "Hospital CLGSETP_SCH"
1895
+ "heating_setpoint_schedule": "Hospital Bldg HtgSetp",
1896
+ "cooling_setpoint_schedule": "Hospital Bldg ClgSetp"
1897
1897
  },
1898
1898
  {
1899
1899
  "space_type": "imaging",
@@ -1904,8 +1904,8 @@
1904
1904
  {
1905
1905
  "space_type": "physical therapy",
1906
1906
  "standards_building_type": "Hospital",
1907
- "heating_setpoint_schedule": "Hospital HTGSETP_SCH",
1908
- "cooling_setpoint_schedule": "Hospital CLGSETP_SCH"
1907
+ "heating_setpoint_schedule": "Hospital Bldg HtgSetp",
1908
+ "cooling_setpoint_schedule": "Hospital Bldg ClgSetp"
1909
1909
  },
1910
1910
  {
1911
1911
  "space_type": "physical therapy",
@@ -1916,14 +1916,14 @@
1916
1916
  {
1917
1917
  "space_type": "emergency room",
1918
1918
  "standards_building_type": "Hospital",
1919
- "heating_setpoint_schedule": "Hospital HTGSETP_SCH",
1920
- "cooling_setpoint_schedule": "Hospital CLGSETP_SCH"
1919
+ "heating_setpoint_schedule": "Hospital Critical HtgSetp",
1920
+ "cooling_setpoint_schedule": "Hospital Critical ClgSetp"
1921
1921
  },
1922
1922
  {
1923
1923
  "space_type": "patient room",
1924
1924
  "standards_building_type": "Hospital",
1925
- "heating_setpoint_schedule": "Hospital HTGSETP_SCH",
1926
- "cooling_setpoint_schedule": "Hospital CLGSETP_SCH"
1925
+ "heating_setpoint_schedule": "Hospital Critical HtgSetp",
1926
+ "cooling_setpoint_schedule": "Hospital Critical ClgSetp"
1927
1927
  },
1928
1928
  {
1929
1929
  "space_type": "patient room",
@@ -1940,8 +1940,8 @@
1940
1940
  {
1941
1941
  "space_type": "nurses station",
1942
1942
  "standards_building_type": "Hospital",
1943
- "heating_setpoint_schedule": "Hospital HTGSETP_SCH",
1944
- "cooling_setpoint_schedule": "Hospital CLGSETP_SCH"
1943
+ "heating_setpoint_schedule": "Hospital Critical HtgSetp",
1944
+ "cooling_setpoint_schedule": "Hospital Critical ClgSetp"
1945
1945
  },
1946
1946
  {
1947
1947
  "space_type": "nurses station",
@@ -1958,8 +1958,8 @@
1958
1958
  {
1959
1959
  "space_type": "exam/treatment",
1960
1960
  "standards_building_type": "Hospital",
1961
- "heating_setpoint_schedule": "Hospital HTGSETP_SCH",
1962
- "cooling_setpoint_schedule": "Hospital CLGSETP_SCH"
1961
+ "heating_setpoint_schedule": "Hospital Critical HtgSetp",
1962
+ "cooling_setpoint_schedule": "Hospital Critical ClgSetp"
1963
1963
  },
1964
1964
  {
1965
1965
  "space_type": "exam/treatment",
@@ -1970,8 +1970,8 @@
1970
1970
  {
1971
1971
  "space_type": "operating room",
1972
1972
  "standards_building_type": "Hospital",
1973
- "heating_setpoint_schedule": "Hospital HTGSETP_SCH",
1974
- "cooling_setpoint_schedule": "Hospital CLGSETP_SCH"
1973
+ "heating_setpoint_schedule": "Hospital Critical HtgSetp",
1974
+ "cooling_setpoint_schedule": "Hospital Critical ClgSetp"
1975
1975
  },
1976
1976
  {
1977
1977
  "space_type": "operating room",
@@ -2054,8 +2054,8 @@
2054
2054
  {
2055
2055
  "space_type": "datacenter/low ite",
2056
2056
  "standards_building_type": "Office",
2057
- "heating_setpoint_schedule": "OfficeLarge HTGSETP_SCH_YES_OPTIMUM",
2058
- "cooling_setpoint_schedule": "OfficeLarge CLGSETP_SCH_NO_SETBACK"
2057
+ "heating_setpoint_schedule": "Office HtgSetp_Enduse",
2058
+ "cooling_setpoint_schedule": "Office ClgSetp_Enduse"
2059
2059
  },
2060
2060
  {
2061
2061
  "space_type": "datacenter/low ite",
@@ -2084,8 +2084,8 @@
2084
2084
  {
2085
2085
  "space_type": "copy/print",
2086
2086
  "standards_building_type": "Office",
2087
- "heating_setpoint_schedule": "OfficeLarge HTGSETP_SCH_YES_OPTIMUM",
2088
- "cooling_setpoint_schedule": "OfficeLarge CLGSETP_SCH_NO_SETBACK"
2087
+ "heating_setpoint_schedule": "Office HtgSetp_Enduse",
2088
+ "cooling_setpoint_schedule": "Office ClgSetp_Enduse"
2089
2089
  },
2090
2090
  {
2091
2091
  "space_type": "locker room",
@@ -5071,8 +5071,8 @@ class Standard
5071
5071
  zn_radiant_clg_dsgn_temp_c,
5072
5072
  name: "Zone Radiant Loop Cooling Threshold Temperature Schedule - #{zn_radiant_clg_dsgn_temp_f.round(0)}F",
5073
5073
  schedule_type_limit: 'Temperature')
5074
- throttling_range_f = 4.0 # 2 degF on either side of control temperature
5075
- throttling_range_c = OpenStudio.convert(throttling_range_f, 'F', 'C').get
5074
+ throttling_range_r = 4.0 # 2 degF on either side of control temperature
5075
+ throttling_range_k = OpenStudio.convert(throttling_range_r, 'R', 'K').get
5076
5076
 
5077
5077
  # create preset availability schedule for radiant loop
5078
5078
  radiant_avail_sch = OpenStudio::Model::ScheduleRuleset.new(model)
@@ -5171,7 +5171,7 @@ class Standard
5171
5171
  if hot_water_loop
5172
5172
  radiant_loop_htg_coil = OpenStudio::Model::CoilHeatingLowTempRadiantVarFlow.new(model, htg_control_temp_sch)
5173
5173
  radiant_loop_htg_coil.setName("#{zone.name} Radiant Loop Heating Coil")
5174
- radiant_loop_htg_coil.setHeatingControlThrottlingRange(throttling_range_c)
5174
+ radiant_loop_htg_coil.setHeatingControlThrottlingRange(throttling_range_k)
5175
5175
  hot_water_loop.addDemandBranchForComponent(radiant_loop_htg_coil)
5176
5176
  else
5177
5177
  OpenStudio.logFree(OpenStudio::Error, 'openstudio.Model.Model', 'Radiant loops require a hot water loop, but none was provided.')
@@ -5180,7 +5180,7 @@ class Standard
5180
5180
  if chilled_water_loop
5181
5181
  radiant_loop_clg_coil = OpenStudio::Model::CoilCoolingLowTempRadiantVarFlow.new(model, clg_control_temp_sch)
5182
5182
  radiant_loop_clg_coil.setName("#{zone.name} Radiant Loop Cooling Coil")
5183
- radiant_loop_clg_coil.setCoolingControlThrottlingRange(throttling_range_c)
5183
+ radiant_loop_clg_coil.setCoolingControlThrottlingRange(throttling_range_k)
5184
5184
  chilled_water_loop.addDemandBranchForComponent(radiant_loop_clg_coil)
5185
5185
  else
5186
5186
  OpenStudio.logFree(OpenStudio::Error, 'openstudio.Model.Model', 'Radiant loops require a chilled water loop, but none was provided.')
@@ -9,10 +9,15 @@ module OpenstudioStandards
9
9
  # @param model [OpenStudio::Model::Model] OpenStudio model object
10
10
  # @param name [String] Name of the refrigeration walkin
11
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.
12
+ # @param walkin_type [String] The walkin type. See refrigerated_walkins data for valid options under walkin_type.
13
13
  # @param defrost_schedule [OpenStudio::Model::Schedule] OpenStudio Schedule object with boolean values for the defrost schedule
14
14
  # @param defrost_start_hour [Double] Start hour between 0 and 24 for. Used if defrost_schedule not specified.
15
15
  # @param dripdown_schedule [OpenStudio::Model::Schedule] OpenStudio Schedule object with boolean values for the dripdown schedule
16
+ # @param restocking_schedule [OpenStudio::Model::Schedule] OpenStudio Schedule object for the restocking schedule.
17
+ # If nil, will use the schedule from the refrigerated_walkins data. If that is not available, it will default to a constant 21 W schedule.
18
+ # @param door_opening_schedule [OpenStudio::Model::Schedule] OpenStudio Schedule object for the stocking door opening schedule. If nil, will use the schedule from the refrigerated_walkins data. If that is not available, it will default to 0.0625 fraction open between 6:00 and 22:00.
19
+ # @param door_protection_type [String] Stocking door opening protection type. Options are 'None', 'AirCurtain', or 'StripCurtain'. If nil, it will use the value from the refrigerated_walkins data.
20
+ # If nil, uses the value from lookup properties.
16
21
  # @param thermal_zone [OpenStudio::Model::ThermalZone] Thermal zone with the walkin. If nil, will look up from the model.
17
22
  # @return [OpenStudio::Model::RefrigerationWalkIn] the refrigeration walkin
18
23
  def self.create_walkin(model,
@@ -22,6 +27,9 @@ module OpenstudioStandards
22
27
  defrost_schedule: nil,
23
28
  defrost_start_hour: 0,
24
29
  dripdown_schedule: nil,
30
+ restocking_schedule: nil,
31
+ door_opening_schedule: nil,
32
+ door_protection_type: nil,
25
33
  thermal_zone: nil)
26
34
  # get thermal zone if not provided
27
35
  if thermal_zone.nil?
@@ -81,7 +89,9 @@ module OpenstudioStandards
81
89
  # replace with glass height property when added
82
90
  ref_walkin.setZoneBoundaryHeightofGlassReachInDoorsFacingZone(walkins_properties[:height_of_stocking_doors_facing_zone])
83
91
  ref_walkin.setZoneBoundaryStockingDoorUValueFacingZone(walkins_properties[:stocking_door_u])
84
- ref_walkin.zoneBoundaries.each { |zb| zb.setStockingDoorOpeningProtectionTypeFacingZone(walkins_properties[:stocking_door_opening_protection]) }
92
+ # Use door_protection_type argument if provided, otherwise use value from lookup properties
93
+ protection_type = door_protection_type.nil? ? walkins_properties[:stocking_door_opening_protection] : door_protection_type
94
+ ref_walkin.zoneBoundaries.each { |zb| zb.setStockingDoorOpeningProtectionTypeFacingZone(protection_type) }
85
95
  ref_walkin.setZoneBoundaryThermalZone(thermal_zone)
86
96
 
87
97
  # only add defrost schedules if not OffCycle
@@ -137,9 +147,39 @@ module OpenstudioStandards
137
147
  ref_walkin.setDefrostDripDownSchedule(dripdown_schedule)
138
148
  end
139
149
 
140
- # stocking schedule
141
- # ref_walkin.setRestockingSchedule(model.alwaysOffDiscreteSchedule)
142
- ref_walkin.setZoneBoundaryStockingDoorOpeningScheduleFacingZone(model.alwaysOffDiscreteSchedule)
150
+ # restocking schedule
151
+ # default calculated from 100 kg * 5 deg C * 3.65 kJ/kg*C / 24 hours = ~21 W
152
+ std = Standard.build('90.1-2013')
153
+ if !restocking_schedule.nil?
154
+ unless restocking_schedule.to_Schedule.is_initialized
155
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Input for restocking_schedule #{restocking_schedule} is not a valid OpenStudio::Model::Schedule object")
156
+ return nil
157
+ end
158
+ elsif !walkins_properties[:restocking_schedule].nil?
159
+ restocking_schedule = std.model_add_schedule(model, walkins_properties[:restocking_schedule])
160
+ else
161
+ restocking_schedule = OpenstudioStandards::Schedules.create_constant_schedule_ruleset(model, 21, name: "#{ref_walkin.name} Restocking")
162
+ end
163
+ ref_walkin.setRestockingSchedule(restocking_schedule)
164
+
165
+ # door opening schedule
166
+ if !door_opening_schedule.nil?
167
+ unless door_opening_schedule.to_Schedule.is_initialized
168
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Input for door_opening_schedule #{door_opening_schedule} is not a valid OpenStudio::Model::Schedule object")
169
+ return nil
170
+ end
171
+ elsif !walkins_properties[:stocking_door_schedule].nil?
172
+ door_opening_schedule = std.model_add_schedule(model, walkins_properties[:stocking_door_schedule])
173
+ else
174
+ door_opening_options = {
175
+ 'name' => 'Walk-In Door Opening Schedule',
176
+ 'winter_time_value_pairs' => { 6.0 => 0.0, 22.0 => 0.0625, 24.0 => 0.0 },
177
+ 'summer_time_value_pairs' => { 6.0 => 0.0, 22.0 => 0.0625, 24.0 => 0.0 },
178
+ 'default_time_value_pairs' => { 6.0 => 0.0, 22.0 => 0.0625, 24.0 => 0.0 }
179
+ }
180
+ door_opening_schedule = OpenstudioStandards::Schedules.create_simple_schedule(model, door_opening_options)
181
+ end
182
+ ref_walkin.setZoneBoundaryStockingDoorOpeningScheduleFacingZone(door_opening_schedule)
143
183
 
144
184
  insulated_floor_area_ft2 = OpenStudio.convert(walkins_properties[:insulated_floor_area], 'm^2', 'ft^2').get
145
185
  rated_cooling_capacity_btu_per_hr = OpenStudio.convert(walkins_properties[:rated_capacity], 'W', 'Btu/hr').get