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
@@ -3,129 +3,147 @@
3
3
  class OpenStudio::Model::Model
4
4
 
5
5
  def define_space_type_map(building_type, building_vintage, climate_zone)
6
-
6
+
7
+ space_type_map = nil
8
+
7
9
  case building_vintage
8
10
  when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013'
9
11
  space_type_map = {
10
- 'Office' => ['Office'],
11
- 'Corridor' => ['G Corridor', 'M Corridor'],
12
- 'Corridor_topfloor' => ['T Corridor'],
13
- 'Apartment' => [
14
- 'G SW Apartment',
15
- 'G NW Apartment',
16
- 'G NE Apartment',
17
- 'G N1 Apartment',
18
- 'G N2 Apartment',
19
- 'G S1 Apartment',
20
- 'G S2 Apartment',
21
- 'M SW Apartment',
22
- 'M NW Apartment',
23
- 'M SE Apartment',
24
- 'M NE Apartment',
25
- 'M N1 Apartment',
26
- 'M N2 Apartment',
27
- 'M S1 Apartment',
28
- 'M S2 Apartment'
29
- ],
30
- 'Apartment_topfloor_WE' => [
31
- 'T SW Apartment',
32
- 'T NW Apartment',
33
- 'T SE Apartment',
34
- 'T NE Apartment'
35
- ],
36
- 'Apartment_topfloor_NS' => [
37
- 'T N1 Apartment',
38
- 'T N2 Apartment',
39
- 'T S1 Apartment',
40
- 'T S2 Apartment'
41
- ]
42
- }
12
+ 'Office' => ['Office'],
13
+ 'Corridor' => ['G Corridor', 'M Corridor'],
14
+ 'Corridor_topfloor' => ['T Corridor'],
15
+ 'Apartment' => [
16
+ 'G SW Apartment',
17
+ 'G NW Apartment',
18
+ 'G NE Apartment',
19
+ 'G N1 Apartment',
20
+ 'G N2 Apartment',
21
+ 'G S1 Apartment',
22
+ 'G S2 Apartment',
23
+ 'M SW Apartment',
24
+ 'M NW Apartment',
25
+ 'M SE Apartment',
26
+ 'M NE Apartment',
27
+ 'M N1 Apartment',
28
+ 'M N2 Apartment',
29
+ 'M S1 Apartment',
30
+ 'M S2 Apartment'
31
+ ],
32
+ 'Apartment_topfloor_WE' => [
33
+ 'T SW Apartment',
34
+ 'T NW Apartment',
35
+ 'T SE Apartment',
36
+ 'T NE Apartment'
37
+ ],
38
+ 'Apartment_topfloor_NS' => [
39
+ 'T N1 Apartment',
40
+ 'T N2 Apartment',
41
+ 'T S1 Apartment',
42
+ 'T S2 Apartment'
43
+ ]
44
+ }
43
45
  when 'DOE Ref 1980-2004', 'DOE Ref Pre-1980'
44
46
  space_type_map = {
45
- 'Office' => ['Office'],
46
- 'Corridor' => ['G Corridor', 'M Corridor', 'T Corridor'],
47
- 'Apartment' => [
48
- 'G SW Apartment',
49
- 'G NW Apartment',
50
- 'G NE Apartment',
51
- 'G N1 Apartment',
52
- 'G N2 Apartment',
53
- 'G S1 Apartment',
54
- 'G S2 Apartment',
55
- 'M SW Apartment',
56
- 'M NW Apartment',
57
- 'M SE Apartment',
58
- 'M NE Apartment',
59
- 'M N1 Apartment',
60
- 'M N2 Apartment',
61
- 'M S1 Apartment',
62
- 'M S2 Apartment',
63
- 'T SW Apartment',
64
- 'T NW Apartment',
65
- 'T SE Apartment',
66
- 'T NE Apartment',
67
- 'T N1 Apartment',
68
- 'T N2 Apartment',
69
- 'T S1 Apartment',
70
- 'T S2 Apartment'
71
- ]
72
- }
47
+ 'Office' => ['Office'],
48
+ 'Corridor' => ['G Corridor', 'M Corridor', 'T Corridor'],
49
+ 'Apartment' => [
50
+ 'G SW Apartment',
51
+ 'G NW Apartment',
52
+ 'G NE Apartment',
53
+ 'G N1 Apartment',
54
+ 'G N2 Apartment',
55
+ 'G S1 Apartment',
56
+ 'G S2 Apartment',
57
+ 'M SW Apartment',
58
+ 'M NW Apartment',
59
+ 'M SE Apartment',
60
+ 'M NE Apartment',
61
+ 'M N1 Apartment',
62
+ 'M N2 Apartment',
63
+ 'M S1 Apartment',
64
+ 'M S2 Apartment',
65
+ 'T SW Apartment',
66
+ 'T NW Apartment',
67
+ 'T SE Apartment',
68
+ 'T NE Apartment',
69
+ 'T N1 Apartment',
70
+ 'T N2 Apartment',
71
+ 'T S1 Apartment',
72
+ 'T S2 Apartment'
73
+ ]
74
+ }
75
+
76
+ when 'NECB 2011'
77
+ space_type_map ={
78
+ "Corr. < 2.4m wide" => ["G Corridor", "M Corridor", "T Corridor"],
79
+
80
+ "Dormitory - living quarters" => ["G N1 Apartment", "G N2 Apartment", "G NE Apartment",
81
+ "G NW Apartment", "G S1 Apartment", "G S2 Apartment",
82
+ "G SW Apartment", "M N1 Apartment", "M N2 Apartment",
83
+ "M NE Apartment", "M NW Apartment", "M S1 Apartment",
84
+ "M S2 Apartment", "M SE Apartment", "M SW Apartment",
85
+ "T N1 Apartment", "T N2 Apartment", "T NE Apartment",
86
+ "T NW Apartment", "T S1 Apartment", "T S2 Apartment",
87
+ "T SE Apartment", "T SW Apartment"],
88
+ "Office - enclosed" => ["Office"]
89
+ }
73
90
  end
74
91
 
75
92
  return space_type_map
76
93
  end
77
94
 
95
+
78
96
  def define_hvac_system_map(building_type, building_vintage, climate_zone)
79
97
  system_to_space_map = [
80
98
  {'type' => 'SAC',
81
- 'space_names' => ['G SW Apartment']},
99
+ 'space_names' => ['G SW Apartment']},
82
100
  {'type' => 'SAC',
83
- 'space_names' => ['G NW Apartment']},
101
+ 'space_names' => ['G NW Apartment']},
84
102
  {'type' => 'SAC',
85
- 'space_names' => ['G NE Apartment']},
103
+ 'space_names' => ['G NE Apartment']},
86
104
  {'type' => 'SAC',
87
- 'space_names' => ['G N1 Apartment']},
105
+ 'space_names' => ['G N1 Apartment']},
88
106
  {'type' => 'SAC',
89
- 'space_names' => ['G N2 Apartment']},
107
+ 'space_names' => ['G N2 Apartment']},
90
108
  {'type' => 'SAC',
91
- 'space_names' => ['G S1 Apartment']},
109
+ 'space_names' => ['G S1 Apartment']},
92
110
  {'type' => 'SAC',
93
- 'space_names' => ['G S2 Apartment']},
111
+ 'space_names' => ['G S2 Apartment']},
94
112
  {'type' => 'SAC',
95
- 'space_names' => ['M SW Apartment']},
113
+ 'space_names' => ['M SW Apartment']},
96
114
  {'type' => 'SAC',
97
- 'space_names' => ['M NW Apartment']},
115
+ 'space_names' => ['M NW Apartment']},
98
116
  {'type' => 'SAC',
99
- 'space_names' => ['M SE Apartment']},
117
+ 'space_names' => ['M SE Apartment']},
100
118
  {'type' => 'SAC',
101
- 'space_names' => ['M NE Apartment']},
119
+ 'space_names' => ['M NE Apartment']},
102
120
  {'type' => 'SAC',
103
- 'space_names' => ['M N1 Apartment']},
121
+ 'space_names' => ['M N1 Apartment']},
104
122
  {'type' => 'SAC',
105
- 'space_names' => ['M N2 Apartment']},
123
+ 'space_names' => ['M N2 Apartment']},
106
124
  {'type' => 'SAC',
107
- 'space_names' => ['M S1 Apartment']},
125
+ 'space_names' => ['M S1 Apartment']},
108
126
  {'type' => 'SAC',
109
- 'space_names' => ['M S2 Apartment']},
127
+ 'space_names' => ['M S2 Apartment']},
110
128
  {'type' => 'SAC',
111
- 'space_names' => ['T SW Apartment']},
129
+ 'space_names' => ['T SW Apartment']},
112
130
  {'type' => 'SAC',
113
- 'space_names' => ['T NW Apartment']},
131
+ 'space_names' => ['T NW Apartment']},
114
132
  {'type' => 'SAC',
115
- 'space_names' => ['T SE Apartment']},
133
+ 'space_names' => ['T SE Apartment']},
116
134
  {'type' => 'SAC',
117
- 'space_names' => ['T NE Apartment']},
135
+ 'space_names' => ['T NE Apartment']},
118
136
  {'type' => 'SAC',
119
- 'space_names' => ['T N1 Apartment']},
137
+ 'space_names' => ['T N1 Apartment']},
120
138
  {'type' => 'SAC',
121
- 'space_names' => ['T N2 Apartment']},
139
+ 'space_names' => ['T N2 Apartment']},
122
140
  {'type' => 'SAC',
123
- 'space_names' => ['T S1 Apartment']},
141
+ 'space_names' => ['T S1 Apartment']},
124
142
  {'type' => 'SAC',
125
- 'space_names' => ['T S2 Apartment']},
143
+ 'space_names' => ['T S2 Apartment']},
126
144
  {'type' => 'SAC',
127
- 'space_names' => ['Office']}
128
- ]
145
+ 'space_names' => ['Office']}
146
+ ]
129
147
 
130
148
  case building_vintage
131
149
  when 'DOE Ref 1980-2004', 'DOE Ref Pre-1980'
@@ -157,12 +175,14 @@ class OpenStudio::Model::Model
157
175
 
158
176
  OpenStudio::logFree(OpenStudio::Info, 'openstudio.model.Model', 'Started building type specific adjustments')
159
177
 
178
+
160
179
  # adjust the cooling setpoint
161
180
  self.adjust_clg_setpoint(building_vintage,climate_zone)
162
181
  # add elevator and lights&fans for the ground floor corridor
163
182
  self.add_extra_equip_corridor(building_vintage)
164
183
  # add extra infiltration for ground floor corridor
165
184
  self.add_door_infiltration(building_vintage,climate_zone)
185
+
166
186
 
167
187
  OpenStudio::logFree(OpenStudio::Info, 'openstudio.model.Model', 'Finished building type specific adjustments')
168
188
 
@@ -184,6 +204,7 @@ class OpenStudio::Model::Model
184
204
  end
185
205
  end
186
206
 
207
+
187
208
  # add elevator and lights&fans for the ground floor corridor
188
209
  def add_extra_equip_corridor(building_vintage)
189
210
  corridor_ground_space = self.getSpaceByName('G Corridor').get
@@ -236,7 +257,7 @@ class OpenStudio::Model::Model
236
257
 
237
258
  def update_waterheater_loss_coefficient(building_vintage)
238
259
  case building_vintage
239
- when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013'
260
+ when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013', 'NECB 2011'
240
261
  self.getWaterHeaterMixeds.sort.each do |water_heater|
241
262
  water_heater.setOffCycleLossCoefficienttoAmbientTemperature(46.288874618)
242
263
  water_heater.setOnCycleLossCoefficienttoAmbientTemperature(46.288874618)
@@ -3,8 +3,50 @@
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
- # 'Floor 1 Anesthesia', 'Floor 1 Bio Haz', 'Floor 1 Cafe', 'Floor 1 Clean', 'Floor 1 Clean Work', 'Floor 1 Dictation', 'Floor 1 Dressing Room', 'Floor 1 Electrical Room', 'Floor 1 Elevator Pump Room', 'Floor 1 Humid', 'Floor 1 IT Hall', 'Floor 1 IT Room', 'Floor 1 Lobby', 'Floor 1 Lobby Hall', 'Floor 1 Lobby Toilet', 'Floor 1 Locker Room', 'Floor 1 Locker Room Hall', 'Floor 1 Lounge', 'Floor 1 Med Gas', 'Floor 1 MRI Control Room', 'Floor 1 MRI Hall', 'Floor 1 MRI Room', 'Floor 1 MRI Toilet', 'Floor 1 Nourishment', 'Floor 1 Nurse Hall', 'Floor 1 Nurse Janitor', 'Floor 1 Nurse Station', 'Floor 1 Nurse Toilet', 'Floor 1 Office', 'Floor 1 Operating Room 1', 'Floor 1 Operating Room 2', 'Floor 1 Operating Room 3', 'Floor 1 PACU', 'Floor 1 Pre-Op Hall', 'Floor 1 Pre-Op Room 1', 'Floor 1 Pre-Op Room 2', 'Floor 1 Pre-Op Toilet', 'Floor 1 Procedure Room', 'Floor 1 Reception', 'Floor 1 Reception Hall', 'Floor 1 Recovery Room', 'Floor 1 Scheduling', 'Floor 1 Scrub', 'Floor 1 Soil', 'Floor 1 Soil Hold', 'Floor 1 Soil Work', 'Floor 1 Step Down', 'Floor 1 Sterile Hall', 'Floor 1 Sterile Storage', 'Floor 1 Storage', 'Floor 1 Sub-Sterile', 'Floor 1 Utility Hall', 'Floor 1 Utility Janitor', 'Floor 1 Utility Room', 'Floor 1 Vestibule', 'Floor 2 Conference', 'Floor 2 Conference Toilet', 'Floor 2 Dictation', 'Floor 2 Exam 1', 'Floor 2 Exam 2', 'Floor 2 Exam 3', 'Floor 2 Exam 4', 'Floor 2 Exam 5', 'Floor 2 Exam 6', 'Floor 2 Exam 7', 'Floor 2 Exam 8', 'Floor 2 Exam 9', 'Floor 2 Exam Hall 1', 'Floor 2 Exam Hall 2', 'Floor 2 Exam Hall 3', 'Floor 2 Exam Hall 4', 'Floor 2 Exam Hall 5', 'Floor 2 Exam Hall 6', 'Floor 2 Janitor', 'Floor 2 Lounge', 'Floor 2 Nurse Station 1', 'Floor 2 Nurse Station 2', 'Floor 2 Office', 'Floor 2 Office Hall', 'Floor 2 Reception', 'Floor 2 Reception Hall', 'Floor 2 Reception Toilet', 'Floor 2 Scheduling 1', 'Floor 2 Scheduling 2', 'Floor 2 Storage 1', 'Floor 2 Storage 2', 'Floor 2 Storage 3', 'Floor 2 Utility', 'Floor 2 Work', 'Floor 2 Work Hall', 'Floor 2 Work Toilet', 'Floor 2 X-Ray', 'Floor 3 Dressing Room', 'Floor 3 Elevator Hall', 'Floor 3 Humid', 'Floor 3 Janitor', 'Floor 3 Locker', 'Floor 3 Lounge', 'Floor 3 Lounge Toilet', 'Floor 3 Mechanical', 'Floor 3 Mechanical Hall', 'Floor 3 Office', 'Floor 3 Office Hall', 'Floor 3 Office Toilet', 'Floor 3 Physical Therapy 1', 'Floor 3 Physical Therapy 2', 'Floor 3 Physical Therapy Toilet', 'Floor 3 Storage 1', 'Floor 3 Storage 2', 'Floor 3 Treatment', 'Floor 3 Undeveloped 1', 'Floor 3 Undeveloped 2', 'Floor 3 Utility', 'Floor 3 Work', 'NE Stair', 'NW Elevator', 'NW Stair', 'SW Stair'
6
+
7
+
8
+ space_type_map = nil
9
+ case building_vintage
10
+ when 'NECB 2011'
11
+ space_type_map ={
12
+ "Dormitory - living quarters" => ["Floor 1 Anesthesia", "Floor 1 Bio Haz", "Floor 1 Cafe",
13
+ "Floor 1 Clean", "Floor 1 Clean Work", "Floor 1 Dictation",
14
+ "Floor 1 Dressing Room", "Floor 1 Electrical Room", "Floor 1 Elevator Pump Room",
15
+ "Floor 1 Operating Room 1", "Floor 1 Operating Room 2", "Floor 1 Operating Room 3",
16
+ "Floor 1 Humid", "Floor 1 IT Hall", "Floor 1 IT Room", "Floor 1 Lobby Hall",
17
+ "Floor 1 Lobby", "Floor 1 Lobby Toilet", "Floor 1 Locker Room Hall",
18
+ "Floor 1 Locker Room", "Floor 1 Lounge", "Floor 1 Med Gas",
19
+ "Floor 1 MRI Control Room", "Floor 1 MRI Hall", "Floor 1 MRI Room", "Floor 1 MRI Toilet",
20
+ "Floor 1 Nourishment", "Floor 1 Nurse Hall", "Floor 1 Nurse Janitor",
21
+ "Floor 1 Nurse Station", "Floor 1 Nurse Toilet", "Floor 1 Office",
22
+ "Floor 1 PACU", "Floor 1 Pre-Op Hall", "Floor 1 Pre-Op Room 1", "Floor 1 Pre-Op Room 2",
23
+ "Floor 1 Pre-Op Toilet", "Floor 1 Procedure Room", "Floor 1 Reception Hall",
24
+ "Floor 1 Reception", "Floor 1 Recovery Room", "Floor 1 Scheduling", "Floor 1 Scrub",
25
+ "Floor 1 Soil Hold", "Floor 1 Soil", "Floor 1 Soil Work", "Floor 1 Step Down",
26
+ "Floor 1 Sterile Hall", "Floor 1 Sterile Storage", "Floor 1 Storage",
27
+ "Floor 1 Sub-Sterile", "Floor 1 Utility Hall", "Floor 1 Utility Janitor",
28
+ "Floor 1 Utility Room", "Floor 1 Vestibule", "Floor 2 Conference",
29
+ "Floor 2 Conference Toilet", "Floor 2 Dictation", "Floor 2 Exam 1", "Floor 2 Exam 2",
30
+ "Floor 2 Exam 3", "Floor 2 Exam 4", "Floor 2 Exam 5", "Floor 2 Exam 6", "Floor 2 Exam 7",
31
+ "Floor 2 Exam 8", "Floor 2 Exam 9", "Floor 2 Exam Hall 1", "Floor 2 Exam Hall 2",
32
+ "Floor 2 Exam Hall 3", "Floor 2 Exam Hall 4", "Floor 2 Exam Hall 5",
33
+ "Floor 2 Exam Hall 6", "Floor 2 Janitor", "Floor 2 Lounge", "Floor 2 Nurse Station 1",
34
+ "Floor 2 Nurse Station 2", "Floor 2 Office Hall", "Floor 2 Office", "Floor 2 Reception Hall",
35
+ "Floor 2 Reception", "Floor 2 Reception Toilet", "Floor 2 Scheduling 1",
36
+ "Floor 2 Scheduling 2", "Floor 2 Storage 1", "Floor 2 Storage 2",
37
+ "Floor 2 Storage 3", "Floor 2 Utility", "Floor 2 Work Hall",
38
+ "Floor 2 Work", "Floor 2 Work Toilet", "Floor 2 X-Ray", "Floor 3 Dressing Room",
39
+ "Floor 3 Elevator Hall", "Floor 3 Humid", "Floor 3 Janitor", "Floor 3 Locker",
40
+ "Floor 3 Lounge", "Floor 3 Lounge Toilet", "Floor 3 Mechanical Hall",
41
+ "Floor 3 Mechanical", "Floor 3 Office Hall", "Floor 3 Office", "Floor 3 Office Toilet",
42
+ "Floor 3 Physical Therapy 1", "Floor 3 Physical Therapy 2", "Floor 3 Physical Therapy Toilet",
43
+ "Floor 3 Storage 1", "Floor 3 Storage 2", "Floor 3 Treatment",
44
+ "Floor 3 Undeveloped 1", "Floor 3 Undeveloped 2",
45
+ "Floor 3 Utility", "Floor 3 Work", "NE Stair", "NW Elevator", "NW Stair", "SW Stair"]
46
+ }
47
+ else
48
+ space_type_map = {
49
+ # 'Floor 1 Anesthesia', 'Floor 1 Bio Haz', 'Floor 1 Cafe', 'Floor 1 Clean', 'Floor 1 Clean Work', 'Floor 1 Dictation', 'Floor 1 Dressing Room', 'Floor 1 Electrical Room', 'Floor 1 Elevator Pump Room', 'Floor 1 Humid', 'Floor 1 IT Hall', 'Floor 1 IT Room', 'Floor 1 Lobby', 'Floor 1 Lobby Hall', 'Floor 1 Lobby Toilet', 'Floor 1 Locker Room', 'Floor 1 Locker Room Hall', 'Floor 1 Lounge', 'Floor 1 Med Gas', 'Floor 1 MRI Control Room', 'Floor 1 MRI Hall', 'Floor 1 MRI Room', 'Floor 1 MRI Toilet', 'Floor 1 Nourishment', 'Floor 1 Nurse Hall', 'Floor 1 Nurse Janitor', 'Floor 1 Nurse Station', 'Floor 1 Nurse Toilet', 'Floor 1 Office', 'Floor 1 Operating Room 1', 'Floor 1 Operating Room 2', 'Floor 1 Operating Room 3', 'Floor 1 PACU', 'Floor 1 Pre-Op Hall', 'Floor 1 Pre-Op Room 1', 'Floor 1 Pre-Op Room 2', 'Floor 1 Pre-Op Toilet', 'Floor 1 Procedure Room', 'Floor 1 Reception', 'Floor 1 Reception Hall', 'Floor 1 Recovery Room', 'Floor 1 Scheduling', 'Floor 1 Scrub', 'Floor 1 Soil', 'Floor 1 Soil Hold', 'Floor 1 Soil Work', 'Floor 1 Step Down', 'Floor 1 Sterile Hall', 'Floor 1 Sterile Storage', 'Floor 1 Storage', 'Floor 1 Sub-Sterile', 'Floor 1 Utility Hall', 'Floor 1 Utility Janitor', 'Floor 1 Utility Room', 'Floor 1 Vestibule', 'Floor 2 Conference', 'Floor 2 Conference Toilet', 'Floor 2 Dictation', 'Floor 2 Exam 1', 'Floor 2 Exam 2', 'Floor 2 Exam 3', 'Floor 2 Exam 4', 'Floor 2 Exam 5', 'Floor 2 Exam 6', 'Floor 2 Exam 7', 'Floor 2 Exam 8', 'Floor 2 Exam 9', 'Floor 2 Exam Hall 1', 'Floor 2 Exam Hall 2', 'Floor 2 Exam Hall 3', 'Floor 2 Exam Hall 4', 'Floor 2 Exam Hall 5', 'Floor 2 Exam Hall 6', 'Floor 2 Janitor', 'Floor 2 Lounge', 'Floor 2 Nurse Station 1', 'Floor 2 Nurse Station 2', 'Floor 2 Office', 'Floor 2 Office Hall', 'Floor 2 Reception', 'Floor 2 Reception Hall', 'Floor 2 Reception Toilet', 'Floor 2 Scheduling 1', 'Floor 2 Scheduling 2', 'Floor 2 Storage 1', 'Floor 2 Storage 2', 'Floor 2 Storage 3', 'Floor 2 Utility', 'Floor 2 Work', 'Floor 2 Work Hall', 'Floor 2 Work Toilet', 'Floor 2 X-Ray', 'Floor 3 Dressing Room', 'Floor 3 Elevator Hall', 'Floor 3 Humid', 'Floor 3 Janitor', 'Floor 3 Locker', 'Floor 3 Lounge', 'Floor 3 Lounge Toilet', 'Floor 3 Mechanical', 'Floor 3 Mechanical Hall', 'Floor 3 Office', 'Floor 3 Office Hall', 'Floor 3 Office Toilet', 'Floor 3 Physical Therapy 1', 'Floor 3 Physical Therapy 2', 'Floor 3 Physical Therapy Toilet', 'Floor 3 Storage 1', 'Floor 3 Storage 2', 'Floor 3 Treatment', 'Floor 3 Undeveloped 1', 'Floor 3 Undeveloped 2', 'Floor 3 Utility', 'Floor 3 Work', 'NE Stair', 'NW Elevator', 'NW Stair', 'SW Stair'
8
50
 
9
51
  # TODO: still need to put these into their space types...
10
52
  # all zones mapped
@@ -61,10 +103,14 @@ class OpenStudio::Model::Model
61
103
  # Add new space type 'Undeveloped'
62
104
  'Undeveloped' => ['Floor 3 Undeveloped 1', 'Floor 3 Undeveloped 2']
63
105
  }
106
+ end
107
+
64
108
  return space_type_map
109
+
65
110
  end
66
111
 
67
112
  def define_hvac_system_map(building_type, building_vintage, climate_zone)
113
+
68
114
  case building_vintage
69
115
  when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013'
70
116
  system_to_space_map = [
@@ -230,7 +276,6 @@ class OpenStudio::Model::Model
230
276
  ]
231
277
  end
232
278
 
233
-
234
279
  return system_to_space_map
235
280
  end
236
281
 
@@ -294,6 +339,7 @@ class OpenStudio::Model::Model
294
339
  return true
295
340
  end
296
341
 
342
+
297
343
  def adjust_clg_setpoint(building_vintage,climate_zone)
298
344
  self.getSpaceTypes.sort.each do |space_type|
299
345
  space_type_name = space_type.name.get
@@ -349,6 +395,7 @@ class OpenStudio::Model::Model
349
395
  end
350
396
  end
351
397
 
398
+
352
399
  def add_door_infiltration(building_vintage,climate_zone)
353
400
  # add extra infiltration for vestibule door
354
401
  case building_vintage
@@ -380,7 +427,7 @@ class OpenStudio::Model::Model
380
427
 
381
428
  def update_waterheater_loss_coefficient(building_vintage)
382
429
  case building_vintage
383
- when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013'
430
+ when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013', 'NECB 2011'
384
431
  self.getWaterHeaterMixeds.sort.each do |water_heater|
385
432
  if water_heater.name.to_s.include?("Booster")
386
433
  water_heater.setOffCycleLossCoefficienttoAmbientTemperature(1.053159296)
@@ -542,3 +589,4 @@ class OpenStudio::Model::Model
542
589
  end
543
590
 
544
591
  end
592
+
@@ -2,40 +2,57 @@
2
2
  # Extend the class to add Secondary School specific stuff
3
3
  class OpenStudio::Model::Model
4
4
 
5
- def define_space_type_map(building_type, building_vintage, climate_zone)
6
-
7
- space_type_map = {
8
- 'Office' => ['Offices_ZN_1_FLR_1'],
9
- 'Lobby' => ['Lobby_ZN_1_FLR_1'],
10
- 'Gym' => ['Gym_ZN_1_FLR_1'],
11
- 'Mechanical' => ['Mech_ZN_1_FLR_1'],
12
- 'Cafeteria' => ['Cafeteria_ZN_1_FLR_1'],
13
- 'Kitchen' => ['Kitchen_ZN_1_FLR_1'],
14
- 'Restroom' => ['Bath_ZN_1_FLR_1', 'Bathrooms_ZN_1_FLR_1'],
15
- 'Corridor' => [
16
- 'Corridor_Pod_1_ZN_1_FLR_1',
17
- 'Corridor_Pod_2_ZN_1_FLR_1',
18
- 'Corridor_Pod_3_ZN_1_FLR_1',
19
- 'Main_Corridor_ZN_1_FLR_1'
20
- ],
21
- 'Classroom' => [
22
- 'Computer_Class_ZN_1_FLR_1',
23
- 'Corner_Class_1_Pod_1_ZN_1_FLR_1',
24
- 'Corner_Class_1_Pod_2_ZN_1_FLR_1',
25
- 'Corner_Class_1_Pod_3_ZN_1_FLR_1',
26
- 'Corner_Class_2_Pod_1_ZN_1_FLR_1',
27
- 'Corner_Class_2_Pod_2_ZN_1_FLR_1',
28
- 'Corner_Class_2_Pod_3_ZN_1_FLR_1',
29
- 'Library_Media_Center_ZN_1_FLR_1',
30
- 'Mult_Class_1_Pod_1_ZN_1_FLR_1',
31
- 'Mult_Class_1_Pod_2_ZN_1_FLR_1',
32
- 'Mult_Class_1_Pod_3_ZN_1_FLR_1',
33
- 'Mult_Class_2_Pod_1_ZN_1_FLR_1',
34
- 'Mult_Class_2_Pod_2_ZN_1_FLR_1',
35
- 'Mult_Class_2_Pod_3_ZN_1_FLR_1'
36
- ]
37
- }
38
-
5
+ def define_space_type_map(building_type, building_vintage, climate_zone)
6
+
7
+ space_type_map = nil
8
+ case building_vintage
9
+ when 'NECB 2011'
10
+ space_type_map ={
11
+ "Washroom" => ["Bath_ZN_1_FLR_1"],
12
+ "Conf./meet./multi-purpose" => ["Cafeteria_ZN_1_FLR_1"],
13
+ "Lab - classrooms" => ["Computer_Class_ZN_1_FLR_1"],
14
+ "Classroom/lecture/training" => ["Corner_Class_1_Pod_1_ZN_1_FLR_1", "Corner_Class_1_Pod_2_ZN_1_FLR_1", "Corner_Class_1_Pod_3_ZN_1_FLR_1", "Corner_Class_2_Pod_1_ZN_1_FLR_1", "Corner_Class_2_Pod_2_ZN_1_FLR_1", "Corner_Class_2_Pod_3_ZN_1_FLR_1", "Mult_Class_1_Pod_1_ZN_1_FLR_1", "Mult_Class_1_Pod_2_ZN_1_FLR_1", "Mult_Class_1_Pod_3_ZN_1_FLR_1", "Mult_Class_2_Pod_1_ZN_1_FLR_1", "Mult_Class_2_Pod_2_ZN_1_FLR_1", "Mult_Class_2_Pod_3_ZN_1_FLR_1"],
15
+ "Corr. >= 2.4m wide" => ["Corridor_Pod_1_ZN_1_FLR_1", "Corridor_Pod_2_ZN_1_FLR_1", "Corridor_Pod_3_ZN_1_FLR_1", "Main_Corridor_ZN_1_FLR_1"],
16
+ "Gym - play" => ["Gym_ZN_1_FLR_1"],
17
+ "Food preparation" => ["Kitchen_ZN_1_FLR_1"],
18
+ "Library - reading" => ["Library_Media_Center_ZN_1_FLR_1"],
19
+ "Lobby - elevator" => ["Lobby_ZN_1_FLR_1"],
20
+ "Electrical/Mechanical" => ["Mech_ZN_1_FLR_1"],
21
+ "Office - enclosed" => ["Offices_ZN_1_FLR_1"]
22
+ }
23
+ else
24
+ space_type_map = {
25
+ 'Office' => ['Offices_ZN_1_FLR_1'],
26
+ 'Lobby' => ['Lobby_ZN_1_FLR_1'],
27
+ 'Gym' => ['Gym_ZN_1_FLR_1'],
28
+ 'Mechanical' => ['Mech_ZN_1_FLR_1'],
29
+ 'Cafeteria' => ['Cafeteria_ZN_1_FLR_1'],
30
+ 'Kitchen' => ['Kitchen_ZN_1_FLR_1'],
31
+ 'Restroom' => ['Bath_ZN_1_FLR_1', 'Bathrooms_ZN_1_FLR_1'],
32
+ 'Corridor' => [
33
+ 'Corridor_Pod_1_ZN_1_FLR_1',
34
+ 'Corridor_Pod_2_ZN_1_FLR_1',
35
+ 'Corridor_Pod_3_ZN_1_FLR_1',
36
+ 'Main_Corridor_ZN_1_FLR_1'
37
+ ],
38
+ 'Classroom' => [
39
+ 'Computer_Class_ZN_1_FLR_1',
40
+ 'Corner_Class_1_Pod_1_ZN_1_FLR_1',
41
+ 'Corner_Class_1_Pod_2_ZN_1_FLR_1',
42
+ 'Corner_Class_1_Pod_3_ZN_1_FLR_1',
43
+ 'Corner_Class_2_Pod_1_ZN_1_FLR_1',
44
+ 'Corner_Class_2_Pod_2_ZN_1_FLR_1',
45
+ 'Corner_Class_2_Pod_3_ZN_1_FLR_1',
46
+ 'Library_Media_Center_ZN_1_FLR_1',
47
+ 'Mult_Class_1_Pod_1_ZN_1_FLR_1',
48
+ 'Mult_Class_1_Pod_2_ZN_1_FLR_1',
49
+ 'Mult_Class_1_Pod_3_ZN_1_FLR_1',
50
+ 'Mult_Class_2_Pod_1_ZN_1_FLR_1',
51
+ 'Mult_Class_2_Pod_2_ZN_1_FLR_1',
52
+ 'Mult_Class_2_Pod_3_ZN_1_FLR_1'
53
+ ]
54
+ }
55
+ end
39
56
  return space_type_map
40
57
 
41
58
  end
@@ -46,220 +63,220 @@ class OpenStudio::Model::Model
46
63
 
47
64
  #case building_vintage
48
65
  #when 'DOE Ref Pre-1980', 'DOE Ref 1980-2004'
49
- # system_to_space_map = [
50
- # {
51
- # 'type' => 'PVAV',
52
- # 'name' => 'PVAV_POD_1',
53
- # 'space_names' =>
54
- # [
55
- # 'Corner_Class_1_Pod_1_ZN_1_FLR_1',
56
- # 'Mult_Class_1_Pod_1_ZN_1_FLR_1',
57
- # 'Corridor_Pod_1_ZN_1_FLR_1',
58
- # 'Corner_Class_2_Pod_1_ZN_1_FLR_1',
59
- # 'Mult_Class_2_Pod_1_ZN_1_FLR_1',
60
- # 'Corner_Class_1_Pod_2_ZN_1_FLR_1'
61
- # ]
62
- # },
63
- # {
64
- # 'type' => 'PVAV',
65
- # 'name' => 'PVAV_POD_2',
66
- # 'space_names' =>
67
- # [
68
- # 'Mult_Class_1_Pod_2_ZN_1_FLR_1',
69
- # 'Corridor_Pod_2_ZN_1_FLR_1',
70
- # 'Corner_Class_2_Pod_2_ZN_1_FLR_1',
71
- # 'Mult_Class_2_Pod_2_ZN_1_FLR_1'
72
- # ]
73
- # },
74
- # {
75
- # 'type' => 'PVAV',
76
- # 'name' => 'PVAV_POD_3',
77
- # 'space_names' =>
78
- # [
79
- # 'Corner_Class_1_Pod_3_ZN_1_FLR_1',
80
- # 'Mult_Class_1_Pod_3_ZN_1_FLR_1',
81
- # 'Corridor_Pod_3_ZN_1_FLR_1',
82
- # 'Corner_Class_2_Pod_3_ZN_1_FLR_1',
83
- # 'Mult_Class_2_Pod_3_ZN_1_FLR_1'
84
- # ]
85
- # },
86
- # {
87
- # 'type' => 'PVAV',
88
- # 'name' => 'PVAV_OTHER',
89
- # 'space_names' =>
90
- # [
91
- # 'Computer_Class_ZN_1_FLR_1',
92
- # 'Main_Corridor_ZN_1_FLR_1',
93
- # 'Lobby_ZN_1_FLR_1',
94
- # 'Mech_ZN_1_FLR_1',
95
- # 'Bath_ZN_1_FLR_1',
96
- # 'Offices_ZN_1_FLR_1',
97
- # 'Library_Media_Center_ZN_1_FLR_1'
98
- # ]
99
- # },
100
- # {
101
- # 'type' => 'PSZ-AC',
102
- # 'name' => 'PSZ-AC_1-6',
103
- # 'space_names' =>
104
- # [
105
- # 'Kitchen_ZN_1_FLR_1'
106
- # ]
107
- # },
108
- # {
109
- # 'type' => 'PSZ-AC',
110
- # 'name' => 'PSZ-AC_2-5',
111
- # 'space_names' =>
112
- # [
113
- # 'Gym_ZN_1_FLR_1'
114
- # ]
115
- # },
116
- # {
117
- # 'type' => 'PSZ-AC',
118
- # 'name' => 'PSZ-AC_2-7',
119
- # 'space_names' =>
120
- # [
121
- # 'Cafeteria_ZN_1_FLR_1'
122
- # ]
123
- # }
124
- # ]
66
+ # system_to_space_map = [
67
+ # {
68
+ # 'type' => 'PVAV',
69
+ # 'name' => 'PVAV_POD_1',
70
+ # 'space_names' =>
71
+ # [
72
+ # 'Corner_Class_1_Pod_1_ZN_1_FLR_1',
73
+ # 'Mult_Class_1_Pod_1_ZN_1_FLR_1',
74
+ # 'Corridor_Pod_1_ZN_1_FLR_1',
75
+ # 'Corner_Class_2_Pod_1_ZN_1_FLR_1',
76
+ # 'Mult_Class_2_Pod_1_ZN_1_FLR_1',
77
+ # 'Corner_Class_1_Pod_2_ZN_1_FLR_1'
78
+ # ]
79
+ # },
80
+ # {
81
+ # 'type' => 'PVAV',
82
+ # 'name' => 'PVAV_POD_2',
83
+ # 'space_names' =>
84
+ # [
85
+ # 'Mult_Class_1_Pod_2_ZN_1_FLR_1',
86
+ # 'Corridor_Pod_2_ZN_1_FLR_1',
87
+ # 'Corner_Class_2_Pod_2_ZN_1_FLR_1',
88
+ # 'Mult_Class_2_Pod_2_ZN_1_FLR_1'
89
+ # ]
90
+ # },
91
+ # {
92
+ # 'type' => 'PVAV',
93
+ # 'name' => 'PVAV_POD_3',
94
+ # 'space_names' =>
95
+ # [
96
+ # 'Corner_Class_1_Pod_3_ZN_1_FLR_1',
97
+ # 'Mult_Class_1_Pod_3_ZN_1_FLR_1',
98
+ # 'Corridor_Pod_3_ZN_1_FLR_1',
99
+ # 'Corner_Class_2_Pod_3_ZN_1_FLR_1',
100
+ # 'Mult_Class_2_Pod_3_ZN_1_FLR_1'
101
+ # ]
102
+ # },
103
+ # {
104
+ # 'type' => 'PVAV',
105
+ # 'name' => 'PVAV_OTHER',
106
+ # 'space_names' =>
107
+ # [
108
+ # 'Computer_Class_ZN_1_FLR_1',
109
+ # 'Main_Corridor_ZN_1_FLR_1',
110
+ # 'Lobby_ZN_1_FLR_1',
111
+ # 'Mech_ZN_1_FLR_1',
112
+ # 'Bath_ZN_1_FLR_1',
113
+ # 'Offices_ZN_1_FLR_1',
114
+ # 'Library_Media_Center_ZN_1_FLR_1'
115
+ # ]
116
+ # },
117
+ # {
118
+ # 'type' => 'PSZ-AC',
119
+ # 'name' => 'PSZ-AC_1-6',
120
+ # 'space_names' =>
121
+ # [
122
+ # 'Kitchen_ZN_1_FLR_1'
123
+ # ]
124
+ # },
125
+ # {
126
+ # 'type' => 'PSZ-AC',
127
+ # 'name' => 'PSZ-AC_2-5',
128
+ # 'space_names' =>
129
+ # [
130
+ # 'Gym_ZN_1_FLR_1'
131
+ # ]
132
+ # },
133
+ # {
134
+ # 'type' => 'PSZ-AC',
135
+ # 'name' => 'PSZ-AC_2-7',
136
+ # 'space_names' =>
137
+ # [
138
+ # 'Cafeteria_ZN_1_FLR_1'
139
+ # ]
140
+ # }
141
+ # ]
125
142
 
126
143
  #when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013'
127
- system_to_space_map = [
144
+ system_to_space_map = [
128
145
  {
129
- 'type' => 'PVAV',
130
- 'name' => 'PVAV_POD_1',
131
- 'space_names' =>
146
+ 'type' => 'PVAV',
147
+ 'name' => 'PVAV_POD_1',
148
+ 'space_names' =>
132
149
  [
133
- 'Corner_Class_1_Pod_1_ZN_1_FLR_1',
134
- 'Mult_Class_1_Pod_1_ZN_1_FLR_1',
135
- 'Corridor_Pod_1_ZN_1_FLR_1',
136
- 'Corner_Class_2_Pod_1_ZN_1_FLR_1',
137
- 'Mult_Class_2_Pod_1_ZN_1_FLR_1'
138
- ]
150
+ 'Corner_Class_1_Pod_1_ZN_1_FLR_1',
151
+ 'Mult_Class_1_Pod_1_ZN_1_FLR_1',
152
+ 'Corridor_Pod_1_ZN_1_FLR_1',
153
+ 'Corner_Class_2_Pod_1_ZN_1_FLR_1',
154
+ 'Mult_Class_2_Pod_1_ZN_1_FLR_1'
155
+ ]
139
156
  },
140
157
  {
141
- 'type' => 'PVAV',
142
- 'name' => 'PVAV_POD_2',
143
- 'space_names' =>
158
+ 'type' => 'PVAV',
159
+ 'name' => 'PVAV_POD_2',
160
+ 'space_names' =>
144
161
  [
145
- 'Mult_Class_1_Pod_2_ZN_1_FLR_1',
146
- 'Corridor_Pod_2_ZN_1_FLR_1',
147
- 'Corner_Class_2_Pod_2_ZN_1_FLR_1',
148
- 'Mult_Class_2_Pod_2_ZN_1_FLR_1',
149
- 'Corner_Class_1_Pod_2_ZN_1_FLR_1'
150
- ]
162
+ 'Mult_Class_1_Pod_2_ZN_1_FLR_1',
163
+ 'Corridor_Pod_2_ZN_1_FLR_1',
164
+ 'Corner_Class_2_Pod_2_ZN_1_FLR_1',
165
+ 'Mult_Class_2_Pod_2_ZN_1_FLR_1',
166
+ 'Corner_Class_1_Pod_2_ZN_1_FLR_1'
167
+ ]
151
168
  },
152
169
  {
153
- 'type' => 'PVAV',
154
- 'name' => 'PVAV_POD_3',
155
- 'space_names' =>
170
+ 'type' => 'PVAV',
171
+ 'name' => 'PVAV_POD_3',
172
+ 'space_names' =>
156
173
  [
157
- 'Corner_Class_1_Pod_3_ZN_1_FLR_1',
158
- 'Mult_Class_1_Pod_3_ZN_1_FLR_1',
159
- 'Corridor_Pod_3_ZN_1_FLR_1',
160
- 'Corner_Class_2_Pod_3_ZN_1_FLR_1',
161
- 'Mult_Class_2_Pod_3_ZN_1_FLR_1'
162
- ]
174
+ 'Corner_Class_1_Pod_3_ZN_1_FLR_1',
175
+ 'Mult_Class_1_Pod_3_ZN_1_FLR_1',
176
+ 'Corridor_Pod_3_ZN_1_FLR_1',
177
+ 'Corner_Class_2_Pod_3_ZN_1_FLR_1',
178
+ 'Mult_Class_2_Pod_3_ZN_1_FLR_1'
179
+ ]
163
180
  },
164
181
  {
165
- 'type' => 'PVAV',
166
- 'name' => 'PVAV_OTHER',
167
- 'space_names' =>
182
+ 'type' => 'PVAV',
183
+ 'name' => 'PVAV_OTHER',
184
+ 'space_names' =>
168
185
  [
169
- 'Computer_Class_ZN_1_FLR_1',
170
- 'Main_Corridor_ZN_1_FLR_1',
171
- 'Lobby_ZN_1_FLR_1',
172
- 'Mech_ZN_1_FLR_1',
173
- 'Bath_ZN_1_FLR_1',
174
- 'Offices_ZN_1_FLR_1',
175
- 'Library_Media_Center_ZN_1_FLR_1'
176
- ]
186
+ 'Computer_Class_ZN_1_FLR_1',
187
+ 'Main_Corridor_ZN_1_FLR_1',
188
+ 'Lobby_ZN_1_FLR_1',
189
+ 'Mech_ZN_1_FLR_1',
190
+ 'Bath_ZN_1_FLR_1',
191
+ 'Offices_ZN_1_FLR_1',
192
+ 'Library_Media_Center_ZN_1_FLR_1'
193
+ ]
177
194
  },
178
195
  {
179
- 'type' => 'PSZ-AC',
180
- 'name' => 'PSZ-AC_1-6',
181
- 'space_names' =>
196
+ 'type' => 'PSZ-AC',
197
+ 'name' => 'PSZ-AC_1-6',
198
+ 'space_names' =>
182
199
  [
183
- 'Kitchen_ZN_1_FLR_1'
184
- ]
200
+ 'Kitchen_ZN_1_FLR_1'
201
+ ]
185
202
  },
186
203
  {
187
- 'type' => 'PSZ-AC',
188
- 'name' => 'PSZ-AC_2-5',
189
- 'space_names' =>
204
+ 'type' => 'PSZ-AC',
205
+ 'name' => 'PSZ-AC_2-5',
206
+ 'space_names' =>
190
207
  [
191
- 'Gym_ZN_1_FLR_1'
192
- ]
208
+ 'Gym_ZN_1_FLR_1'
209
+ ]
193
210
  },
194
211
  {
195
- 'type' => 'PSZ-AC',
196
- 'name' => 'PSZ-AC_2-7',
197
- 'space_names' =>
212
+ 'type' => 'PSZ-AC',
213
+ 'name' => 'PSZ-AC_2-7',
214
+ 'space_names' =>
198
215
  [
199
- 'Cafeteria_ZN_1_FLR_1'
200
- ]
216
+ 'Cafeteria_ZN_1_FLR_1'
217
+ ]
201
218
  },
202
219
  {
203
- 'type' => 'Exhaust Fan',
204
- 'name' => 'Kitchen Exhaust Fan',
205
- 'availability_sch_name' => 'SchoolPrimary Kitchen_Exhaust_SCH',
206
- 'flow_rate' => OpenStudio.convert(4500,'cfm','m^3/s').get,
207
- 'flow_fraction_schedule_name' => 'SchoolSecondary Kitchen_Exhaust_SCH_DCV',
208
- 'balanced_exhaust_fraction_schedule_name' => 'SchoolSecondary Kitchen Exhaust Fan Balanced Exhaust Fraction Schedule',
209
- 'space_names' =>
220
+ 'type' => 'Exhaust Fan',
221
+ 'name' => 'Kitchen Exhaust Fan',
222
+ 'availability_sch_name' => 'SchoolPrimary Kitchen_Exhaust_SCH',
223
+ 'flow_rate' => OpenStudio.convert(4500,'cfm','m^3/s').get,
224
+ 'flow_fraction_schedule_name' => 'SchoolSecondary Kitchen_Exhaust_SCH_DCV',
225
+ 'balanced_exhaust_fraction_schedule_name' => 'SchoolSecondary Kitchen Exhaust Fan Balanced Exhaust Fraction Schedule',
226
+ 'space_names' =>
210
227
  [
211
- 'Kitchen_ZN_1_FLR_1'
212
- ]
228
+ 'Kitchen_ZN_1_FLR_1'
229
+ ]
213
230
  },
214
231
  {
215
- 'type' => 'Exhaust Fan',
216
- 'name' => 'Bathrooms_ZN_1_FLR_1',
217
- 'availability_sch_name' => 'SchoolPrimary Hours_of_operation',
218
- 'flow_rate' => OpenStudio.convert(600,'cfm','m^3/s').get,
219
- 'space_names' =>
232
+ 'type' => 'Exhaust Fan',
233
+ 'name' => 'Bathrooms_ZN_1_FLR_1',
234
+ 'availability_sch_name' => 'SchoolPrimary Hours_of_operation',
235
+ 'flow_rate' => OpenStudio.convert(600,'cfm','m^3/s').get,
236
+ 'space_names' =>
220
237
  [
221
- 'Bath_ZN_1_FLR_1'
222
- ]
238
+ 'Bath_ZN_1_FLR_1'
239
+ ]
223
240
  },
224
241
  {
225
- 'type' => 'Refrigeration',
226
- 'case_type' => 'Walkin Freezer',
227
- 'cooling_capacity_per_length' => 734.0,
228
- 'length' => 3.66,
229
- 'evaporator_fan_pwr_per_length' => 68.3,
230
- 'lighting_per_length' => 33.0,
231
- 'lighting_sch_name' => 'SchoolSecondary BLDG_LIGHT_SCH',
232
- 'defrost_pwr_per_length' => 410.0,
233
- 'restocking_sch_name' => 'SchoolSecondary Kitchen_ZN_1_FLR_1_Case:1_WALKINFREEZER_WalkInStockingSched',
234
- 'cop' => 1.5,
235
- 'cop_f_of_t_curve_name' => 'RACK1_RackCOPfTCurve',
236
- 'condenser_fan_pwr' => 750.0,
237
- 'condenser_fan_pwr_curve_name' => 'RACK1_RackCondFanCurve2',
238
- 'space_names' =>
242
+ 'type' => 'Refrigeration',
243
+ 'case_type' => 'Walkin Freezer',
244
+ 'cooling_capacity_per_length' => 734.0,
245
+ 'length' => 3.66,
246
+ 'evaporator_fan_pwr_per_length' => 68.3,
247
+ 'lighting_per_length' => 33.0,
248
+ 'lighting_sch_name' => 'SchoolSecondary BLDG_LIGHT_SCH',
249
+ 'defrost_pwr_per_length' => 410.0,
250
+ 'restocking_sch_name' => 'SchoolSecondary Kitchen_ZN_1_FLR_1_Case:1_WALKINFREEZER_WalkInStockingSched',
251
+ 'cop' => 1.5,
252
+ 'cop_f_of_t_curve_name' => 'RACK1_RackCOPfTCurve',
253
+ 'condenser_fan_pwr' => 750.0,
254
+ 'condenser_fan_pwr_curve_name' => 'RACK1_RackCondFanCurve2',
255
+ 'space_names' =>
239
256
  [
240
- 'Kitchen_ZN_1_FLR_1'
241
- ]
257
+ 'Kitchen_ZN_1_FLR_1'
258
+ ]
242
259
  },
243
260
  {
244
- 'type' => 'Refrigeration',
245
- 'case_type' => 'Display Case',
246
- 'cooling_capacity_per_length' => 734.0,
247
- 'length' => 3.66,
248
- 'evaporator_fan_pwr_per_length' => 55.0,
249
- 'lighting_per_length' => 33.0,
250
- 'lighting_sch_name' => 'SchoolSecondary BLDG_LIGHT_SCH',
251
- 'defrost_pwr_per_length' => 0.0,
252
- 'restocking_sch_name' => 'SchoolSecondary Kitchen_ZN_1_FLR_1_Case:1_WALKINFREEZER_WalkInStockingSched',
253
- 'cop' => 3.0,
254
- 'cop_f_of_t_curve_name' => 'RACK2_RackCOPfTCurve',
255
- 'condenser_fan_pwr' => 750.0,
256
- 'condenser_fan_pwr_curve_name' => 'RACK1_RackCondFanCurve2',
257
- 'space_names' =>
261
+ 'type' => 'Refrigeration',
262
+ 'case_type' => 'Display Case',
263
+ 'cooling_capacity_per_length' => 734.0,
264
+ 'length' => 3.66,
265
+ 'evaporator_fan_pwr_per_length' => 55.0,
266
+ 'lighting_per_length' => 33.0,
267
+ 'lighting_sch_name' => 'SchoolSecondary BLDG_LIGHT_SCH',
268
+ 'defrost_pwr_per_length' => 0.0,
269
+ 'restocking_sch_name' => 'SchoolSecondary Kitchen_ZN_1_FLR_1_Case:1_WALKINFREEZER_WalkInStockingSched',
270
+ 'cop' => 3.0,
271
+ 'cop_f_of_t_curve_name' => 'RACK2_RackCOPfTCurve',
272
+ 'condenser_fan_pwr' => 750.0,
273
+ 'condenser_fan_pwr_curve_name' => 'RACK1_RackCondFanCurve2',
274
+ 'space_names' =>
258
275
  [
259
- 'Kitchen_ZN_1_FLR_1'
260
- ]
276
+ 'Kitchen_ZN_1_FLR_1'
277
+ ]
261
278
  }
262
- ]
279
+ ]
263
280
 
264
281
  #end
265
282