openstudio-standards 0.8.1 → 0.8.3

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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/lib/openstudio-standards/exterior_lighting/data/entryways.csv +1 -1
  3. data/lib/openstudio-standards/exterior_lighting/data/parking.csv +1 -1
  4. data/lib/openstudio-standards/exterior_lighting/information.rb +7 -7
  5. data/lib/openstudio-standards/hvac/exhaust/data/typical_exhaust.csv +1 -1
  6. data/lib/openstudio-standards/infiltration/data/NISTInfiltrationCorrelations.csv +1 -1
  7. data/lib/openstudio-standards/infiltration/nist_infiltration.rb +1 -1
  8. data/lib/openstudio-standards/refrigeration/create_case.rb +60 -23
  9. data/lib/openstudio-standards/refrigeration/create_compressor.rb +2 -2
  10. data/lib/openstudio-standards/refrigeration/create_typical_refrigeration.rb +8 -6
  11. data/lib/openstudio-standards/refrigeration/create_walkin.rb +59 -24
  12. data/lib/openstudio-standards/refrigeration/data/refrigerated_cases.csv +31 -31
  13. data/lib/openstudio-standards/refrigeration/data/refrigerated_walkins.csv +76 -76
  14. data/lib/openstudio-standards/refrigeration/data/refrigeration_compressors.csv +1 -1
  15. data/lib/openstudio-standards/refrigeration/data/typical_refrigerated_cases.csv +1 -1
  16. data/lib/openstudio-standards/refrigeration/data/typical_refrigerated_walkins.csv +1 -1
  17. data/lib/openstudio-standards/refrigeration/information.rb +4 -4
  18. data/lib/openstudio-standards/service_water_heating/create_typical.rb +10 -10
  19. data/lib/openstudio-standards/service_water_heating/create_water_heater.rb +10 -0
  20. data/lib/openstudio-standards/service_water_heating/create_water_heating_loop.rb +16 -3
  21. data/lib/openstudio-standards/service_water_heating/data/convert_data.rb +9 -9
  22. data/lib/openstudio-standards/service_water_heating/data/typical_water_use_equipment.csv +49 -49
  23. data/lib/openstudio-standards/service_water_heating/data/typical_water_use_equipment.json +159 -159
  24. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +7 -18
  25. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +10 -20
  26. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +6 -15
  27. data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +5 -6
  28. data/lib/openstudio-standards/standards/Standards.CoilDX.rb +93 -43
  29. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +5 -5
  30. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb +135 -37
  31. data/lib/openstudio-standards/standards/Standards.CoilHeatingWaterToAirHeatPumpEquationFit.rb +2 -2
  32. data/lib/openstudio-standards/standards/Standards.Model.rb +9 -4
  33. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.computer_room_acs.json +302 -140
  34. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps.json +648 -326
  35. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps_heating.json +371 -90
  36. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.water_heaters.json +66 -22
  37. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.computer_room_acs.json +302 -140
  38. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps.json +1012 -296
  39. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps_heating.json +443 -79
  40. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.water_heaters.json +66 -22
  41. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.computer_room_acs.json +302 -140
  42. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps.json +672 -306
  43. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps_heating.json +354 -74
  44. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.water_heaters.json +72 -24
  45. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.computer_room_acs.json +302 -140
  46. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.energy_recovery.json +8 -8
  47. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps.json +930 -604
  48. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps_heating.json +415 -111
  49. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_heaters.json +72 -24
  50. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.computer_room_acs.json +602 -140
  51. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_pumps.json +1005 -333
  52. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_pumps_heating.json +642 -88
  53. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.water_heaters.json +78 -26
  54. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.computer_room_acs.json +722 -140
  55. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_pumps.json +1741 -426
  56. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_pumps_heating.json +1108 -111
  57. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.water_heaters.json +186 -62
  58. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.schedules.json +62 -232
  59. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXSingleSpeed.rb +2 -3
  60. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXTwoSpeed.rb +1 -1
  61. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilDX.rb +7 -18
  62. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingDXSingleSpeed.rb +9 -7
  63. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingGas.rb +1 -1
  64. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.heat_pumps.json +154 -69
  65. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.heat_pumps_heating.json +72 -72
  66. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.water_heaters.json +382 -295
  67. data/lib/openstudio-standards/standards/deer/data/deer.schedules.json +62 -232
  68. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/data/heat_pumps.json +16 -0
  69. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/data/heat_pumps_heating.json +6 -0
  70. data/lib/openstudio-standards/standards/necb/NECB2011/data/heat_pumps.json +16 -0
  71. data/lib/openstudio-standards/standards/necb/NECB2011/data/heat_pumps_heating.json +6 -0
  72. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +1 -1
  73. data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +2 -2
  74. data/lib/openstudio-standards/standards/necb/NECB2015/data/heat_pumps.json +16 -0
  75. data/lib/openstudio-standards/standards/necb/NECB2015/data/heat_pumps_heating.json +8 -0
  76. data/lib/openstudio-standards/standards/necb/NECB2020/data/heat_pumps.json +20 -0
  77. data/lib/openstudio-standards/standards/necb/NECB2020/data/heat_pumps_heating.json +10 -0
  78. data/lib/openstudio-standards/utilities/simulation.rb +3 -2
  79. data/lib/openstudio-standards/version.rb +1 -1
  80. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 356ac612733e6da43abd0173fe00d2b880962387e5d10fd3006c795b076976c0
4
- data.tar.gz: d396b6796de579678334ccc0a89fcb98349fbb2f58a2fa961e199f936733f804
3
+ metadata.gz: 92b7ab071a25cbd69d2f8edbe76b2b5c176945c975aa1e583ff7404747fdedf9
4
+ data.tar.gz: 342bc436c6694b535dfb337875cb4d381606d354a6004aaf4311156af46291e4
5
5
  SHA512:
6
- metadata.gz: 43ba928d87c142df22ec1317ea2d130666a50bc5d587ce06156f5cc1b11cb3f5b7ea6cff7b4a0de51c932239476080ec10221339721dba61035d92fb698a68f4
7
- data.tar.gz: 4ba533fcbb4df176f0d09812715ad41258da203d4d273a715f86c20d81186a8efdcc40bf01ba27587bc74fc1b9a235bd728a1e9f61edde4578132f80c1a1dc76
6
+ metadata.gz: 42a94723d1248825c20c7615db861b8cd1ccf363798819997d15053fc779a1343ad03e1256b00a78a51aeae5d5162396704ae804ac992f2a160523af243806e1
7
+ data.tar.gz: 5ef19cbf7e862f1ef9318b33fa488e58beb06167bb8b773937a8ac3e6afe0ed2575b41a4c407dce6e7a07ad2a424d696bb5521c12ae78ca9d02009c4e90f4fdf
@@ -1,4 +1,4 @@
1
- building_type,rollup_doors_per_10000_ft2,entrance_doors_per_10000_ft2,other_doors_per_10000_ft2,entrance_canopies,emergency_canopies,canopy_size,floor_area_per_drive_through_window,notes
1
+ building_type,rollup_doors_per_10000_ft2,entrance_doors_per_10000_ft2,other_doors_per_10000_ft2,entrance_canopies,emergency_canopies,canopy_size,floor_area_per_drive_through_window,notes
2
2
  SmallOffice,0.47,2,2,,,,,Based on Table 4.18 Number of Doors by Door Type from Achieving the 30% Goal: Energy and Cost Savings Analysis of ASHRAE Standard 90.1-2010
3
3
  MediumOffice,0.13,1,3,,,,,Based on Table 4.18 Number of Doors by Door Type from Achieving the 30% Goal: Energy and Cost Savings Analysis of ASHRAE Standard 90.1-2010
4
4
  LargeOffice,0,1,3,,,,,Based on Table 4.18 Number of Doors by Door Type from Achieving the 30% Goal: Energy and Cost Savings Analysis of ASHRAE Standard 90.1-2010
@@ -1,4 +1,4 @@
1
- building_type,building_area_per_spot,units_per_spot,students_per_spot,beds_per_spot,parking_area_per_spot
1
+ building_type,building_area_per_spot,units_per_spot,students_per_spot,beds_per_spot,parking_area_per_spot
2
2
  SmallOffice,250,,,,405
3
3
  MediumOffice,250,,,,405
4
4
  LargeOffice,620,,,,405
@@ -9,21 +9,21 @@ module OpenstudioStandards
9
9
  # @return [Hash] hash of exterior lighting value types and building type and model specific values
10
10
  def self.model_get_exterior_lighting_sizes(model)
11
11
  # load parking file and convert to hash table
12
- parking_json = "#{__dir__}/data/parking.json"
13
- unless File.exist?(parking_json)
12
+ parking_json = "#{File.dirname(__FILE__)}/data/parking.json"
13
+ unless File.file?(parking_json)
14
14
  OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.ExteriorLighting', "Unable to find file: #{parking_json}")
15
15
  return false
16
16
  end
17
- parking_hsh = JSON.parse(File.read("#{__dir__}/data/parking.json"), symbolize_names: true)
17
+ parking_hsh = JSON.parse(File.read("#{File.dirname(__FILE__)}/data/parking.json"), symbolize_names: true)
18
18
  parking_hsh = parking_hsh[:parking]
19
19
 
20
20
  # load entryways file and convert to hash table
21
- entryways_json = "#{__dir__}/data/entryways.json"
22
- unless File.exist?(entryways_json)
21
+ entryways_json = "#{File.dirname(__FILE__)}/data/entryways.json"
22
+ unless File.file?(entryways_json)
23
23
  OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.ExteriorLighting', "Unable to find file: #{entryways_json}")
24
24
  return false
25
25
  end
26
- entryways_hsh = JSON.parse(File.read("#{__dir__}/data/entryways.json"), symbolize_names: true)
26
+ entryways_hsh = JSON.parse(File.read("#{File.dirname(__FILE__)}/data/entryways.json"), symbolize_names: true)
27
27
  entryways_hsh = entryways_hsh[:entryways]
28
28
 
29
29
  # get space properties from the model
@@ -187,7 +187,7 @@ module OpenstudioStandards
187
187
  def self.model_get_exterior_lighting_properties(lighting_generation: 'default',
188
188
  lighting_zone: 3)
189
189
  # load typical exterior lighting data
190
- data = JSON.parse(File.read("#{__dir__}/data/typical_exterior_lighting.json"))
190
+ data = JSON.parse(File.read("#{File.dirname(__FILE__)}/data/typical_exterior_lighting.json"))
191
191
  exterior_lighting_properties = data['exterior_lighting'].select { |hash| (hash['lighting_generation'] == lighting_generation) && (hash['lighting_zone'] == lighting_zone) }[0]
192
192
 
193
193
  # make sure lighting properties were found
@@ -1,4 +1,4 @@
1
- space_type,building_type,exhaust_per_area
1
+ space_type,building_type,exhaust_per_area
2
2
  Kitchen,FullServiceRestaurant,0.7
3
3
  Kitchen,Hospital,0.7
4
4
  Kitchen,LargeHotel,0.7
@@ -1,4 +1,4 @@
1
- building_type,climate_zone,air_barrier,hvac_status,a,b,d
1
+ building_type,climate_zone,air_barrier,hvac_status,a,b,d
2
2
  HighriseApartment,1,no,on,0.073582572,0.011714788,0.024808851
3
3
  HighriseApartment,1,no,off,,,
4
4
  HighriseApartment,2,no,on,0.077379506,0.013441623,0.016703738
@@ -239,7 +239,7 @@ module OpenstudioStandards
239
239
 
240
240
  # load NIST infiltration correlations file and convert to hash table
241
241
  nist_infiltration_correlations_json = "#{File.dirname(__FILE__)}/data/NISTInfiltrationCorrelations.json"
242
- unless File.exist?(nist_infiltration_correlations_json)
242
+ unless File.file?(nist_infiltration_correlations_json)
243
243
  OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Infiltration.nist_infiltration', "Unable to find file: #{nist_infiltration_correlations_json}")
244
244
  return false
245
245
  end
@@ -10,12 +10,18 @@ module OpenstudioStandards
10
10
  # @param template [String] Technology or standards level, either 'old', 'new', or 'advanced'
11
11
  # @param case_type [String] The case type. See refrigeration_cases data for valid options under case_name.
12
12
  # @param case_length [String] The case length in meters.
13
+ # @param defrost_schedule [OpenStudio::Model::Schedule] OpenStudio Schedule object with boolean values for the defrost schedule
14
+ # @param defrost_start_hour [Double] Start hour between 0 and 24 for. Used if defrost_schedule not specified.
15
+ # @param dripdown_schedule [OpenStudio::Model::Schedule] OpenStudio Schedule object with boolean values for the dripdown schedule
13
16
  # @param thermal_zone [OpenStudio::Model::ThermalZone] Thermal zone with the case. If nil, will look up from the model.
14
17
  # @return [OpenStudio::Model::RefrigerationCase] the refrigeration case
15
18
  def self.create_case(model,
16
19
  template: 'new',
17
20
  case_type: 'Vertical Open - All',
18
21
  case_length: nil,
22
+ defrost_schedule: nil,
23
+ defrost_start_hour: 0,
24
+ dripdown_schedule: nil,
19
25
  thermal_zone: nil)
20
26
  # get thermal zone if not provided
21
27
  if thermal_zone.nil?
@@ -28,8 +34,8 @@ module OpenstudioStandards
28
34
  end
29
35
 
30
36
  # load refrigeration cases data
31
- cases_csv = "#{__dir__}/data/refrigerated_cases.csv"
32
- unless File.exist?(cases_csv)
37
+ cases_csv = "#{File.dirname(__FILE__)}/data/refrigerated_cases.csv"
38
+ unless File.file?(cases_csv)
33
39
  OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Unable to find file: #{cases_csv}")
34
40
  return nil
35
41
  end
@@ -84,33 +90,64 @@ module OpenstudioStandards
84
90
  ref_case.setThermalZone(thermal_zone)
85
91
  ref_case.setRatedAmbientTemperature(OpenStudio.convert(75.0, 'F', 'C').get)
86
92
 
87
- # place holders for schedules until data provided from ORNL
88
- i = 0
89
- # Defrost schedule
90
- defrost_sch = OpenStudio::Model::ScheduleRuleset.new(model)
91
- defrost_sch.setName("#{ref_case.name} Defrost")
92
- defrost_sch.defaultDaySchedule.setName("#{ref_case.name} Defrost Default")
93
- defrost_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, i, 0, 0), 0)
94
- defrost_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, i, 59, 0), 1)
95
- defrost_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, 24, 0, 0), 0)
93
+ # only add defrost schedules if not OffCycle
94
+ unless case_properties[:defrost_type] == 'OffCycle'
95
+ # defrost properties, default to one 45 minute defrost cycle per day followed by a 5 minute dripdown duration
96
+ defrost_duration = case_properties[:defrost_duration].nil? ? 45 : case_properties[:defrost_duration]
97
+ defrosts_per_day = case_properties[:defrosts_per_day].nil? ? 1 : case_properties[:defrosts_per_day]
98
+ dripdown_duration = case_properties[:dripdown_duration].nil? ? 5 : case_properties[:dripdown_duration]
96
99
 
97
- # Dripdown schedule
98
- dripdown_sch = OpenStudio::Model::ScheduleRuleset.new(model)
99
- dripdown_sch.setName("#{ref_case.name} Dripdown")
100
- dripdown_sch.defaultDaySchedule.setName("#{ref_case.name} Dripdown Default")
101
- dripdown_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, i, 0, 0), 0)
102
- dripdown_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, i, 59, 0), 1)
103
- dripdown_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, 24, 0, 0), 0)
100
+ # defrost hours are calculated from the start hour and number of defrosts per day
101
+ defrost_interval = (24 / defrosts_per_day).floor
102
+ defrost_hours = (1..defrosts_per_day).map { |i| defrost_start_hour + ((i - 1) * defrost_interval) }
103
+ defrost_hours.map! { |hr| hr > 23 ? hr - 24 : hr }
104
+ defrost_hours.sort!
105
+
106
+ # Defrost schedule
107
+ if defrost_schedule.nil?
108
+ defrost_schedule = OpenStudio::Model::ScheduleRuleset.new(model)
109
+ defrost_schedule.setName("#{ref_case.name} Defrost")
110
+ defrost_schedule.defaultDaySchedule.setName("#{ref_case.name} Defrost Default")
111
+ defrost_hours.each do |defrost_hour|
112
+ defrost_schedule.defaultDaySchedule.addValue(OpenStudio::Time.new(0, defrost_hour, 0, 0), 0)
113
+ defrost_schedule.defaultDaySchedule.addValue(OpenStudio::Time.new(0, defrost_hour, defrost_duration, 0), 1)
114
+ end
115
+ defrost_schedule.defaultDaySchedule.addValue(OpenStudio::Time.new(0, 24, 0, 0), 0)
116
+ else
117
+ unless defrost_schedule.to_Schedule.is_initialized
118
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Input for defrost_schedule #{defrost_schedule} is not a valid OpenStudio::Model::Schedule object")
119
+ return nil
120
+ end
121
+ end
122
+ ref_case.setCaseDefrostSchedule(defrost_schedule)
123
+
124
+ # Dripdown schedule, synced to occur after the defrost schedule
125
+ if dripdown_schedule.nil?
126
+ dripdown_schedule = OpenStudio::Model::ScheduleRuleset.new(model)
127
+ dripdown_schedule.setName("#{ref_case.name} Dripdown")
128
+ dripdown_schedule.defaultDaySchedule.setName("#{ref_case.name} Dripdown Default")
129
+ defrost_hours.each do |defrost_hour|
130
+ dripdown_hour = (defrost_duration + dripdown_duration) > 59 ? defrost_hour + 1 : defrost_hour
131
+ dripdown_hour = dripdown_hour > 23 ? dripdown_hour - 24 : dripdown_hour
132
+ dripdown_end_min = (defrost_duration + dripdown_duration) > 59 ? defrost_duration + dripdown_duration - 60 : defrost_duration + dripdown_duration
133
+ dripdown_schedule.defaultDaySchedule.addValue(OpenStudio::Time.new(0, defrost_hour, defrost_duration, 0), 0)
134
+ dripdown_schedule.defaultDaySchedule.addValue(OpenStudio::Time.new(0, dripdown_hour, dripdown_end_min, 0), 1)
135
+ end
136
+ dripdown_schedule.defaultDaySchedule.addValue(OpenStudio::Time.new(0, 24, 0, 0), 0)
137
+ else
138
+ unless dripdown_schedule.to_Schedule.is_initialized
139
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Input for dripdown_schedule #{dripdown_schedule} is not a valid OpenStudio::Model::Schedule object")
140
+ return nil
141
+ end
142
+ end
143
+ ref_case.setCaseDefrostDripDownSchedule(dripdown_schedule)
144
+ end
104
145
 
105
146
  # Case Credit Schedule
106
147
  case_credit_sch = OpenStudio::Model::ScheduleRuleset.new(model)
107
148
  case_credit_sch.setName("#{ref_case.name} Case Credit")
108
149
  case_credit_sch.defaultDaySchedule.setName("#{ref_case.name} Case Credit Default")
109
- case_credit_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, 7, 0, 0), 0.2)
110
- case_credit_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, 21, 0, 0), 0.4)
111
- case_credit_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, 24, 0, 0), 0.2)
112
- ref_case.setCaseDefrostSchedule(defrost_sch)
113
- ref_case.setCaseDefrostDripDownSchedule(dripdown_sch)
150
+ case_credit_sch.defaultDaySchedule.addValue(OpenStudio::Time.new(0, 24, 0, 0), 1.0)
114
151
  ref_case.setCaseCreditFractionSchedule(case_credit_sch)
115
152
 
116
153
  # reporting
@@ -14,8 +14,8 @@ module OpenstudioStandards
14
14
  template: 'new',
15
15
  operation_type: 'MT')
16
16
  # load refrigeration compressor data
17
- compressors_csv = "#{__dir__}/data/refrigeration_compressors.csv"
18
- unless File.exist?(compressors_csv)
17
+ compressors_csv = "#{File.dirname(__FILE__)}/data/refrigeration_compressors.csv"
18
+ unless File.file?(compressors_csv)
19
19
  OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Unable to find file: #{compressors_csv}")
20
20
  return nil
21
21
  end
@@ -33,11 +33,12 @@ module OpenstudioStandards
33
33
  # create cases
34
34
  medium_temperature_cases = []
35
35
  low_temperature_cases = []
36
- ref_equip_list[:cases].each do |ref_case|
36
+ ref_equip_list[:cases].each_with_index do |ref_case, index|
37
37
  case_ = OpenstudioStandards::Refrigeration.create_case(model,
38
38
  template: template,
39
39
  case_type: ref_case[:case_type],
40
40
  case_length: ref_case[:length],
41
+ defrost_start_hour: index,
41
42
  thermal_zone: thermal_zone_case)
42
43
  if case_.caseOperatingTemperature > -3.0
43
44
  medium_temperature_cases << case_
@@ -58,11 +59,12 @@ module OpenstudioStandards
58
59
  # create walkins
59
60
  medium_temperature_walkins = []
60
61
  low_temperature_walkins = []
61
- ref_equip_list[:walkins].each do |walkin|
62
+ ref_equip_list[:walkins].each_with_index do |walkin, index|
62
63
  ref_walkin = OpenstudioStandards::Refrigeration.create_walkin(model,
63
64
  name: walkin[:walkin_name],
64
65
  template: template,
65
66
  walkin_type: walkin[:walkin_type],
67
+ defrost_start_hour: index,
66
68
  thermal_zone: thermal_zone_walkin)
67
69
  if ref_walkin.operatingTemperature > -3.0
68
70
  medium_temperature_walkins << ref_walkin
@@ -101,8 +103,8 @@ module OpenstudioStandards
101
103
  # @return [Hash] Hash of refrigeration case lengths and walkin area
102
104
  def self.typical_refrigeration_equipment_list(model)
103
105
  # load refrigeration cases data
104
- cases_csv = "#{__dir__}/data/typical_refrigerated_cases.csv"
105
- unless File.exist?(cases_csv)
106
+ cases_csv = "#{File.dirname(__FILE__)}/data/typical_refrigerated_cases.csv"
107
+ unless File.file?(cases_csv)
106
108
  OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Unable to find file: #{cases_csv}")
107
109
  return false
108
110
  end
@@ -110,8 +112,8 @@ module OpenstudioStandards
110
112
  cases_hsh = cases_tbl.map(&:to_hash)
111
113
 
112
114
  # load refrigeration walkin data
113
- walkins_csv = "#{__dir__}/data/typical_refrigerated_walkins.csv"
114
- unless File.exist?(walkins_csv)
115
+ walkins_csv = "#{File.dirname(__FILE__)}/data/typical_refrigerated_walkins.csv"
116
+ unless File.file?(walkins_csv)
115
117
  OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Unable to find file: #{walkins_csv}")
116
118
  return false
117
119
  end
@@ -10,12 +10,18 @@ module OpenstudioStandards
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
12
  # @param walkin_type [String] The walkin type. See refrigeration_walkins data for valid options under walkin_type.
13
+ # @param defrost_schedule [OpenStudio::Model::Schedule] OpenStudio Schedule object with boolean values for the defrost schedule
14
+ # @param defrost_start_hour [Double] Start hour between 0 and 24 for. Used if defrost_schedule not specified.
15
+ # @param dripdown_schedule [OpenStudio::Model::Schedule] OpenStudio Schedule object with boolean values for the dripdown schedule
13
16
  # @param thermal_zone [OpenStudio::Model::ThermalZone] Thermal zone with the walkin. If nil, will look up from the model.
14
17
  # @return [OpenStudio::Model::RefrigerationWalkIn] the refrigeration walkin
15
18
  def self.create_walkin(model,
16
19
  name: nil,
17
20
  template: 'new',
18
21
  walkin_type: 'Walk-in Cooler - 120SF with no glass door',
22
+ defrost_schedule: nil,
23
+ defrost_start_hour: 0,
24
+ dripdown_schedule: nil,
19
25
  thermal_zone: nil)
20
26
  # get thermal zone if not provided
21
27
  if thermal_zone.nil?
@@ -28,8 +34,8 @@ module OpenstudioStandards
28
34
  end
29
35
 
30
36
  # load refrigeration walkin data
31
- walkins_csv = "#{__dir__}/data/refrigerated_walkins.csv"
32
- unless File.exist?(walkins_csv)
37
+ walkins_csv = "#{File.dirname(__FILE__)}/data/refrigerated_walkins.csv"
38
+ unless File.file?(walkins_csv)
33
39
  OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Unable to find file: #{walkins_csv}")
34
40
  return nil
35
41
  end
@@ -78,29 +84,58 @@ module OpenstudioStandards
78
84
  ref_walkin.zoneBoundaries.each { |zb| zb.setStockingDoorOpeningProtectionTypeFacingZone(walkins_properties[:stocking_door_opening_protection]) }
79
85
  ref_walkin.setZoneBoundaryThermalZone(thermal_zone)
80
86
 
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)
87
+ # only add defrost schedules if not OffCycle
88
+ unless walkins_properties[:defrost_type] == 'OffCycle'
89
+ # defrost properties, default to two 45 minute defrost cycles per day followed by a 5 minute dripdown duration
90
+ defrost_duration = walkins_properties[:defrost_duration].nil? ? 45 : walkins_properties[:defrost_duration]
91
+ defrosts_per_day = walkins_properties[:defrosts_per_day].nil? ? 2 : walkins_properties[:defrosts_per_day]
92
+ dripdown_duration = walkins_properties[:dripdown_duration].nil? ? 5 : walkins_properties[:dripdown_duration]
92
93
 
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)
94
+ # defrost hours are calculated from the start hour and number of defrosts per day
95
+ defrost_interval = (24 / defrosts_per_day).floor
96
+ defrost_hours = (1..defrosts_per_day).map { |i| defrost_start_hour + ((i - 1) * defrost_interval) }
97
+ defrost_hours.map! { |hr| hr > 23 ? hr - 24 : hr }
98
+ defrost_hours.sort!
99
+
100
+ # Defrost schedule
101
+ if defrost_schedule.nil?
102
+ defrost_schedule = OpenStudio::Model::ScheduleRuleset.new(model)
103
+ defrost_schedule.setName("#{ref_walkin.name} Defrost")
104
+ defrost_schedule.defaultDaySchedule.setName("#{ref_walkin.name} Defrost Default")
105
+ defrost_hours.each do |defrost_hour|
106
+ defrost_schedule.defaultDaySchedule.addValue(OpenStudio::Time.new(0, defrost_hour, 0, 0), 0)
107
+ defrost_schedule.defaultDaySchedule.addValue(OpenStudio::Time.new(0, defrost_hour, defrost_duration, 0), 1)
108
+ end
109
+ defrost_schedule.defaultDaySchedule.addValue(OpenStudio::Time.new(0, 24, 0, 0), 0)
110
+ else
111
+ unless defrost_schedule.to_Schedule.is_initialized
112
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Input for defrost_schedule #{defrost_schedule} is not a valid OpenStudio::Model::Schedule object")
113
+ return nil
114
+ end
115
+ end
116
+ ref_walkin.setDefrostSchedule(defrost_schedule)
117
+
118
+ # Dripdown schedule, synced with defrost schedule
119
+ if dripdown_schedule.nil?
120
+ dripdown_schedule = OpenStudio::Model::ScheduleRuleset.new(model)
121
+ dripdown_schedule.setName("#{ref_walkin.name} Dripdown")
122
+ dripdown_schedule.defaultDaySchedule.setName("#{ref_walkin.name} Dripdown Default")
123
+ defrost_hours.each do |defrost_hour|
124
+ dripdown_hour = (defrost_duration + dripdown_duration) > 59 ? defrost_hour + 1 : defrost_hour
125
+ dripdown_hour = dripdown_hour > 23 ? dripdown_hour - 24 : dripdown_hour
126
+ dripdown_end_min = (defrost_duration + dripdown_duration) > 59 ? defrost_duration + dripdown_duration - 60 : defrost_duration + dripdown_duration
127
+ dripdown_schedule.defaultDaySchedule.addValue(OpenStudio::Time.new(0, defrost_hour, defrost_duration, 0), 0)
128
+ dripdown_schedule.defaultDaySchedule.addValue(OpenStudio::Time.new(0, dripdown_hour, dripdown_end_min, 0), 1)
129
+ end
130
+ dripdown_schedule.defaultDaySchedule.addValue(OpenStudio::Time.new(0, 24, 0, 0), 0)
131
+ else
132
+ unless dripdown_schedule.to_Schedule.is_initialized
133
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Refrigeration', "Input for dripdown_schedule #{dripdown_schedule} is not a valid OpenStudio::Model::Schedule object")
134
+ return nil
135
+ end
136
+ end
137
+ ref_walkin.setDefrostDripDownSchedule(dripdown_schedule)
138
+ end
104
139
 
105
140
  # stocking schedule
106
141
  # ref_walkin.setRestockingSchedule(model.alwaysOffDiscreteSchedule)
@@ -1,31 +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"
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_duration,defrosts_per_day,defrost_schedule,dripdown_duration,drip_down_schedule,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,45,1,LT Coffin Defrost Sch,5,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,45,1,LT Coffin Defrost Sch,5,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,45,1,LT Reach-In Defrost Sch,5,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,45,1,LT Reach-In Defrost Sch,5,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,45,1,MT Coffin Defrost Sch,5,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,49,1,LT Coffin Defrost Sch,5,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,59,1,LT Coffin Defrost Sch,5,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,46,1,LT Reach-In Defrost Sch,5,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,46,1,LT Reach-In Defrost Sch,5,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,48,1,MT Coffin Defrost Sch,5,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,48,1,LT Coffin Defrost Sch,5,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,48,1,LT Coffin Defrost Sch,5,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,46,1,LT Reach-In Defrost Sch,5,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,46,1,LT Reach-In Defrost Sch,5,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,48,1,MT Coffin Defrost Sch,5,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"