openstudio-standards 0.1.3 → 0.1.4

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 (59) hide show
  1. checksums.yaml +4 -4
  2. data/data/standards/OpenStudio_Standards.xlsx +0 -0
  3. data/data/standards/OpenStudio_Standards_chillers.json +5 -5
  4. data/data/standards/OpenStudio_Standards_construction_sets.json +2 -2
  5. data/data/standards/OpenStudio_Standards_curve_cubics.json +12 -0
  6. data/data/standards/OpenStudio_Standards_heat_pumps.json +2126 -72
  7. data/data/standards/OpenStudio_Standards_heat_pumps_heating.json +766 -14
  8. data/data/standards/OpenStudio_Standards_heat_rejection.json +172 -0
  9. data/data/standards/OpenStudio_Standards_prototype_inputs.json +355 -267
  10. data/data/standards/OpenStudio_Standards_schedules.json +262 -10
  11. data/data/standards/OpenStudio_Standards_space_types.json +1466 -794
  12. data/data/standards/manage_OpenStudio_Standards.rb +19 -21
  13. data/data/weather/weather_info.csv +96 -0
  14. data/lib/openstudio-standards/btap/btap.rb +1 -1
  15. data/lib/openstudio-standards/btap/compliance.rb +135 -40
  16. data/lib/openstudio-standards/btap/envelope.rb +26 -5
  17. data/lib/openstudio-standards/btap/geometry.rb +11 -1
  18. data/lib/openstudio-standards/btap/hvac.rb +489 -56
  19. data/lib/openstudio-standards/btap/simmanager.rb +1 -1
  20. data/lib/openstudio-standards/hvac_sizing/HVACSizing.CoilHeatingDXMultiSpeed.rb +120 -0
  21. data/lib/openstudio-standards/hvac_sizing/Siz.CoilCoolingDXMultiSpeed.rb +151 -7
  22. data/lib/openstudio-standards/hvac_sizing/Siz.CoilHeatingGasMultiStage.rb +48 -7
  23. data/lib/openstudio-standards/hvac_sizing/Siz.Model.rb +14 -12
  24. data/lib/openstudio-standards/prototypes/Prototype.AirTerminalSingleDuctVAVReheat.rb +33 -7
  25. data/lib/openstudio-standards/prototypes/Prototype.Model.hvac.rb +123 -91
  26. data/lib/openstudio-standards/prototypes/Prototype.Model.rb +130 -45
  27. data/lib/openstudio-standards/prototypes/Prototype.Model.swh.rb +13 -7
  28. data/lib/openstudio-standards/prototypes/Prototype.full_service_restaurant.rb +332 -324
  29. data/lib/openstudio-standards/prototypes/Prototype.hospital.rb +401 -99
  30. data/lib/openstudio-standards/prototypes/Prototype.hvac_systems.rb +309 -222
  31. data/lib/openstudio-standards/prototypes/Prototype.large_hotel.rb +100 -80
  32. data/lib/openstudio-standards/prototypes/Prototype.large_office.rb +37 -22
  33. data/lib/openstudio-standards/prototypes/Prototype.medium_office.rb +68 -53
  34. data/lib/openstudio-standards/prototypes/Prototype.mid_rise_apartment.rb +109 -88
  35. data/lib/openstudio-standards/prototypes/Prototype.outpatient.rb +52 -4
  36. data/lib/openstudio-standards/prototypes/Prototype.primary_school.rb +230 -213
  37. data/lib/openstudio-standards/prototypes/Prototype.quick_service_restaurant.rb +225 -218
  38. data/lib/openstudio-standards/prototypes/Prototype.retail_standalone.rb +29 -17
  39. data/lib/openstudio-standards/prototypes/Prototype.retail_stripmall.rb +42 -32
  40. data/lib/openstudio-standards/prototypes/Prototype.secondary_school.rb +331 -314
  41. data/lib/openstudio-standards/prototypes/Prototype.small_hotel.rb +233 -219
  42. data/lib/openstudio-standards/prototypes/Prototype.small_office.rb +40 -32
  43. data/lib/openstudio-standards/prototypes/Prototype.warehouse.rb +19 -6
  44. data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +576 -555
  45. data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb +3 -1
  46. data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +35 -17
  47. data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +51 -23
  48. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +255 -0
  49. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +192 -0
  50. data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +65 -0
  51. data/lib/openstudio-standards/standards/Standards.Fan.rb +37 -6
  52. data/lib/openstudio-standards/standards/Standards.Model.rb +28 -3
  53. data/lib/openstudio-standards/standards/Standards.SpaceType.rb +3 -1
  54. data/lib/openstudio-standards/standards/Standards.WaterHeaterMixed.rb +41 -15
  55. data/lib/openstudio-standards/version.rb +1 -1
  56. data/lib/openstudio-standards/weather/Weather.Model.rb +509 -5
  57. data/lib/openstudio-standards/weather/Weather.stat_file.rb +145 -5
  58. metadata +8 -3
  59. data/lib/openstudio-standards/btap/environment.rb +0 -718
@@ -8,12 +8,23 @@ class OpenStudio::Model::Model
8
8
  # TODO: Need to determine if WaterHeater can be alone or if we need to 'fake' it.
9
9
 
10
10
  def define_space_type_map(building_type, building_vintage, climate_zone)
11
- space_type_map = {
12
- 'Back_Space' => ['Back_Space'],
13
- 'Entry' => ['Front_Entry'],
14
- 'Point_of_Sale' => ['Point_Of_Sale'],
15
- 'Retail' => ['Core_Retail', 'Front_Retail']
16
- }
11
+ space_type_map = nil
12
+ case building_vintage
13
+ when 'NECB 2011'
14
+ space_type_map ={
15
+ "Storage area" => ["Back_Space"],
16
+ "Retail - sales" => ["Core_Retail", "Front_Retail", "Point_Of_Sale"],
17
+ "Lobby - elevator" => ["Front_Entry"]
18
+ }
19
+
20
+ else
21
+ space_type_map = {
22
+ 'Back_Space' => ['Back_Space'],
23
+ 'Entry' => ['Front_Entry'],
24
+ 'Point_of_Sale' => ['Point_Of_Sale'],
25
+ 'Retail' => ['Core_Retail', 'Front_Retail']
26
+ }
27
+ end
17
28
  return space_type_map
18
29
  end
19
30
 
@@ -35,18 +46,19 @@ class OpenStudio::Model::Model
35
46
 
36
47
  OpenStudio::logFree(OpenStudio::Info, 'openstudio.model.Model', 'Started building type specific adjustments')
37
48
 
49
+
38
50
  # Add the door infiltration for vintage 2004,2007,2010,2013
39
51
  case building_vintage
40
- when '90.1-2004','90.1-2007','90.1-2010','90.1-2013'
41
- entry_space = self.getSpaceByName('Front_Entry').get
42
- infiltration_entry = OpenStudio::Model::SpaceInfiltrationDesignFlowRate.new(self)
43
- infiltration_entry.setName("Entry door Infiltration")
44
- infiltration_per_zone = 1.418672682
45
- infiltration_entry.setDesignFlowRate(infiltration_per_zone)
46
- infiltration_entry.setSchedule(add_schedule('RetailStandalone INFIL_Door_Opening_SCH'))
47
- infiltration_entry.setSpace(entry_space)
48
- else
49
- # do nothing
52
+ when '90.1-2004','90.1-2007','90.1-2010','90.1-2013'
53
+ entry_space = self.getSpaceByName('Front_Entry').get
54
+ infiltration_entry = OpenStudio::Model::SpaceInfiltrationDesignFlowRate.new(self)
55
+ infiltration_entry.setName("Entry door Infiltration")
56
+ infiltration_per_zone = 1.418672682
57
+ infiltration_entry.setDesignFlowRate(infiltration_per_zone)
58
+ infiltration_entry.setSchedule(add_schedule('RetailStandalone INFIL_Door_Opening_SCH'))
59
+ infiltration_entry.setSpace(entry_space)
60
+ else
61
+ # do nothing
50
62
  end
51
63
 
52
64
  OpenStudio::logFree(OpenStudio::Info, 'openstudio.model.Model', 'Finished building type specific adjustments')
@@ -57,7 +69,7 @@ class OpenStudio::Model::Model
57
69
 
58
70
  def update_waterheater_loss_coefficient(building_vintage)
59
71
  case building_vintage
60
- when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013'
72
+ when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013', 'NECB 2011'
61
73
  self.getWaterHeaterMixeds.sort.each do |water_heater|
62
74
  water_heater.setOffCycleLossCoefficienttoAmbientTemperature(4.10807252)
63
75
  water_heater.setOnCycleLossCoefficienttoAmbientTemperature(4.10807252)
@@ -3,17 +3,26 @@
3
3
  class OpenStudio::Model::Model
4
4
 
5
5
  def define_space_type_map(building_type, building_vintage, climate_zone)
6
- space_type_map = {
7
- 'Strip mall - type 1' => [
8
- 'LGstore1', 'SMstore1'
9
- ],
10
- 'Strip mall - type 2' => [
11
- 'SMstore2', 'SMstore3', 'SMstore4'
12
- ],
13
- 'Strip mall - type 3' => [
14
- 'LGstore2', 'SMstore5', 'SMstore6', 'SMstore7', 'SMstore8'
15
- ]
16
- }
6
+ space_type_map = nil
7
+ case building_vintage
8
+
9
+ when 'NECB 2011'
10
+ space_type_map ={
11
+ "Retail - sales" => ["LGstore1", "LGstore2", "SMstore1", "SMstore2", "SMstore3", "SMstore4", "SMstore5", "SMstore6", "SMstore7", "SMstore8"]
12
+ }
13
+ else
14
+ space_type_map = {
15
+ 'Strip mall - type 1' => [
16
+ 'LGstore1', 'SMstore1'
17
+ ],
18
+ 'Strip mall - type 2' => [
19
+ 'SMstore2', 'SMstore3', 'SMstore4'
20
+ ],
21
+ 'Strip mall - type 3' => [
22
+ 'LGstore2', 'SMstore5', 'SMstore6', 'SMstore7', 'SMstore8'
23
+ ]
24
+ }
25
+ end
17
26
  return space_type_map
18
27
  end
19
28
 
@@ -90,38 +99,39 @@ class OpenStudio::Model::Model
90
99
  # Add infiltration door opening
91
100
  # Spaces names to design infiltration rates (m3/s)
92
101
  case building_vintage
93
- when '90.1-2004','90.1-2007','90.1-2010', '90.1-2013'
94
- door_infiltration_map = { ['LGstore1','LGstore2'] => 0.388884328,
95
- ['SMstore1','SMstore2', 'SMstore3', 'SMstore4','SMstore5', 'SMstore6', 'SMstore7', 'SMstore8']=>0.222287037}
102
+ when '90.1-2004','90.1-2007','90.1-2010', '90.1-2013'
103
+ door_infiltration_map = { ['LGstore1','LGstore2'] => 0.388884328,
104
+ ['SMstore1','SMstore2', 'SMstore3', 'SMstore4','SMstore5', 'SMstore6', 'SMstore7', 'SMstore8']=>0.222287037}
96
105
 
97
- door_infiltration_map.each_pair do |space_names, infiltration_design_flowrate|
98
- space_names.each do |space_name|
99
- space = self.getSpaceByName(space_name).get
100
- # Create the infiltration object and hook it up to the space type
101
- infiltration = OpenStudio::Model::SpaceInfiltrationDesignFlowRate.new(self)
102
- infiltration.setName("#{space_name} Door Open Infiltration")
103
- infiltration.setSpace(space)
104
- infiltration.setDesignFlowRate(infiltration_design_flowrate)
105
- infiltration_schedule = self.add_schedule('RetailStripmall INFIL_Door_Opening_SCH')
106
- if infiltration_schedule.nil?
107
- OpenStudio::logFree(OpenStudio::Error, 'openstudio.model.Model', "Can't find schedule (RetailStripmall INFIL_Door_Opening_SCH).")
108
- return false
109
- else
110
- infiltration.setSchedule(infiltration_schedule)
111
- end
106
+ door_infiltration_map.each_pair do |space_names, infiltration_design_flowrate|
107
+ space_names.each do |space_name|
108
+ space = self.getSpaceByName(space_name).get
109
+ # Create the infiltration object and hook it up to the space type
110
+ infiltration = OpenStudio::Model::SpaceInfiltrationDesignFlowRate.new(self)
111
+ infiltration.setName("#{space_name} Door Open Infiltration")
112
+ infiltration.setSpace(space)
113
+ infiltration.setDesignFlowRate(infiltration_design_flowrate)
114
+ infiltration_schedule = self.add_schedule('RetailStripmall INFIL_Door_Opening_SCH')
115
+ if infiltration_schedule.nil?
116
+ OpenStudio::logFree(OpenStudio::Error, 'openstudio.model.Model', "Can't find schedule (RetailStripmall INFIL_Door_Opening_SCH).")
117
+ return false
118
+ else
119
+ infiltration.setSchedule(infiltration_schedule)
112
120
  end
113
121
  end
114
- else
115
- # do nothing for the old vintage
122
+ end
123
+ else
124
+ # do nothing for the old vintage
116
125
  end
117
126
 
118
127
  OpenStudio::logFree(OpenStudio::Info, 'openstudio.model.Model', 'Finished building type specific adjustments')
119
128
  return true
120
129
  end #add hvac
121
130
 
131
+
122
132
  def update_waterheater_loss_coefficient(building_vintage)
123
133
  case building_vintage
124
- when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013'
134
+ when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013', 'NECB 2011'
125
135
  self.getWaterHeaterMixeds.sort.each do |water_heater|
126
136
  water_heater.setOffCycleLossCoefficienttoAmbientTemperature(1.205980747)
127
137
  water_heater.setOnCycleLossCoefficienttoAmbientTemperature(1.205980747)
@@ -4,96 +4,112 @@ class OpenStudio::Model::Model
4
4
 
5
5
  def define_space_type_map(building_type, building_vintage, climate_zone)
6
6
 
7
+
7
8
  space_type_map = nil
8
9
 
9
10
  case building_vintage
10
11
  when 'DOE Ref Pre-1980', 'DOE Ref 1980-2004'
11
- space_type_map = {
12
- 'Office' => ['Offices_ZN_1_FLR_1', 'Offices_ZN_1_FLR_2'],
13
- 'Lobby' => ['Lobby_ZN_1_FLR_2', 'Lobby_ZN_1_FLR_1'],
14
- 'Gym' => ['Gym_ZN_1_FLR_1'],
15
- 'Gym - audience' => ['Aux_Gym_ZN_1_FLR_1'],
16
- 'Mechanical' => ['Mech_ZN_1_FLR_2', 'Mech_ZN_1_FLR_1'],
17
- 'Cafeteria' => ['Cafeteria_ZN_1_FLR_1'],
18
- 'Kitchen' => ['Kitchen_ZN_1_FLR_1'],
19
- 'Restroom' => ['Bathrooms_ZN_1_FLR_2', 'Bathrooms_ZN_1_FLR_1'],
20
- 'Auditorium' => ['Auditorium_ZN_1_FLR_1'],
21
- 'Library' => ['LIBRARY_MEDIA_CENTER_ZN_1_FLR_2'],
22
- 'Corridor' => ['Corridor_Pod_1_ZN_1_FLR_1', 'Corridor_Pod_3_ZN_1_FLR_2',
23
- 'Main_Corridor_ZN_1_FLR_2', 'Main_Corridor_ZN_1_FLR_1',
24
- 'Corridor_Pod_3_ZN_1_FLR_1', 'Corridor_Pod_1_ZN_1_FLR_2',
25
- 'Corridor_Pod_2_ZN_1_FLR_1', 'Corridor_Pod_2_ZN_1_FLR_2'],
26
- 'Classroom' => [
27
- 'Mult_Class_2_Pod_2_ZN_1_FLR_2',
28
- 'Mult_Class_2_Pod_3_ZN_1_FLR_1',
29
- 'Corner_Class_2_Pod_1_ZN_1_FLR_1',
30
- 'Mult_Class_2_Pod_1_ZN_1_FLR_2',
31
- 'Corner_Class_1_Pod_1_ZN_1_FLR_1',
32
- 'Corner_Class_2_Pod_1_ZN_1_FLR_2',
33
- 'Corner_Class_1_Pod_2_ZN_1_FLR_2',
34
- 'Mult_Class_1_Pod_1_ZN_1_FLR_2',
35
- 'Corner_Class_2_Pod_2_ZN_1_FLR_2',
36
- 'Mult_Class_2_Pod_2_ZN_1_FLR_1',
37
- 'Mult_Class_2_Pod_3_ZN_1_FLR_2',
38
- 'Corner_Class_1_Pod_3_ZN_1_FLR_1',
39
- 'Mult_Class_1_Pod_1_ZN_1_FLR_1',
40
- 'Mult_Class_1_Pod_2_ZN_1_FLR_2',
41
- 'Mult_Class_1_Pod_2_ZN_1_FLR_1',
42
- 'Mult_Class_2_Pod_1_ZN_1_FLR_1',
43
- 'Mult_Class_1_Pod_3_ZN_1_FLR_1',
44
- 'Corner_Class_1_Pod_1_ZN_1_FLR_2',
45
- 'Corner_Class_1_Pod_2_ZN_1_FLR_1',
46
- 'Corner_Class_2_Pod_2_ZN_1_FLR_1',
47
- 'Corner_Class_1_Pod_3_ZN_1_FLR_2',
48
- 'Mult_Class_1_Pod_3_ZN_1_FLR_2',
49
- 'Corner_Class_2_Pod_3_ZN_1_FLR_1',
50
- 'Corner_Class_2_Pod_3_ZN_1_FLR_2'
51
- ]
52
- }
12
+ space_type_map = {
13
+ 'Office' => ['Offices_ZN_1_FLR_1', 'Offices_ZN_1_FLR_2'],
14
+ 'Lobby' => ['Lobby_ZN_1_FLR_2', 'Lobby_ZN_1_FLR_1'],
15
+ 'Gym' => ['Gym_ZN_1_FLR_1'],
16
+ 'Gym - audience' => ['Aux_Gym_ZN_1_FLR_1'],
17
+ 'Mechanical' => ['Mech_ZN_1_FLR_2', 'Mech_ZN_1_FLR_1'],
18
+ 'Cafeteria' => ['Cafeteria_ZN_1_FLR_1'],
19
+ 'Kitchen' => ['Kitchen_ZN_1_FLR_1'],
20
+ 'Restroom' => ['Bathrooms_ZN_1_FLR_2', 'Bathrooms_ZN_1_FLR_1'],
21
+ 'Auditorium' => ['Auditorium_ZN_1_FLR_1'],
22
+ 'Library' => ['LIBRARY_MEDIA_CENTER_ZN_1_FLR_2'],
23
+ 'Corridor' => ['Corridor_Pod_1_ZN_1_FLR_1', 'Corridor_Pod_3_ZN_1_FLR_2',
24
+ 'Main_Corridor_ZN_1_FLR_2', 'Main_Corridor_ZN_1_FLR_1',
25
+ 'Corridor_Pod_3_ZN_1_FLR_1', 'Corridor_Pod_1_ZN_1_FLR_2',
26
+ 'Corridor_Pod_2_ZN_1_FLR_1', 'Corridor_Pod_2_ZN_1_FLR_2'],
27
+ 'Classroom' => [
28
+ 'Mult_Class_2_Pod_2_ZN_1_FLR_2',
29
+ 'Mult_Class_2_Pod_3_ZN_1_FLR_1',
30
+ 'Corner_Class_2_Pod_1_ZN_1_FLR_1',
31
+ 'Mult_Class_2_Pod_1_ZN_1_FLR_2',
32
+ 'Corner_Class_1_Pod_1_ZN_1_FLR_1',
33
+ 'Corner_Class_2_Pod_1_ZN_1_FLR_2',
34
+ 'Corner_Class_1_Pod_2_ZN_1_FLR_2',
35
+ 'Mult_Class_1_Pod_1_ZN_1_FLR_2',
36
+ 'Corner_Class_2_Pod_2_ZN_1_FLR_2',
37
+ 'Mult_Class_2_Pod_2_ZN_1_FLR_1',
38
+ 'Mult_Class_2_Pod_3_ZN_1_FLR_2',
39
+ 'Corner_Class_1_Pod_3_ZN_1_FLR_1',
40
+ 'Mult_Class_1_Pod_1_ZN_1_FLR_1',
41
+ 'Mult_Class_1_Pod_2_ZN_1_FLR_2',
42
+ 'Mult_Class_1_Pod_2_ZN_1_FLR_1',
43
+ 'Mult_Class_2_Pod_1_ZN_1_FLR_1',
44
+ 'Mult_Class_1_Pod_3_ZN_1_FLR_1',
45
+ 'Corner_Class_1_Pod_1_ZN_1_FLR_2',
46
+ 'Corner_Class_1_Pod_2_ZN_1_FLR_1',
47
+ 'Corner_Class_2_Pod_2_ZN_1_FLR_1',
48
+ 'Corner_Class_1_Pod_3_ZN_1_FLR_2',
49
+ 'Mult_Class_1_Pod_3_ZN_1_FLR_2',
50
+ 'Corner_Class_2_Pod_3_ZN_1_FLR_1',
51
+ 'Corner_Class_2_Pod_3_ZN_1_FLR_2'
52
+ ]
53
+ }
54
+ when 'NECB 2011'
55
+ space_type_map ={
56
+ "Audience - auditorium" => ["Auditorium_ZN_1_FLR_1"],
57
+ "Gym - play" => ["Aux_Gym_ZN_1_FLR_1", "Gym_ZN_1_FLR_1"],
58
+ "Washroom" => ["Bathrooms_ZN_1_FLR_1", "Bathrooms_ZN_1_FLR_2"],
59
+ "Conf./meet./multi-purpose" => ["Cafeteria_ZN_1_FLR_1"],
60
+ "Classroom/lecture/training" => ["Corner_Class_1_Pod_1_ZN_1_FLR_1", "Corner_Class_1_Pod_1_ZN_1_FLR_2", "Corner_Class_1_Pod_2_ZN_1_FLR_1", "Corner_Class_1_Pod_2_ZN_1_FLR_2", "Corner_Class_1_Pod_3_ZN_1_FLR_1", "Corner_Class_1_Pod_3_ZN_1_FLR_2", "Corner_Class_2_Pod_1_ZN_1_FLR_1", "Corner_Class_2_Pod_1_ZN_1_FLR_2", "Corner_Class_2_Pod_2_ZN_1_FLR_1", "Corner_Class_2_Pod_2_ZN_1_FLR_2", "Corner_Class_2_Pod_3_ZN_1_FLR_1", "Corner_Class_2_Pod_3_ZN_1_FLR_2", "Mult_Class_1_Pod_1_ZN_1_FLR_1", "Mult_Class_1_Pod_1_ZN_1_FLR_2", "Mult_Class_1_Pod_2_ZN_1_FLR_1", "Mult_Class_1_Pod_2_ZN_1_FLR_2", "Mult_Class_1_Pod_3_ZN_1_FLR_1", "Mult_Class_1_Pod_3_ZN_1_FLR_2", "Mult_Class_2_Pod_1_ZN_1_FLR_1", "Mult_Class_2_Pod_1_ZN_1_FLR_2", "Mult_Class_2_Pod_2_ZN_1_FLR_1", "Mult_Class_2_Pod_2_ZN_1_FLR_2", "Mult_Class_2_Pod_3_ZN_1_FLR_1", "Mult_Class_2_Pod_3_ZN_1_FLR_2"],
61
+ "Corr. >= 2.4m wide" => ["Corridor_Pod_1_ZN_1_FLR_1", "Corridor_Pod_1_ZN_1_FLR_2", "Corridor_Pod_2_ZN_1_FLR_1", "Corridor_Pod_2_ZN_1_FLR_2", "Corridor_Pod_3_ZN_1_FLR_1", "Corridor_Pod_3_ZN_1_FLR_2", "Main_Corridor_ZN_1_FLR_1", "Main_Corridor_ZN_1_FLR_2"],
62
+ "Food preparation" => ["Kitchen_ZN_1_FLR_1"],
63
+ "Library - reading" => ["LIBRARY_MEDIA_CENTER_ZN_1_FLR_2"],
64
+ "Lobby - elevator" => ["Lobby_ZN_1_FLR_1", "Lobby_ZN_1_FLR_2"],
65
+ "Electrical/Mechanical" => ["Mech_ZN_1_FLR_1", "Mech_ZN_1_FLR_2"],
66
+ "Office - enclosed" => ["Offices_ZN_1_FLR_1", "Offices_ZN_1_FLR_2"]
67
+ }
53
68
  else
54
- space_type_map = {
55
- 'Office' => ['Offices_ZN_1_FLR_1', 'Offices_ZN_1_FLR_2'],
56
- 'Lobby' => ['Lobby_ZN_1_FLR_2', 'Lobby_ZN_1_FLR_1'],
57
- 'Gym' => ['Gym_ZN_1_FLR_1', 'Aux_Gym_ZN_1_FLR_1'],
58
- 'Mechanical' => ['Mech_ZN_1_FLR_2', 'Mech_ZN_1_FLR_1'],
59
- 'Cafeteria' => ['Cafeteria_ZN_1_FLR_1'],
60
- 'Kitchen' => ['Kitchen_ZN_1_FLR_1'],
61
- 'Restroom' => ['Bathrooms_ZN_1_FLR_2', 'Bathrooms_ZN_1_FLR_1'],
62
- 'Auditorium' => ['Auditorium_ZN_1_FLR_1'],
63
- 'Library' => ['LIBRARY_MEDIA_CENTER_ZN_1_FLR_2'],
64
- 'Corridor' => ['Corridor_Pod_1_ZN_1_FLR_1', 'Corridor_Pod_3_ZN_1_FLR_2',
65
- 'Main_Corridor_ZN_1_FLR_2', 'Main_Corridor_ZN_1_FLR_1',
66
- 'Corridor_Pod_3_ZN_1_FLR_1', 'Corridor_Pod_1_ZN_1_FLR_2',
67
- 'Corridor_Pod_2_ZN_1_FLR_1', 'Corridor_Pod_2_ZN_1_FLR_2'],
68
- 'Classroom' => [
69
- 'Mult_Class_2_Pod_2_ZN_1_FLR_2',
70
- 'Mult_Class_2_Pod_3_ZN_1_FLR_1',
71
- 'Corner_Class_2_Pod_1_ZN_1_FLR_1',
72
- 'Mult_Class_2_Pod_1_ZN_1_FLR_2',
73
- 'Corner_Class_1_Pod_1_ZN_1_FLR_1',
74
- 'Corner_Class_2_Pod_1_ZN_1_FLR_2',
75
- 'Corner_Class_1_Pod_2_ZN_1_FLR_2',
76
- 'Mult_Class_1_Pod_1_ZN_1_FLR_2',
77
- 'Corner_Class_2_Pod_2_ZN_1_FLR_2',
78
- 'Mult_Class_2_Pod_2_ZN_1_FLR_1',
79
- 'Mult_Class_2_Pod_3_ZN_1_FLR_2',
80
- 'Corner_Class_1_Pod_3_ZN_1_FLR_1',
81
- 'Mult_Class_1_Pod_1_ZN_1_FLR_1',
82
- 'Mult_Class_1_Pod_2_ZN_1_FLR_2',
83
- 'Mult_Class_1_Pod_2_ZN_1_FLR_1',
84
- 'Mult_Class_2_Pod_1_ZN_1_FLR_1',
85
- 'Mult_Class_1_Pod_3_ZN_1_FLR_1',
86
- 'Corner_Class_1_Pod_1_ZN_1_FLR_2',
87
- 'Corner_Class_1_Pod_2_ZN_1_FLR_1',
88
- 'Corner_Class_2_Pod_2_ZN_1_FLR_1',
89
- 'Corner_Class_1_Pod_3_ZN_1_FLR_2',
90
- 'Mult_Class_1_Pod_3_ZN_1_FLR_2',
91
- 'Corner_Class_2_Pod_3_ZN_1_FLR_1',
92
- 'Corner_Class_2_Pod_3_ZN_1_FLR_2'
93
- ]
94
- }
69
+ space_type_map = {
70
+ 'Office' => ['Offices_ZN_1_FLR_1', 'Offices_ZN_1_FLR_2'],
71
+ 'Lobby' => ['Lobby_ZN_1_FLR_2', 'Lobby_ZN_1_FLR_1'],
72
+ 'Gym' => ['Gym_ZN_1_FLR_1', 'Aux_Gym_ZN_1_FLR_1'],
73
+ 'Mechanical' => ['Mech_ZN_1_FLR_2', 'Mech_ZN_1_FLR_1'],
74
+ 'Cafeteria' => ['Cafeteria_ZN_1_FLR_1'],
75
+ 'Kitchen' => ['Kitchen_ZN_1_FLR_1'],
76
+ 'Restroom' => ['Bathrooms_ZN_1_FLR_2', 'Bathrooms_ZN_1_FLR_1'],
77
+ 'Auditorium' => ['Auditorium_ZN_1_FLR_1'],
78
+ 'Library' => ['LIBRARY_MEDIA_CENTER_ZN_1_FLR_2'],
79
+ 'Corridor' => ['Corridor_Pod_1_ZN_1_FLR_1', 'Corridor_Pod_3_ZN_1_FLR_2',
80
+ 'Main_Corridor_ZN_1_FLR_2', 'Main_Corridor_ZN_1_FLR_1',
81
+ 'Corridor_Pod_3_ZN_1_FLR_1', 'Corridor_Pod_1_ZN_1_FLR_2',
82
+ 'Corridor_Pod_2_ZN_1_FLR_1', 'Corridor_Pod_2_ZN_1_FLR_2'],
83
+ 'Classroom' => [
84
+ 'Mult_Class_2_Pod_2_ZN_1_FLR_2',
85
+ 'Mult_Class_2_Pod_3_ZN_1_FLR_1',
86
+ 'Corner_Class_2_Pod_1_ZN_1_FLR_1',
87
+ 'Mult_Class_2_Pod_1_ZN_1_FLR_2',
88
+ 'Corner_Class_1_Pod_1_ZN_1_FLR_1',
89
+ 'Corner_Class_2_Pod_1_ZN_1_FLR_2',
90
+ 'Corner_Class_1_Pod_2_ZN_1_FLR_2',
91
+ 'Mult_Class_1_Pod_1_ZN_1_FLR_2',
92
+ 'Corner_Class_2_Pod_2_ZN_1_FLR_2',
93
+ 'Mult_Class_2_Pod_2_ZN_1_FLR_1',
94
+ 'Mult_Class_2_Pod_3_ZN_1_FLR_2',
95
+ 'Corner_Class_1_Pod_3_ZN_1_FLR_1',
96
+ 'Mult_Class_1_Pod_1_ZN_1_FLR_1',
97
+ 'Mult_Class_1_Pod_2_ZN_1_FLR_2',
98
+ 'Mult_Class_1_Pod_2_ZN_1_FLR_1',
99
+ 'Mult_Class_2_Pod_1_ZN_1_FLR_1',
100
+ 'Mult_Class_1_Pod_3_ZN_1_FLR_1',
101
+ 'Corner_Class_1_Pod_1_ZN_1_FLR_2',
102
+ 'Corner_Class_1_Pod_2_ZN_1_FLR_1',
103
+ 'Corner_Class_2_Pod_2_ZN_1_FLR_1',
104
+ 'Corner_Class_1_Pod_3_ZN_1_FLR_2',
105
+ 'Mult_Class_1_Pod_3_ZN_1_FLR_2',
106
+ 'Corner_Class_2_Pod_3_ZN_1_FLR_1',
107
+ 'Corner_Class_2_Pod_3_ZN_1_FLR_2'
108
+ ]
109
+ }
95
110
  end
96
111
 
112
+
97
113
  return space_type_map
98
114
 
99
115
  end
@@ -106,297 +122,297 @@ class OpenStudio::Model::Model
106
122
  when 'DOE Ref Pre-1980'
107
123
  system_to_space_map = [
108
124
  {
109
- 'type' => 'CAV',
110
- 'name' => 'CAV_POD_1',
111
- 'space_names' =>
125
+ 'type' => 'CAV',
126
+ 'name' => 'CAV_POD_1',
127
+ 'space_names' =>
112
128
  [
113
- 'Corner_Class_1_Pod_1_ZN_1_FLR_1',
114
- 'Corner_Class_1_Pod_1_ZN_1_FLR_2',
115
- 'Mult_Class_1_Pod_1_ZN_1_FLR_1',
116
- 'Mult_Class_1_Pod_1_ZN_1_FLR_2',
117
- 'Corridor_Pod_1_ZN_1_FLR_1',
118
- 'Corridor_Pod_1_ZN_1_FLR_2',
119
- 'Corner_Class_2_Pod_1_ZN_1_FLR_1',
120
- 'Corner_Class_2_Pod_1_ZN_1_FLR_2',
121
- 'Mult_Class_2_Pod_1_ZN_1_FLR_1',
122
- 'Mult_Class_2_Pod_1_ZN_1_FLR_2'
123
- ]
129
+ 'Corner_Class_1_Pod_1_ZN_1_FLR_1',
130
+ 'Corner_Class_1_Pod_1_ZN_1_FLR_2',
131
+ 'Mult_Class_1_Pod_1_ZN_1_FLR_1',
132
+ 'Mult_Class_1_Pod_1_ZN_1_FLR_2',
133
+ 'Corridor_Pod_1_ZN_1_FLR_1',
134
+ 'Corridor_Pod_1_ZN_1_FLR_2',
135
+ 'Corner_Class_2_Pod_1_ZN_1_FLR_1',
136
+ 'Corner_Class_2_Pod_1_ZN_1_FLR_2',
137
+ 'Mult_Class_2_Pod_1_ZN_1_FLR_1',
138
+ 'Mult_Class_2_Pod_1_ZN_1_FLR_2'
139
+ ]
124
140
  },
125
141
  {
126
- 'type' => 'CAV',
127
- 'name' => 'CAV_POD_2',
128
- 'space_names' =>
142
+ 'type' => 'CAV',
143
+ 'name' => 'CAV_POD_2',
144
+ 'space_names' =>
129
145
  [
130
- 'Corner_Class_1_Pod_2_ZN_1_FLR_1',
131
- 'Corner_Class_1_Pod_2_ZN_1_FLR_2',
132
- 'Mult_Class_1_Pod_2_ZN_1_FLR_1',
133
- 'Mult_Class_1_Pod_2_ZN_1_FLR_2',
134
- 'Corridor_Pod_2_ZN_1_FLR_1',
135
- 'Corridor_Pod_2_ZN_1_FLR_2',
136
- 'Corner_Class_2_Pod_2_ZN_1_FLR_1',
137
- 'Corner_Class_2_Pod_2_ZN_1_FLR_2',
138
- 'Mult_Class_2_Pod_2_ZN_1_FLR_1',
139
- 'Mult_Class_2_Pod_2_ZN_1_FLR_2'
140
- ]
146
+ 'Corner_Class_1_Pod_2_ZN_1_FLR_1',
147
+ 'Corner_Class_1_Pod_2_ZN_1_FLR_2',
148
+ 'Mult_Class_1_Pod_2_ZN_1_FLR_1',
149
+ 'Mult_Class_1_Pod_2_ZN_1_FLR_2',
150
+ 'Corridor_Pod_2_ZN_1_FLR_1',
151
+ 'Corridor_Pod_2_ZN_1_FLR_2',
152
+ 'Corner_Class_2_Pod_2_ZN_1_FLR_1',
153
+ 'Corner_Class_2_Pod_2_ZN_1_FLR_2',
154
+ 'Mult_Class_2_Pod_2_ZN_1_FLR_1',
155
+ 'Mult_Class_2_Pod_2_ZN_1_FLR_2'
156
+ ]
141
157
  },
142
158
  {
143
- 'type' => 'CAV',
144
- 'name' => 'CAV_POD_3',
145
- 'space_names' =>
159
+ 'type' => 'CAV',
160
+ 'name' => 'CAV_POD_3',
161
+ 'space_names' =>
146
162
  [
147
- 'Corner_Class_1_Pod_3_ZN_1_FLR_1',
148
- 'Corner_Class_1_Pod_3_ZN_1_FLR_2',
149
- 'Mult_Class_1_Pod_3_ZN_1_FLR_1',
150
- 'Mult_Class_1_Pod_3_ZN_1_FLR_2',
151
- 'Corridor_Pod_3_ZN_1_FLR_1',
152
- 'Corridor_Pod_3_ZN_1_FLR_2',
153
- 'Corner_Class_2_Pod_3_ZN_1_FLR_1',
154
- 'Corner_Class_2_Pod_3_ZN_1_FLR_2',
155
- 'Mult_Class_2_Pod_3_ZN_1_FLR_1',
156
- 'Mult_Class_2_Pod_3_ZN_1_FLR_2'
157
- ]
163
+ 'Corner_Class_1_Pod_3_ZN_1_FLR_1',
164
+ 'Corner_Class_1_Pod_3_ZN_1_FLR_2',
165
+ 'Mult_Class_1_Pod_3_ZN_1_FLR_1',
166
+ 'Mult_Class_1_Pod_3_ZN_1_FLR_2',
167
+ 'Corridor_Pod_3_ZN_1_FLR_1',
168
+ 'Corridor_Pod_3_ZN_1_FLR_2',
169
+ 'Corner_Class_2_Pod_3_ZN_1_FLR_1',
170
+ 'Corner_Class_2_Pod_3_ZN_1_FLR_2',
171
+ 'Mult_Class_2_Pod_3_ZN_1_FLR_1',
172
+ 'Mult_Class_2_Pod_3_ZN_1_FLR_2'
173
+ ]
158
174
  },
159
175
  {
160
- 'type' => 'CAV',
161
- 'name' => 'CAV_OTHER',
162
- 'space_names' =>
176
+ 'type' => 'CAV',
177
+ 'name' => 'CAV_OTHER',
178
+ 'space_names' =>
163
179
  [
164
- 'Main_Corridor_ZN_1_FLR_1',
165
- 'Main_Corridor_ZN_1_FLR_2',
166
- 'Lobby_ZN_1_FLR_1',
167
- 'Lobby_ZN_1_FLR_2',
168
- 'Bathrooms_ZN_1_FLR_1',
169
- 'Bathrooms_ZN_1_FLR_2',
170
- 'Offices_ZN_1_FLR_1',
171
- 'Offices_ZN_1_FLR_2',
172
- 'LIBRARY_MEDIA_CENTER_ZN_1_FLR_2',
173
- 'Mech_ZN_1_FLR_1',
174
- 'Mech_ZN_1_FLR_2'
175
- ]
180
+ 'Main_Corridor_ZN_1_FLR_1',
181
+ 'Main_Corridor_ZN_1_FLR_2',
182
+ 'Lobby_ZN_1_FLR_1',
183
+ 'Lobby_ZN_1_FLR_2',
184
+ 'Bathrooms_ZN_1_FLR_1',
185
+ 'Bathrooms_ZN_1_FLR_2',
186
+ 'Offices_ZN_1_FLR_1',
187
+ 'Offices_ZN_1_FLR_2',
188
+ 'LIBRARY_MEDIA_CENTER_ZN_1_FLR_2',
189
+ 'Mech_ZN_1_FLR_1',
190
+ 'Mech_ZN_1_FLR_2'
191
+ ]
176
192
  },
177
193
  {
178
- 'type' => 'PSZ-AC',
179
- 'name' => 'PSZ-AC_1-5',
180
- 'space_names' =>
194
+ 'type' => 'PSZ-AC',
195
+ 'name' => 'PSZ-AC_1-5',
196
+ 'space_names' =>
181
197
  [
182
- 'Gym_ZN_1_FLR_1'
183
- ]
198
+ 'Gym_ZN_1_FLR_1'
199
+ ]
184
200
  },
185
201
  {
186
- 'type' => 'PSZ-AC',
187
- 'name' => 'PSZ-AC_2-6',
188
- 'space_names' =>
202
+ 'type' => 'PSZ-AC',
203
+ 'name' => 'PSZ-AC_2-6',
204
+ 'space_names' =>
189
205
  [
190
- 'Aux_Gym_ZN_1_FLR_1'
191
- ]
206
+ 'Aux_Gym_ZN_1_FLR_1'
207
+ ]
192
208
  },
193
209
  {
194
- 'type' => 'PSZ-AC',
195
- 'name' => 'PSZ-AC_3-7',
196
- 'space_names' =>
210
+ 'type' => 'PSZ-AC',
211
+ 'name' => 'PSZ-AC_3-7',
212
+ 'space_names' =>
197
213
  [
198
- 'Auditorium_ZN_1_FLR_1'
199
- ]
214
+ 'Auditorium_ZN_1_FLR_1'
215
+ ]
200
216
  },
201
217
  {
202
- 'type' => 'PSZ-AC',
203
- 'name' => 'PSZ-AC_4-8',
204
- 'space_names' =>
218
+ 'type' => 'PSZ-AC',
219
+ 'name' => 'PSZ-AC_4-8',
220
+ 'space_names' =>
205
221
  [
206
- 'Kitchen_ZN_1_FLR_1'
207
- ]
222
+ 'Kitchen_ZN_1_FLR_1'
223
+ ]
208
224
  },
209
225
  {
210
- 'type' => 'PSZ-AC',
211
- 'name' => 'PSZ-AC_5-9',
212
- 'space_names' =>
226
+ 'type' => 'PSZ-AC',
227
+ 'name' => 'PSZ-AC_5-9',
228
+ 'space_names' =>
213
229
  [
214
- 'Cafeteria_ZN_1_FLR_1'
215
- ]
230
+ 'Cafeteria_ZN_1_FLR_1'
231
+ ]
216
232
  },
217
233
  {
218
- 'type' => 'Exhaust Fan',
219
- 'name' => 'Kitchen Exhaust Fan',
220
- 'availability_sch_name' => 'SchoolSecondary Kitchen_Exhaust_SCH',
221
- 'flow_rate' => OpenStudio.convert(5400,'cfm','m^3/s').get,
222
- 'flow_fraction_schedule_name' => 'SchoolSecondary Kitchen_Exhaust_SCH_DCV',
223
- 'balanced_exhaust_fraction_schedule_name' => 'SchoolSecondary Kitchen Exhaust Fan Balanced Exhaust Fraction Schedule',
224
- 'space_names' =>
234
+ 'type' => 'Exhaust Fan',
235
+ 'name' => 'Kitchen Exhaust Fan',
236
+ 'availability_sch_name' => 'SchoolSecondary Kitchen_Exhaust_SCH',
237
+ 'flow_rate' => OpenStudio.convert(5400,'cfm','m^3/s').get,
238
+ 'flow_fraction_schedule_name' => 'SchoolSecondary Kitchen_Exhaust_SCH_DCV',
239
+ 'balanced_exhaust_fraction_schedule_name' => 'SchoolSecondary Kitchen Exhaust Fan Balanced Exhaust Fraction Schedule',
240
+ 'space_names' =>
225
241
  [
226
- 'Kitchen_ZN_1_FLR_1'
227
- ]
242
+ 'Kitchen_ZN_1_FLR_1'
243
+ ]
228
244
  },
229
245
  {
230
- 'type' => 'Exhaust Fan',
231
- 'name' => 'Bathrooms_ZN_1_FLR_1',
232
- 'availability_sch_name' => 'SchoolSecondary Hours_of_operation',
233
- 'flow_rate' => OpenStudio.convert(600,'cfm','m^3/s').get,
234
- 'space_names' =>
246
+ 'type' => 'Exhaust Fan',
247
+ 'name' => 'Bathrooms_ZN_1_FLR_1',
248
+ 'availability_sch_name' => 'SchoolSecondary Hours_of_operation',
249
+ 'flow_rate' => OpenStudio.convert(600,'cfm','m^3/s').get,
250
+ 'space_names' =>
235
251
  [
236
- 'Bathrooms_ZN_1_FLR_1'
237
- ]
252
+ 'Bathrooms_ZN_1_FLR_1'
253
+ ]
238
254
  },
239
255
  {
240
- 'type' => 'Exhaust Fan',
241
- 'name' => 'Bathrooms_ZN_1_FLR_2',
242
- 'availability_sch_name' => 'SchoolSecondary Hours_of_operation',
243
- 'flow_rate' => OpenStudio.convert(600,'cfm','m^3/s').get,
244
- 'space_names' =>
256
+ 'type' => 'Exhaust Fan',
257
+ 'name' => 'Bathrooms_ZN_1_FLR_2',
258
+ 'availability_sch_name' => 'SchoolSecondary Hours_of_operation',
259
+ 'flow_rate' => OpenStudio.convert(600,'cfm','m^3/s').get,
260
+ 'space_names' =>
245
261
  [
246
- 'Bathrooms_ZN_1_FLR_2'
247
- ]
262
+ 'Bathrooms_ZN_1_FLR_2'
263
+ ]
248
264
  },
249
265
  {
250
- 'type' => 'Refrigeration',
251
- 'case_type' => 'Walkin Freezer',
252
- 'cooling_capacity_per_length' => 734.0,
253
- 'length' => 7.32,
254
- 'evaporator_fan_pwr_per_length' => 68.3,
255
- 'lighting_per_length' => 33.0,
256
- 'lighting_sch_name' => 'SchoolSecondary BLDG_LIGHT_SCH',
257
- 'defrost_pwr_per_length' => 410.0,
258
- 'restocking_sch_name' => 'SchoolSecondary Kitchen_ZN_1_FLR_1_Case:1_WALKINFREEZER_WalkInStockingSched',
259
- 'cop' => 1.5,
260
- 'cop_f_of_t_curve_name' => 'RACK1_RackCOPfTCurve',
261
- 'condenser_fan_pwr' => 750.0,
262
- 'condenser_fan_pwr_curve_name' => 'RACK1_RackCondFanCurve2',
263
- 'space_names' =>
266
+ 'type' => 'Refrigeration',
267
+ 'case_type' => 'Walkin Freezer',
268
+ 'cooling_capacity_per_length' => 734.0,
269
+ 'length' => 7.32,
270
+ 'evaporator_fan_pwr_per_length' => 68.3,
271
+ 'lighting_per_length' => 33.0,
272
+ 'lighting_sch_name' => 'SchoolSecondary BLDG_LIGHT_SCH',
273
+ 'defrost_pwr_per_length' => 410.0,
274
+ 'restocking_sch_name' => 'SchoolSecondary Kitchen_ZN_1_FLR_1_Case:1_WALKINFREEZER_WalkInStockingSched',
275
+ 'cop' => 1.5,
276
+ 'cop_f_of_t_curve_name' => 'RACK1_RackCOPfTCurve',
277
+ 'condenser_fan_pwr' => 750.0,
278
+ 'condenser_fan_pwr_curve_name' => 'RACK1_RackCondFanCurve2',
279
+ 'space_names' =>
264
280
  [
265
- 'Kitchen_ZN_1_FLR_1'
266
- ]
281
+ 'Kitchen_ZN_1_FLR_1'
282
+ ]
267
283
  },
268
284
  {
269
- 'type' => 'Refrigeration',
270
- 'case_type' => 'Display Case',
271
- 'cooling_capacity_per_length' => 734.0,
272
- 'length' => 7.32,
273
- 'evaporator_fan_pwr_per_length' => 55.0,
274
- 'lighting_per_length' => 33.0,
275
- 'lighting_sch_name' => 'SchoolSecondary BLDG_LIGHT_SCH',
276
- 'defrost_pwr_per_length' => 0.0,
277
- 'restocking_sch_name' => 'SchoolSecondary Kitchen_ZN_1_FLR_1_Case:1_WALKINFREEZER_WalkInStockingSched',
278
- 'cop' => 3.0,
279
- 'cop_f_of_t_curve_name' => 'RACK2_RackCOPfTCurve',
280
- 'condenser_fan_pwr' => 750.0,
281
- 'condenser_fan_pwr_curve_name' => 'RACK1_RackCondFanCurve2',
282
- 'space_names' =>
285
+ 'type' => 'Refrigeration',
286
+ 'case_type' => 'Display Case',
287
+ 'cooling_capacity_per_length' => 734.0,
288
+ 'length' => 7.32,
289
+ 'evaporator_fan_pwr_per_length' => 55.0,
290
+ 'lighting_per_length' => 33.0,
291
+ 'lighting_sch_name' => 'SchoolSecondary BLDG_LIGHT_SCH',
292
+ 'defrost_pwr_per_length' => 0.0,
293
+ 'restocking_sch_name' => 'SchoolSecondary Kitchen_ZN_1_FLR_1_Case:1_WALKINFREEZER_WalkInStockingSched',
294
+ 'cop' => 3.0,
295
+ 'cop_f_of_t_curve_name' => 'RACK2_RackCOPfTCurve',
296
+ 'condenser_fan_pwr' => 750.0,
297
+ 'condenser_fan_pwr_curve_name' => 'RACK1_RackCondFanCurve2',
298
+ 'space_names' =>
283
299
  [
284
- 'Kitchen_ZN_1_FLR_1'
285
- ]
300
+ 'Kitchen_ZN_1_FLR_1'
301
+ ]
286
302
  }
287
303
  ]
288
304
  else
289
305
  system_to_space_map = [
290
- {
306
+ {
291
307
  'type' => 'VAV',
292
308
  'name' => 'VAV_POD_1',
293
309
  'space_names' =>
294
- [
295
- 'Corner_Class_1_Pod_1_ZN_1_FLR_1',
296
- 'Corner_Class_1_Pod_1_ZN_1_FLR_2',
297
- 'Mult_Class_1_Pod_1_ZN_1_FLR_1',
298
- 'Mult_Class_1_Pod_1_ZN_1_FLR_2',
299
- 'Corridor_Pod_1_ZN_1_FLR_1',
300
- 'Corridor_Pod_1_ZN_1_FLR_2',
301
- 'Corner_Class_2_Pod_1_ZN_1_FLR_1',
302
- 'Corner_Class_2_Pod_1_ZN_1_FLR_2',
303
- 'Mult_Class_2_Pod_1_ZN_1_FLR_1',
304
- 'Mult_Class_2_Pod_1_ZN_1_FLR_2'
310
+ [
311
+ 'Corner_Class_1_Pod_1_ZN_1_FLR_1',
312
+ 'Corner_Class_1_Pod_1_ZN_1_FLR_2',
313
+ 'Mult_Class_1_Pod_1_ZN_1_FLR_1',
314
+ 'Mult_Class_1_Pod_1_ZN_1_FLR_2',
315
+ 'Corridor_Pod_1_ZN_1_FLR_1',
316
+ 'Corridor_Pod_1_ZN_1_FLR_2',
317
+ 'Corner_Class_2_Pod_1_ZN_1_FLR_1',
318
+ 'Corner_Class_2_Pod_1_ZN_1_FLR_2',
319
+ 'Mult_Class_2_Pod_1_ZN_1_FLR_1',
320
+ 'Mult_Class_2_Pod_1_ZN_1_FLR_2'
305
321
  ]
306
- },
307
- {
322
+ },
323
+ {
308
324
  'type' => 'VAV',
309
325
  'name' => 'VAV_POD_2',
310
326
  'space_names' =>
311
- [
312
- 'Corner_Class_1_Pod_2_ZN_1_FLR_1',
313
- 'Corner_Class_1_Pod_2_ZN_1_FLR_2',
314
- 'Mult_Class_1_Pod_2_ZN_1_FLR_1',
315
- 'Mult_Class_1_Pod_2_ZN_1_FLR_2',
316
- 'Corridor_Pod_2_ZN_1_FLR_1',
317
- 'Corridor_Pod_2_ZN_1_FLR_2',
318
- 'Corner_Class_2_Pod_2_ZN_1_FLR_1',
319
- 'Corner_Class_2_Pod_2_ZN_1_FLR_2',
320
- 'Mult_Class_2_Pod_2_ZN_1_FLR_1',
321
- 'Mult_Class_2_Pod_2_ZN_1_FLR_2'
327
+ [
328
+ 'Corner_Class_1_Pod_2_ZN_1_FLR_1',
329
+ 'Corner_Class_1_Pod_2_ZN_1_FLR_2',
330
+ 'Mult_Class_1_Pod_2_ZN_1_FLR_1',
331
+ 'Mult_Class_1_Pod_2_ZN_1_FLR_2',
332
+ 'Corridor_Pod_2_ZN_1_FLR_1',
333
+ 'Corridor_Pod_2_ZN_1_FLR_2',
334
+ 'Corner_Class_2_Pod_2_ZN_1_FLR_1',
335
+ 'Corner_Class_2_Pod_2_ZN_1_FLR_2',
336
+ 'Mult_Class_2_Pod_2_ZN_1_FLR_1',
337
+ 'Mult_Class_2_Pod_2_ZN_1_FLR_2'
322
338
  ]
323
- },
324
- {
339
+ },
340
+ {
325
341
  'type' => 'VAV',
326
342
  'name' => 'VAV_POD_3',
327
343
  'space_names' =>
328
- [
329
- 'Corner_Class_1_Pod_3_ZN_1_FLR_1',
330
- 'Corner_Class_1_Pod_3_ZN_1_FLR_2',
331
- 'Mult_Class_1_Pod_3_ZN_1_FLR_1',
332
- 'Mult_Class_1_Pod_3_ZN_1_FLR_2',
333
- 'Corridor_Pod_3_ZN_1_FLR_1',
334
- 'Corridor_Pod_3_ZN_1_FLR_2',
335
- 'Corner_Class_2_Pod_3_ZN_1_FLR_1',
336
- 'Corner_Class_2_Pod_3_ZN_1_FLR_2',
337
- 'Mult_Class_2_Pod_3_ZN_1_FLR_1',
338
- 'Mult_Class_2_Pod_3_ZN_1_FLR_2'
344
+ [
345
+ 'Corner_Class_1_Pod_3_ZN_1_FLR_1',
346
+ 'Corner_Class_1_Pod_3_ZN_1_FLR_2',
347
+ 'Mult_Class_1_Pod_3_ZN_1_FLR_1',
348
+ 'Mult_Class_1_Pod_3_ZN_1_FLR_2',
349
+ 'Corridor_Pod_3_ZN_1_FLR_1',
350
+ 'Corridor_Pod_3_ZN_1_FLR_2',
351
+ 'Corner_Class_2_Pod_3_ZN_1_FLR_1',
352
+ 'Corner_Class_2_Pod_3_ZN_1_FLR_2',
353
+ 'Mult_Class_2_Pod_3_ZN_1_FLR_1',
354
+ 'Mult_Class_2_Pod_3_ZN_1_FLR_2'
339
355
  ]
340
- },
341
- {
356
+ },
357
+ {
342
358
  'type' => 'VAV',
343
359
  'name' => 'VAV_OTHER',
344
360
  'space_names' =>
345
- [
346
- 'Main_Corridor_ZN_1_FLR_1',
347
- 'Main_Corridor_ZN_1_FLR_2',
348
- 'Lobby_ZN_1_FLR_1',
349
- 'Lobby_ZN_1_FLR_2',
350
- 'Bathrooms_ZN_1_FLR_1',
351
- 'Bathrooms_ZN_1_FLR_2',
352
- 'Offices_ZN_1_FLR_1',
353
- 'Offices_ZN_1_FLR_2',
354
- 'LIBRARY_MEDIA_CENTER_ZN_1_FLR_2',
355
- 'Mech_ZN_1_FLR_1',
356
- 'Mech_ZN_1_FLR_2'
361
+ [
362
+ 'Main_Corridor_ZN_1_FLR_1',
363
+ 'Main_Corridor_ZN_1_FLR_2',
364
+ 'Lobby_ZN_1_FLR_1',
365
+ 'Lobby_ZN_1_FLR_2',
366
+ 'Bathrooms_ZN_1_FLR_1',
367
+ 'Bathrooms_ZN_1_FLR_2',
368
+ 'Offices_ZN_1_FLR_1',
369
+ 'Offices_ZN_1_FLR_2',
370
+ 'LIBRARY_MEDIA_CENTER_ZN_1_FLR_2',
371
+ 'Mech_ZN_1_FLR_1',
372
+ 'Mech_ZN_1_FLR_2'
357
373
  ]
358
- },
359
- {
374
+ },
375
+ {
360
376
  'type' => 'PSZ-AC',
361
377
  'name' => 'PSZ-AC_1-5',
362
378
  'space_names' =>
363
- [
364
- 'Gym_ZN_1_FLR_1'
379
+ [
380
+ 'Gym_ZN_1_FLR_1'
365
381
  ]
366
- },
367
- {
382
+ },
383
+ {
368
384
  'type' => 'PSZ-AC',
369
385
  'name' => 'PSZ-AC_2-6',
370
386
  'space_names' =>
371
- [
372
- 'Aux_Gym_ZN_1_FLR_1'
387
+ [
388
+ 'Aux_Gym_ZN_1_FLR_1'
373
389
  ]
374
- },
375
- {
390
+ },
391
+ {
376
392
  'type' => 'PSZ-AC',
377
393
  'name' => 'PSZ-AC_3-7',
378
394
  'space_names' =>
379
- [
380
- 'Auditorium_ZN_1_FLR_1'
395
+ [
396
+ 'Auditorium_ZN_1_FLR_1'
381
397
  ]
382
- },
383
- {
398
+ },
399
+ {
384
400
  'type' => 'PSZ-AC',
385
401
  'name' => 'PSZ-AC_4-8',
386
402
  'space_names' =>
387
- [
388
- 'Kitchen_ZN_1_FLR_1'
403
+ [
404
+ 'Kitchen_ZN_1_FLR_1'
389
405
  ]
390
- },
391
- {
406
+ },
407
+ {
392
408
  'type' => 'PSZ-AC',
393
409
  'name' => 'PSZ-AC_5-9',
394
410
  'space_names' =>
395
- [
396
- 'Cafeteria_ZN_1_FLR_1'
411
+ [
412
+ 'Cafeteria_ZN_1_FLR_1'
397
413
  ]
398
- },
399
- {
414
+ },
415
+ {
400
416
  'type' => 'Exhaust Fan',
401
417
  'name' => 'Kitchen Exhaust Fan',
402
418
  'availability_sch_name' => 'SchoolSecondary Kitchen_Exhaust_SCH',
@@ -404,31 +420,31 @@ class OpenStudio::Model::Model
404
420
  'flow_fraction_schedule_name' => 'SchoolSecondary Kitchen_Exhaust_SCH_DCV',
405
421
  'balanced_exhaust_fraction_schedule_name' => 'SchoolSecondary Kitchen Exhaust Fan Balanced Exhaust Fraction Schedule',
406
422
  'space_names' =>
407
- [
408
- 'Kitchen_ZN_1_FLR_1'
423
+ [
424
+ 'Kitchen_ZN_1_FLR_1'
409
425
  ]
410
- },
411
- {
426
+ },
427
+ {
412
428
  'type' => 'Exhaust Fan',
413
429
  'name' => 'Bathrooms_ZN_1_FLR_1',
414
430
  'availability_sch_name' => 'SchoolSecondary Hours_of_operation',
415
431
  'flow_rate' => OpenStudio.convert(600,'cfm','m^3/s').get,
416
432
  'space_names' =>
417
- [
418
- 'Bathrooms_ZN_1_FLR_1'
433
+ [
434
+ 'Bathrooms_ZN_1_FLR_1'
419
435
  ]
420
- },
421
- {
436
+ },
437
+ {
422
438
  'type' => 'Exhaust Fan',
423
439
  'name' => 'Bathrooms_ZN_1_FLR_2',
424
440
  'availability_sch_name' => 'SchoolSecondary Hours_of_operation',
425
441
  'flow_rate' => OpenStudio.convert(600,'cfm','m^3/s').get,
426
442
  'space_names' =>
427
- [
428
- 'Bathrooms_ZN_1_FLR_2'
443
+ [
444
+ 'Bathrooms_ZN_1_FLR_2'
429
445
  ]
430
- },
431
- {
446
+ },
447
+ {
432
448
  'type' => 'Refrigeration',
433
449
  'case_type' => 'Walkin Freezer',
434
450
  'cooling_capacity_per_length' => 734.0,
@@ -443,11 +459,11 @@ class OpenStudio::Model::Model
443
459
  'condenser_fan_pwr' => 750.0,
444
460
  'condenser_fan_pwr_curve_name' => 'RACK1_RackCondFanCurve2',
445
461
  'space_names' =>
446
- [
447
- 'Kitchen_ZN_1_FLR_1'
462
+ [
463
+ 'Kitchen_ZN_1_FLR_1'
448
464
  ]
449
- },
450
- {
465
+ },
466
+ {
451
467
  'type' => 'Refrigeration',
452
468
  'case_type' => 'Display Case',
453
469
  'cooling_capacity_per_length' => 734.0,
@@ -462,11 +478,11 @@ class OpenStudio::Model::Model
462
478
  'condenser_fan_pwr' => 750.0,
463
479
  'condenser_fan_pwr_curve_name' => 'RACK1_RackCondFanCurve2',
464
480
  'space_names' =>
465
- [
466
- 'Kitchen_ZN_1_FLR_1'
481
+ [
482
+ 'Kitchen_ZN_1_FLR_1'
467
483
  ]
468
- }
469
- ]
484
+ }
485
+ ]
470
486
  end
471
487
 
472
488
  return system_to_space_map
@@ -489,6 +505,7 @@ class OpenStudio::Model::Model
489
505
  prototype_input['elevator_fan_schedule'],
490
506
  building_type)
491
507
  end
508
+
492
509
 
493
510
  end
494
511