openstudio-standards 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
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