openstudio-extension 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +14 -0
  4. data/LICENSE.md +1 -1
  5. data/README.md +2 -0
  6. data/lib/openstudio/extension/runner.rb +12 -8
  7. data/lib/openstudio/extension/runner_config.rb +33 -6
  8. data/lib/openstudio/extension/version.rb +1 -1
  9. data/openstudio-extension.gemspec +6 -6
  10. metadata +18 -75
  11. data/lib/openstudio/extension/core/CreateResults.rb +0 -1033
  12. data/lib/openstudio/extension/core/check_air_sys_temps.rb +0 -160
  13. data/lib/openstudio/extension/core/check_calibration.rb +0 -125
  14. data/lib/openstudio/extension/core/check_cond_zns.rb +0 -54
  15. data/lib/openstudio/extension/core/check_domestic_hot_water.rb +0 -304
  16. data/lib/openstudio/extension/core/check_envelope_conductance.rb +0 -423
  17. data/lib/openstudio/extension/core/check_eui_by_end_use.rb +0 -132
  18. data/lib/openstudio/extension/core/check_eui_reasonableness.rb +0 -105
  19. data/lib/openstudio/extension/core/check_fan_pwr.rb +0 -68
  20. data/lib/openstudio/extension/core/check_internal_loads.rb +0 -363
  21. data/lib/openstudio/extension/core/check_mech_sys_capacity.rb +0 -196
  22. data/lib/openstudio/extension/core/check_mech_sys_efficiency.rb +0 -296
  23. data/lib/openstudio/extension/core/check_mech_sys_part_load_eff.rb +0 -434
  24. data/lib/openstudio/extension/core/check_mech_sys_type.rb +0 -109
  25. data/lib/openstudio/extension/core/check_part_loads.rb +0 -421
  26. data/lib/openstudio/extension/core/check_placeholder.rb +0 -45
  27. data/lib/openstudio/extension/core/check_plant_cap.rb +0 -93
  28. data/lib/openstudio/extension/core/check_plant_temps.rb +0 -129
  29. data/lib/openstudio/extension/core/check_plenum_loads.rb +0 -57
  30. data/lib/openstudio/extension/core/check_pump_pwr.rb +0 -78
  31. data/lib/openstudio/extension/core/check_sch_coord.rb +0 -211
  32. data/lib/openstudio/extension/core/check_schedules.rb +0 -281
  33. data/lib/openstudio/extension/core/check_simultaneous_heating_and_cooling.rb +0 -128
  34. data/lib/openstudio/extension/core/check_supply_air_and_thermostat_temp_difference.rb +0 -118
  35. data/lib/openstudio/extension/core/check_weather_files.rb +0 -102
  36. data/lib/openstudio/extension/core/deer_vintages.rb +0 -281
  37. data/lib/openstudio/extension/core/os_lib_aedg_measures.rb +0 -461
  38. data/lib/openstudio/extension/core/os_lib_constructions.rb +0 -353
  39. data/lib/openstudio/extension/core/os_lib_geometry.rb +0 -1169
  40. data/lib/openstudio/extension/core/os_lib_helper_methods.rb +0 -383
  41. data/lib/openstudio/extension/core/os_lib_hvac.rb +0 -2163
  42. data/lib/openstudio/extension/core/os_lib_lighting_and_equipment.rb +0 -184
  43. data/lib/openstudio/extension/core/os_lib_model_generation.rb +0 -3584
  44. data/lib/openstudio/extension/core/os_lib_model_simplification.rb +0 -1019
  45. data/lib/openstudio/extension/core/os_lib_outdoorair_and_infiltration.rb +0 -135
  46. data/lib/openstudio/extension/core/os_lib_reporting_qaqc.rb +0 -170
  47. data/lib/openstudio/extension/core/os_lib_schedules.rb +0 -933
@@ -1,461 +0,0 @@
1
- # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
- # See also https://openstudio.net/license
4
- # *******************************************************************************
5
-
6
- module OsLib_AedgMeasures
7
- def self.getClimateZoneNumber(model, runner = nil)
8
- # get ashrae climate zone from model
9
- ashraeClimateZone = ''
10
- climateZones = model.getClimateZones
11
- climateZones.climateZones.each do |climateZone|
12
- if climateZone.institution == 'ASHRAE'
13
- ashraeClimateZone = climateZone.value
14
- if !runner.nil?
15
- # runner.registerInfo("Using ASHRAE Climate zone #{ashraeClimateZone} for AEDG recommendations.")
16
- end
17
- end
18
- end
19
-
20
- if ashraeClimateZone == '' # should this be not applicable or error?
21
- if !runner.nil?
22
- runner.registerError("Please assign an ASHRAE Climate Zone to your model using the site tab in the OpenStudio application. The measure can't make AEDG recommendations without this information.")
23
- end
24
- return false # note - for this to work need to check for false in measure.rb and add return false there as well.
25
- else
26
- climateZoneNumber = ashraeClimateZone.split(//).first
27
- end
28
-
29
- # expected climate zone number should be 1 through 8
30
- if !['1', '2', '3', '4', '5', '6', '7', '8'].include? climateZoneNumber
31
- runner.registerWarning('ASHRAE climate zone number is not within expected range of 1 to 8.')
32
- # return false # note - for this to work need to check for false in measure.rb and add return false there as well.
33
- end
34
-
35
- result = climateZoneNumber
36
- # don't add return false here, need to catch errors above
37
- end
38
-
39
- def self.getLongHowToTips(guide, aedgTips, runner)
40
- # get tips
41
- if guide == 'K12'
42
- hash = OsLib_AedgMeasures.getK12Tips
43
- elsif guide == 'SmMdOff'
44
- hash = OsLib_AedgMeasures.getSmMdOffTips
45
- else
46
- runner.registerError("#{guide} is an invalid value. Can't generate how to tip messages.")
47
- return false # note - for this to work need to check for false in measure.rb and add return false there as well.
48
- # this should only happen if measure writer passes bad values to getLongHowToTips
49
- end
50
-
51
- # array for info string
52
- string = []
53
-
54
- # create info messages
55
- aedgTips.each do |aedgtip|
56
- if hash[aedgtip] != hash[0]
57
- string << hash[aedgtip]
58
- else
59
- runner.registerWarning("#{aedgtip} is an invalid key for tip hash. Can't generate tip.")
60
- end
61
- end
62
-
63
- # see if expected number of messages created
64
- if aedgTips.size != string.size
65
- runner.registerWarning('One more more messages were not created.')
66
- end
67
-
68
- result = "#{hash[0]}: #{string.join(', ')}." # hash[0] bad key will return default value
69
- # don't add return false here, need to catch errors above
70
- end
71
-
72
- # hash of how to tips for K-12 school AEDG
73
- def self.getK12Tips
74
- # envelope tips
75
- @aedgK12HowToTipHash = Hash.new('K-12 Schools AEDG How to Implement Recommendations')
76
- @aedgK12HowToTipHash['EN01'] = 'EN1 Cool Roofs'
77
- @aedgK12HowToTipHash['EN02'] = 'EN2 Roofs-Insulation Entirely above Deck'
78
- @aedgK12HowToTipHash['EN03'] = 'EN3 Roofs-Attics, and Other Roofs'
79
- @aedgK12HowToTipHash['EN04'] = 'EN4 Roofs-Metal Buildings'
80
- @aedgK12HowToTipHash['EN05'] = 'EN5 Walls-Mass'
81
- @aedgK12HowToTipHash['EN06'] = 'EN6 Walls-Steel Framed'
82
- @aedgK12HowToTipHash['EN07'] = 'EN7 Walls-Wood Frame and Other'
83
- @aedgK12HowToTipHash['EN08'] = 'EN8 Walls-Metal Building'
84
- @aedgK12HowToTipHash['EN09'] = 'EN9 Below-Grade Walls'
85
- @aedgK12HowToTipHash['EN10'] = 'EN10 Floors-Mass'
86
- @aedgK12HowToTipHash['EN11'] = 'EN11 Floors-Metal Joist or Wood Joist/Wood Frame'
87
- @aedgK12HowToTipHash['EN12'] = 'EN12 Slab-on-Grade Floors-Unheated'
88
- @aedgK12HowToTipHash['EN13'] = 'EN13 Slab-on-Grade Floors-Heated'
89
- @aedgK12HowToTipHash['EN14'] = 'EN14 Slab Edge Insulation'
90
- @aedgK12HowToTipHash['EN15'] = 'EN15 Doors-Opaque, Swinging'
91
- @aedgK12HowToTipHash['EN16'] = 'EN16 Doors-Opaque, Roll-Up, or Sliding'
92
- @aedgK12HowToTipHash['EN17'] = 'EN17 Air Infiltration Control'
93
- @aedgK12HowToTipHash['EN18'] = 'EN18 Vestibules'
94
- @aedgK12HowToTipHash['EN19'] = 'EN19 Alternative Constructions'
95
- @aedgK12HowToTipHash['EN20'] = 'EN20 Truss Heel Heights'
96
- @aedgK12HowToTipHash['EN21'] = 'EN21 Moisture Control'
97
- @aedgK12HowToTipHash['EN22'] = 'EN22 Thermal Bridging-Opaque Components'
98
- @aedgK12HowToTipHash['EN23'] = 'EN23 Thermal Bridging-Fenestration'
99
- @aedgK12HowToTipHash['EN24'] = 'EN24 Fenestration Descriptions'
100
- @aedgK12HowToTipHash['EN25'] = 'EN25 View Window-to Floor Area Ratio (VFR)'
101
- @aedgK12HowToTipHash['EN26'] = 'EN26 Unwanted Solar Heat Gain Is Most Effectively Controlled on the Outside of the Building'
102
- @aedgK12HowToTipHash['EN27'] = 'EN27 Operable versus Fixed Windows'
103
- @aedgK12HowToTipHash['EN28'] = 'EN28 Building Form and Window Orientation'
104
- @aedgK12HowToTipHash['EN29'] = 'EN29 Glazing'
105
- @aedgK12HowToTipHash['EN30'] = 'EN30 Obstructions and Planting'
106
- @aedgK12HowToTipHash['EN31'] = 'EN31 Window Orientation'
107
- @aedgK12HowToTipHash['EN32'] = 'EN32 Passive Solar'
108
- @aedgK12HowToTipHash['EN33'] = 'EN33 Glazing'
109
-
110
- # daylighting tips
111
- @aedgK12HowToTipHash['DL01'] = 'DL1 General Principles'
112
- @aedgK12HowToTipHash['DL02'] = 'DL2 Consider Daylighting Early in the Design Process'
113
- @aedgK12HowToTipHash['DL03'] = 'DL3 Space Types'
114
- @aedgK12HowToTipHash['DL04'] = 'DL4 How to Select Daylighting Strategies'
115
- @aedgK12HowToTipHash['DL05'] = 'DL5 Recommended Daylighting Fenestration-to-Floor Area Ratios'
116
- @aedgK12HowToTipHash['DL06'] = 'DL6 View Windows Separate from Daylighting Strategy'
117
- @aedgK12HowToTipHash['DL07'] = 'DL7 Lighting Design Criteria'
118
- @aedgK12HowToTipHash['DL08'] = 'DL8 Use Daylighting Analysis Tools to Optimize Design'
119
- @aedgK12HowToTipHash['DL09'] = 'DL9 Building Orientation'
120
- @aedgK12HowToTipHash['DL10'] = 'DL10 Ceiling Height'
121
- @aedgK12HowToTipHash['DL11'] = 'DL11 Outdoor Surface Reflectance'
122
- @aedgK12HowToTipHash['DL12'] = 'DL12 Eliminate Direct Beam Radiation'
123
- @aedgK12HowToTipHash['DL13'] = 'DL13 Daylighting Control for Audio-Visual (AV) Projection Activities'
124
- @aedgK12HowToTipHash['DL14'] = 'DL14 Interior Finishes for Daylighting'
125
- @aedgK12HowToTipHash['DL15'] = 'DL15 Calibration and Commissioning'
126
- @aedgK12HowToTipHash['DL16'] = 'DL16 Dimming Controls'
127
- @aedgK12HowToTipHash['DL17'] = 'DL17 Photosensor Placement and Lighting Layout'
128
- @aedgK12HowToTipHash['DL18'] = 'DL18 Photosensor Specifications'
129
- @aedgK12HowToTipHash['DL19'] = 'DL19 Select Compatible Light Fixtures'
130
- @aedgK12HowToTipHash['DL20'] = 'DL20 Sidelighting Patterns'
131
- @aedgK12HowToTipHash['DL21'] = 'DL21 South-Facing Classrooms-Configuration of Apertures'
132
- @aedgK12HowToTipHash['DL22'] = 'DL22 South-Facing Classrooms-Glazing Area and Fenestration Type'
133
- @aedgK12HowToTipHash['DL23'] = 'DL23 View Glazing and VTs'
134
- @aedgK12HowToTipHash['DL24'] = 'DL24 South-Facing Classrooms-Make Light Shelf Durable and Reflective'
135
- @aedgK12HowToTipHash['DL25'] = 'DL25 North-Facing Classroom-Configuration of Apertures'
136
- @aedgK12HowToTipHash['DL26'] = 'DL26 North-Facing Classroom-Glazing Area and Fenestration Type'
137
- @aedgK12HowToTipHash['DL27'] = 'DL27 South-and North-Facing Classrooms-Sloped Ceilings'
138
- @aedgK12HowToTipHash['DL28'] = 'DL28 South-and North-Facing Classrooms-Recognize the Limits of Side Daylighting'
139
- @aedgK12HowToTipHash['DL29'] = 'DL29 Classroom Toplighting Pattern'
140
- @aedgK12HowToTipHash['DL30'] = 'DL30 Sizing the Roof Monitors'
141
- @aedgK12HowToTipHash['DL31'] = 'DL31 Overhang for Roof Monitor'
142
- @aedgK12HowToTipHash['DL32'] = 'DL32 Use Light-Colored Roofing in Front of Monitors'
143
- @aedgK12HowToTipHash['DL33'] = 'DL33 Use Baffles to Block Direct Beam Radiation and Diffuse Light'
144
- @aedgK12HowToTipHash['DL34'] = 'DL34 Minimize Contrast at Well-Ceiling Intersection'
145
- @aedgK12HowToTipHash['DL35'] = 'DL35 Address the Monitor Design'
146
- @aedgK12HowToTipHash['DL36'] = 'DL36 Let the Heat Stratify'
147
- @aedgK12HowToTipHash['DL37'] = 'DL37 Minimize the Depth of the Ceiling Cavity'
148
- @aedgK12HowToTipHash['DL38'] = 'DL38 Classroom Sidelighting Plus Toplighting Pattern'
149
- @aedgK12HowToTipHash['DL39'] = 'DL39 Gym Toplighting Overview'
150
- @aedgK12HowToTipHash['DL40'] = 'DL40 Gym Toplighting Sizing'
151
- @aedgK12HowToTipHash['DL41'] = 'DL41 Gym Toplighting Using South-Facing Roof Monitors'
152
- @aedgK12HowToTipHash['DL42'] = 'DL42 Gym Toplighting in Combination with North-and South-Facing Sidelighting'
153
-
154
- # electric lighting tips
155
- @aedgK12HowToTipHash['EL01'] = 'EL1 Light-Colored Interior Finishes'
156
- @aedgK12HowToTipHash['EL02'] = 'EL2 Color Rendering Index'
157
- @aedgK12HowToTipHash['EL03'] = 'EL3 Color Temperature'
158
- @aedgK12HowToTipHash['EL04'] = 'EL4 Linear Fluorescent Lamps and Ballasts'
159
- @aedgK12HowToTipHash['EL05'] = 'EL5 Compact Fluorescent'
160
- @aedgK12HowToTipHash['EL06'] = 'EL6 Metal Halide'
161
- @aedgK12HowToTipHash['EL07'] = 'EL7 Light-Emitting Diode (LED) Lighting'
162
- @aedgK12HowToTipHash['EL08'] = 'EL8 Occupancy Sensors'
163
- @aedgK12HowToTipHash['EL09'] = 'EL9 Multilevel Switching or Dimming'
164
- @aedgK12HowToTipHash['EL10'] = 'EL10 Exit Signs'
165
- @aedgK12HowToTipHash['EL11'] = 'EL11 Circuiting and Switching'
166
- @aedgK12HowToTipHash['EL12'] = 'EL12 Electrical Lighting Design for Schools'
167
- @aedgK12HowToTipHash['EL13'] = 'EL13 Classroom Lighting'
168
- @aedgK12HowToTipHash['EL14'] = 'EL14 Gym Lighting'
169
- @aedgK12HowToTipHash['EL15'] = 'EL15 Lighting for a Multipurpose Room'
170
- @aedgK12HowToTipHash['EL16'] = 'EL16 Lighting for a Library or Media Center'
171
- @aedgK12HowToTipHash['EL17'] = 'EL17 Corridor Lighting'
172
- @aedgK12HowToTipHash['EL18'] = 'EL18 Lighting for Offices and Teacher Support Rooms'
173
- @aedgK12HowToTipHash['EL19'] = 'EL19 Lighting for Locker Areas and Restrooms'
174
- @aedgK12HowToTipHash['EL20'] = 'EL20 Twenty-Four Hour Lighting'
175
- @aedgK12HowToTipHash['EL21'] = 'EL21 Exterior Lighting Power-Parking Lots and Drives'
176
- @aedgK12HowToTipHash['EL22'] = 'EL22 Exterior Lighting Power-Walkways'
177
- @aedgK12HowToTipHash['EL23'] = 'EL23 Decorative Facade Lighting'
178
- @aedgK12HowToTipHash['EL24'] = 'EL24 Sources'
179
- @aedgK12HowToTipHash['EL25'] = 'EL25 Controls'
180
-
181
- # plug load tips
182
- @aedgK12HowToTipHash['PL01'] = 'PL1 General Guidance'
183
- @aedgK12HowToTipHash['PL02'] = 'PL2 Computer (Information Technology) Equipment'
184
- @aedgK12HowToTipHash['PL03'] = 'PL3 Staff and Occupant Equipment Control'
185
- @aedgK12HowToTipHash['PL04'] = 'PL4 Phantom/Parasitic Loads'
186
- @aedgK12HowToTipHash['PL05'] = 'PL5 ENERGY STAR Appliances/Equipment'
187
- @aedgK12HowToTipHash['PL06'] = 'PL6 Electrical Distribution System'
188
-
189
- # kitchen tips
190
- @aedgK12HowToTipHash['KE01'] = 'KE1 General Guidance'
191
- @aedgK12HowToTipHash['KE02'] = 'KE2 Energy-Efficient Kitchen Equipment'
192
- @aedgK12HowToTipHash['KE03'] = 'KE3 Exhaust and Ventilation Energy Use'
193
- @aedgK12HowToTipHash['KE04'] = 'KE4 Minimize Hot-Water Use'
194
- @aedgK12HowToTipHash['KE05'] = 'KE5 High-Efficiency Walk-in Refrigeration Systems'
195
- @aedgK12HowToTipHash['KE06'] = 'KE6 Position Hooded Appliances to Achieve Lower Exhaust Rates'
196
- @aedgK12HowToTipHash['KE07'] = 'KE7 Operating Considerations'
197
-
198
- # service water heating tips
199
- @aedgK12HowToTipHash['WH01'] = 'WH1 Service Water -Heating Types'
200
- @aedgK12HowToTipHash['WH02'] = 'WH2 System Descriptions'
201
- @aedgK12HowToTipHash['WH03'] = 'WH3 Sizing'
202
- @aedgK12HowToTipHash['WH04'] = 'WH4 Equipment Efficiency'
203
- @aedgK12HowToTipHash['WH05'] = 'WH5 Location'
204
- @aedgK12HowToTipHash['WH06'] = 'WH6 Pipe Insulation'
205
- @aedgK12HowToTipHash['WH07'] = 'WH7 Solar Hot-Water Systems'
206
-
207
- # hvac tips
208
- @aedgK12HowToTipHash['HV01'] = 'HV1 Ground-Source Heat Pump System'
209
- @aedgK12HowToTipHash['HV02'] = 'HV2 Fan-Coil System'
210
- @aedgK12HowToTipHash['HV03'] = 'HV3 Multiple-Zone, Variable-Air-Volume (VAV) Air Handlers'
211
- @aedgK12HowToTipHash['HV04'] = 'HV4 Dedicated Outdoor Air System (DOAS)'
212
- @aedgK12HowToTipHash['HV05'] = 'HV5 Exhaust Air Energy Recovery'
213
- @aedgK12HowToTipHash['HV06'] = 'HV6 Chilled-Water System'
214
- @aedgK12HowToTipHash['HV07'] = 'HV7 Water Heating System'
215
- @aedgK12HowToTipHash['HV08'] = 'HV8 Condenser-Water System for GSHPs'
216
- @aedgK12HowToTipHash['HV09'] = 'HV9 Cooling and Heating Load Calculations'
217
- @aedgK12HowToTipHash['HV10'] = 'HV10 Ventilation Air'
218
- @aedgK12HowToTipHash['HV11'] = 'HV11 Cooling and Heating Equipment Efficiencies'
219
- @aedgK12HowToTipHash['HV12'] = 'HV12 Fan Power and Motor Efficiencies'
220
- @aedgK12HowToTipHash['HV13'] = 'HV13 Part-Load Dehumidification'
221
- @aedgK12HowToTipHash['HV14'] = 'HV14 Economizer'
222
- @aedgK12HowToTipHash['HV15'] = 'HV15 Demand-Controlled Ventilation'
223
- @aedgK12HowToTipHash['HV16'] = 'HV16 System-Level Control Strategies'
224
- @aedgK12HowToTipHash['HV17'] = 'HV17 Thermal Zoning'
225
- @aedgK12HowToTipHash['HV18'] = 'HV18 Ductwork Design and Construction'
226
- @aedgK12HowToTipHash['HV19'] = 'HV19 Duct Insulation'
227
- @aedgK12HowToTipHash['HV20'] = 'HV20 Duct Sealing and Leakage Testing'
228
- @aedgK12HowToTipHash['HV21'] = 'HV21 Exhaust Air Systems'
229
- @aedgK12HowToTipHash['HV22'] = 'HV22 Testing, Adjusting, and Balancing'
230
- @aedgK12HowToTipHash['HV23'] = 'HV23 Air Cleaning'
231
- @aedgK12HowToTipHash['HV24'] = 'HV24 Relief versus Return Fans'
232
- @aedgK12HowToTipHash['HV25'] = 'HV25 Zone Temperature Control'
233
- @aedgK12HowToTipHash['HV26'] = 'HV26 Heating Sources'
234
- @aedgK12HowToTipHash['HV27'] = 'HV27 Noise Control'
235
- @aedgK12HowToTipHash['HV28'] = 'HV28 Proper Maintenance'
236
- # bonus hvac tips
237
- @aedgK12HowToTipHash['HV29'] = 'HV29 Natural Ventilation and Naturally Conditioned Spaces'
238
- @aedgK12HowToTipHash['HV30'] = 'HV30 Thermal Storage'
239
- @aedgK12HowToTipHash['HV31'] = 'HV31 Thermal Mass'
240
- @aedgK12HowToTipHash['HV32'] = 'HV32 Thermal Displacement Ventilation'
241
- @aedgK12HowToTipHash['HV33'] = 'HV33 ASHRAE Standard 62.1 IAQ Procedure'
242
- @aedgK12HowToTipHash['HV34'] = 'HV34 Evaporative Cooling'
243
-
244
- # commissioning tips
245
- @aedgK12HowToTipHash['QA01'] = 'QA1 Design and Construction Team'
246
- @aedgK12HowToTipHash['QA02'] = 'QA2 Owner\'s Project Requirements and Basis of Design'
247
- @aedgK12HowToTipHash['QA03'] = 'QA3 Selection of Quality Assurance Provider'
248
- @aedgK12HowToTipHash['QA04'] = 'QA4 Design and Construction Schedule'
249
- @aedgK12HowToTipHash['QA05'] = 'QA5 Design Review'
250
- @aedgK12HowToTipHash['QA06'] = 'QA6 Defining Quality Assurance at Pre-Bid'
251
- @aedgK12HowToTipHash['QA07'] = 'QA7 Verifying Building Envelope Construction'
252
- @aedgK12HowToTipHash['QA08'] = 'QA8 Verifying Lighting Construction'
253
- @aedgK12HowToTipHash['QA09'] = 'QA9 Verifying Electrical and HVAC Systems Construction'
254
- @aedgK12HowToTipHash['QA10'] = 'QA10 Functional Performance Testing'
255
- @aedgK12HowToTipHash['QA11'] = 'QA11 Substantial Completion'
256
- @aedgK12HowToTipHash['QA12'] = 'QA12 Final Acceptance'
257
- @aedgK12HowToTipHash['QA13'] = 'QA13 Establish Building Operation and Maintenance Program'
258
- @aedgK12HowToTipHash['QA14'] = 'QA14 Monitor Post-Occupancy Performance'
259
- @aedgK12HowToTipHash['QA15'] = 'QA15 M&V Electrical Panel Guidance'
260
- @aedgK12HowToTipHash['QA16'] = 'QA16 M&V Data Management and Access'
261
- @aedgK12HowToTipHash['QA17'] = 'QA17 M&V Benchmarking'
262
- @aedgK12HowToTipHash['QA18'] = 'QA18 The Building as a Teaching Tool'
263
-
264
- # renewable energy tips
265
- @aedgK12HowToTipHash['RE01'] = 'RE1 Photovoltaic (PV) Systems'
266
- @aedgK12HowToTipHash['RE02'] = 'RE2 Solar Hot Water Systems'
267
- @aedgK12HowToTipHash['RE03'] = 'RE3 Wind Turbine Power'
268
-
269
- result = @aedgK12HowToTipHash
270
- return result
271
- end
272
-
273
- # hash of how to tips for small to medium office buildings AEDG
274
- def self.getSmMdOffTips
275
- # envelope tips
276
- aedgSmMdOffHowToTipHash = Hash.new('Small and Medium Offices AEDG How to Implement Recommendations')
277
- aedgSmMdOffHowToTipHash['EN01'] = 'EN1 Cool Roofs'
278
- aedgSmMdOffHowToTipHash['EN02'] = 'EN2 Roofs-Insulation Entirely above Deck'
279
- aedgSmMdOffHowToTipHash['EN03'] = 'EN3 Roofs-Attics, and Other Roofs'
280
- aedgSmMdOffHowToTipHash['EN04'] = 'EN4 Roofs-Metal Buildings'
281
- aedgSmMdOffHowToTipHash['EN05'] = 'EN5 Walls-Mass'
282
- aedgSmMdOffHowToTipHash['EN06'] = 'EN6 Walls-Steel Framed'
283
- aedgSmMdOffHowToTipHash['EN07'] = 'EN7 Walls-Wood Frame and Other'
284
- aedgSmMdOffHowToTipHash['EN08'] = 'EN8 Walls-Metal Building'
285
- aedgSmMdOffHowToTipHash['EN09'] = 'EN9 Walls-Below-Grade'
286
- aedgSmMdOffHowToTipHash['EN10'] = 'EN10 Floors-Mass'
287
- aedgSmMdOffHowToTipHash['EN11'] = 'EN11 Floors-Metal Joist or Wood Joist/Wood Frame'
288
- aedgSmMdOffHowToTipHash['EN12'] = 'EN12 Slab-on-Grade Floors-Unheated'
289
- aedgSmMdOffHowToTipHash['EN13'] = 'EN13 Slab-on-Grade Floors-Heated'
290
- aedgSmMdOffHowToTipHash['EN14'] = 'EN14 Slab Edge Insulation'
291
- aedgSmMdOffHowToTipHash['EN15'] = 'EN15 Doors-Opaque, Swinging'
292
- aedgSmMdOffHowToTipHash['EN16'] = 'EN16 Doors-Opaque, Roll-Up, or Sliding'
293
- aedgSmMdOffHowToTipHash['EN17'] = 'EN17 Air Infiltration Control'
294
- aedgSmMdOffHowToTipHash['EN18'] = 'EN18 Vestibules'
295
- aedgSmMdOffHowToTipHash['EN19'] = 'EN19 Alternative Constructions'
296
- aedgSmMdOffHowToTipHash['EN20'] = 'EN20 Truss Heel Heights'
297
- aedgSmMdOffHowToTipHash['EN21'] = 'EN21 Moisture Control'
298
- aedgSmMdOffHowToTipHash['EN22'] = 'EN22 Thermal Bridging-Opaque Components'
299
- aedgSmMdOffHowToTipHash['EN23'] = 'EN23 Thermal Bridging-Fenestration'
300
- aedgSmMdOffHowToTipHash['EN24'] = 'EN24 Vertical Fenestration Descriptions'
301
- aedgSmMdOffHowToTipHash['EN25'] = 'EN25 Window-to-Wall Ratio (WWR)'
302
- aedgSmMdOffHowToTipHash['EN26'] = 'EN26 Unwanted Solar Heat Gain Is Most Effectively Controlled on the Outside of the Building'
303
- aedgSmMdOffHowToTipHash['EN27'] = 'EN27 Operable versus Fixed Windows'
304
- aedgSmMdOffHowToTipHash['EN28'] = 'EN28 Building Form and Window Orientation'
305
- aedgSmMdOffHowToTipHash['EN29'] = 'EN29 Glazing'
306
- aedgSmMdOffHowToTipHash['EN30'] = 'EN30 Obstructions and Planting'
307
- aedgSmMdOffHowToTipHash['EN31'] = 'EN31 Window Orientation'
308
- aedgSmMdOffHowToTipHash['EN32'] = 'EN32 Passive Solar'
309
- aedgSmMdOffHowToTipHash['EN33'] = 'EN33 Glazing'
310
- aedgSmMdOffHowToTipHash['EN34'] = 'EN34 Visible Transmittance (VT)'
311
- aedgSmMdOffHowToTipHash['EN35'] = 'EN35 Separating Views and Daylight'
312
- aedgSmMdOffHowToTipHash['EN36'] = 'EN36 Color-Neutral Glazing'
313
- aedgSmMdOffHowToTipHash['EN37'] = 'EN37 Reflectivity of Glass'
314
- aedgSmMdOffHowToTipHash['EN38'] = 'EN38 Light-to-Solar-Gain Ratio'
315
- aedgSmMdOffHowToTipHash['EN39'] = 'EN39 High Ceilings'
316
- aedgSmMdOffHowToTipHash['EN40'] = 'EN40 Light Shelves'
317
-
318
- # daylighting tips
319
- aedgSmMdOffHowToTipHash['DL01'] = 'DL1 Daylighting Early in the Design Process'
320
- aedgSmMdOffHowToTipHash['DL02'] = 'DL2 Daylighting Analysis Tools to Optimize Design'
321
- aedgSmMdOffHowToTipHash['DL03'] = 'DL3 Space Types, Layout, and Daylight'
322
- aedgSmMdOffHowToTipHash['DL04'] = 'DL4 Building Orientation and Daylight'
323
- aedgSmMdOffHowToTipHash['DL05'] = 'DL5 Building Shape and Daylight'
324
- aedgSmMdOffHowToTipHash['DL06'] = 'DL6 Window-to-Wall Ratio (WWR)'
325
- aedgSmMdOffHowToTipHash['DL07'] = 'DL7 Sidelighting-Ceiling and Window Height'
326
- aedgSmMdOffHowToTipHash['DL08'] = 'Sidelighting-Clerestory Windows'
327
- aedgSmMdOffHowToTipHash['DL09'] = 'DL9 Sidelighting-Borrowed Light'
328
- aedgSmMdOffHowToTipHash['DL10'] = 'DL10 Sidelighting-Wall-to-Wall Windows'
329
- aedgSmMdOffHowToTipHash['DL11'] = 'DL11 Sidelighting-Punched Windows'
330
- aedgSmMdOffHowToTipHash['DL12'] = 'DL12 Shading Systems to Eliminate Direct-Beam Radiation'
331
- aedgSmMdOffHowToTipHash['DL13'] = 'DL13 Daylighting Control for Audiovisual Activities'
332
- aedgSmMdOffHowToTipHash['DL14'] = 'DL14 Interior Finishes for Daylighting'
333
- aedgSmMdOffHowToTipHash['DL15'] = 'DL15 Outdoor Surface Reflectance'
334
- aedgSmMdOffHowToTipHash['DL16'] = 'DL16 Calibration and Commissioning'
335
- aedgSmMdOffHowToTipHash['DL17'] = 'DL17 Dimming Controls'
336
- aedgSmMdOffHowToTipHash['DL18'] = 'DL18 Photosensor Placement and Lighting Layout'
337
- aedgSmMdOffHowToTipHash['DL19'] = 'DL19 Photosensor Specifications'
338
- aedgSmMdOffHowToTipHash['DL20'] = 'DL20 Select Compatible Light Fixtures'
339
- # bonus daylighting tips
340
- aedgSmMdOffHowToTipHash['DL21'] = 'DL21 Toplighting'
341
- aedgSmMdOffHowToTipHash['DL22'] = 'DL22 Rooftop Monitors'
342
- aedgSmMdOffHowToTipHash['DL23'] = 'DL23 Rooftop Monitor Design'
343
- aedgSmMdOffHowToTipHash['DL24'] = 'DL24 Skylights'
344
- aedgSmMdOffHowToTipHash['DL25'] = 'DL25 Toplighting-Thermal Transmittance (Climate Zones 1-3)'
345
- aedgSmMdOffHowToTipHash['DL26'] = 'DL26 Toplighting-Thermal Transmittance (Climate Zones 4-8)'
346
- aedgSmMdOffHowToTipHash['DL27'] = 'DL27 Toplighting-Ceiling Height Differentials'
347
-
348
- # electric lighting tips
349
- aedgSmMdOffHowToTipHash['EL01'] = 'EL1 Savings and Occupant Acceptance'
350
- aedgSmMdOffHowToTipHash['EL02'] = 'EL2 Space Planning-Open Offices'
351
- aedgSmMdOffHowToTipHash['EL03'] = 'EL3 Space Planning-Private Offices, Conference Rooms, and Break Rooms'
352
- aedgSmMdOffHowToTipHash['EL04'] = 'EL4 Light-Colored Interior Finishes'
353
- aedgSmMdOffHowToTipHash['EL05'] = 'EL5 Task Lighting'
354
- aedgSmMdOffHowToTipHash['EL06'] = 'EL6 Color Rendering Index (CRI)'
355
- aedgSmMdOffHowToTipHash['EL07'] = 'EL7 Color Temperature'
356
- aedgSmMdOffHowToTipHash['EL08'] = 'EL8 Linear Fluorescent Lamps and Ballasts'
357
- aedgSmMdOffHowToTipHash['EL09'] = 'EL9 Occupancy Sensors'
358
- aedgSmMdOffHowToTipHash['EL10'] = 'EL10 Multilevel Switching'
359
- aedgSmMdOffHowToTipHash['EL11'] = 'EL11 Daylight-Responsive Controls'
360
- aedgSmMdOffHowToTipHash['EL12'] = 'EL12 Exit Signs'
361
- aedgSmMdOffHowToTipHash['EL13'] = 'EL13 Light Fixture Distribution'
362
- aedgSmMdOffHowToTipHash['EL14'] = 'EL14 Open-Plan Offices'
363
- aedgSmMdOffHowToTipHash['EL15'] = 'EL15 Private Offices'
364
- aedgSmMdOffHowToTipHash['EL16'] = 'EL16 Conference Rooms/Meeting Rooms'
365
- aedgSmMdOffHowToTipHash['EL17'] = 'EL17 Corridors'
366
- aedgSmMdOffHowToTipHash['EL18'] = 'EL18 Storage Areas'
367
- aedgSmMdOffHowToTipHash['EL19'] = 'EL19 Lobbies'
368
- aedgSmMdOffHowToTipHash['EL20'] = 'EL20 Twenty-Four Hour Lighting'
369
- aedgSmMdOffHowToTipHash['EL21'] = 'EL21 Exterior Lighting Power-Parking Lots and Drives'
370
- aedgSmMdOffHowToTipHash['EL22'] = 'EL22 Exterior Lighting Power-Walkways'
371
- aedgSmMdOffHowToTipHash['EL23'] = 'EL23 Decorative Facade Lighting'
372
- aedgSmMdOffHowToTipHash['EL24'] = 'EL24 Sources'
373
- aedgSmMdOffHowToTipHash['EL25'] = 'EL25 Controls'
374
-
375
- # plug load tips
376
- aedgSmMdOffHowToTipHash['PL01'] = 'PL1 Connected Wattage'
377
- aedgSmMdOffHowToTipHash['PL02'] = 'PL2 Laptop Computers'
378
- aedgSmMdOffHowToTipHash['PL03'] = 'PL3 Occupancy Controls'
379
- aedgSmMdOffHowToTipHash['PL04'] = 'PL4 Parasitic Loads'
380
- aedgSmMdOffHowToTipHash['PL05'] = 'PL5 Printing Equipment'
381
- aedgSmMdOffHowToTipHash['PL06'] = 'PL6 Unnecessary Equipment'
382
-
383
- # service water heating tips
384
- aedgSmMdOffHowToTipHash['WH01'] = 'WH1 Service Water Heating Types'
385
- aedgSmMdOffHowToTipHash['WH02'] = 'WH2 System Descriptions'
386
- aedgSmMdOffHowToTipHash['WH03'] = 'WH3 Sizing'
387
- aedgSmMdOffHowToTipHash['WH04'] = 'WH4 Equipment Efficiency'
388
- aedgSmMdOffHowToTipHash['WH05'] = 'WH5 Location'
389
- aedgSmMdOffHowToTipHash['WH06'] = 'WH6 Pipe Insulation'
390
-
391
- # hvac tips
392
- aedgSmMdOffHowToTipHash['HV01'] = 'HV1 Cooling and Heating Loads'
393
- aedgSmMdOffHowToTipHash['HV02'] = 'HV2 Certification of HVAC Equipment'
394
- aedgSmMdOffHowToTipHash['HV03'] = "HV3 Single-Zone, Packaged Air-Source Heat Pump Systems (or Split Heat Pump
395
- Systems) with Electric Resistance Supplemental Heat and DOASs"
396
- aedgSmMdOffHowToTipHash['HV04'] = 'HV4 Water-Source Heat Pumps (WSHPs)'
397
- aedgSmMdOffHowToTipHash['HV05'] = 'HV5 Ground-Coupled Water-Source Heat Pump (WSHP) System'
398
- aedgSmMdOffHowToTipHash['HV06'] = "HV6 Multiple-Zone, VAV Packaged DX Rooftop Units with a Hot-Water Coil,
399
- Indirect Gas Furnace, or Electric Resistance in the Rooftop Unit and
400
- Convection Heat in the Spaces"
401
- aedgSmMdOffHowToTipHash['HV07'] = "HV7 Multiple-Zone, VAV Air-Handling Units with Packaged Air-Cooled Chiller and
402
- Gas-Fired Boiler"
403
- aedgSmMdOffHowToTipHash['HV08'] = 'Fan-Coils'
404
- aedgSmMdOffHowToTipHash['HV09'] = 'HV9 Radiant Heating and Cooling and DOAS'
405
- aedgSmMdOffHowToTipHash['HV10'] = 'HV10 Dedicated Outdoor Air Systems (100% Outdoor Air Systems)'
406
- aedgSmMdOffHowToTipHash['HV11'] = 'HV11 Part-Load Dehumidification'
407
- aedgSmMdOffHowToTipHash['HV12'] = 'HV12 Exhaust Air Energy Recovery'
408
- aedgSmMdOffHowToTipHash['HV13'] = 'HV13 Indirect Evaporative Cooling'
409
- aedgSmMdOffHowToTipHash['HV14'] = 'HV14 Cooling and Heating Equipment Efficiencies'
410
- aedgSmMdOffHowToTipHash['HV15'] = 'HV15 Ventilation Air'
411
- aedgSmMdOffHowToTipHash['HV16'] = 'HV16 Economizer'
412
- aedgSmMdOffHowToTipHash['HV17'] = 'HV17 Demand-Controlled Ventilation (DCV)'
413
- aedgSmMdOffHowToTipHash['HV18'] = 'HV18 Carbon Dioxide (CO2 ) Sensors'
414
- aedgSmMdOffHowToTipHash['HV19'] = 'HV19 Exhaust Air Systems'
415
- aedgSmMdOffHowToTipHash['HV20'] = 'HV20 Ductwork Design and Construction'
416
- aedgSmMdOffHowToTipHash['HV21'] = 'HV21 Duct Insulation'
417
- aedgSmMdOffHowToTipHash['HV22'] = 'HV22 Duct Sealing and Leakage Testing'
418
- aedgSmMdOffHowToTipHash['HV23'] = 'HV23 Fan Motor Efficiencies'
419
- aedgSmMdOffHowToTipHash['HV24'] = 'HV24 Thermal Zoning'
420
- aedgSmMdOffHowToTipHash['HV25'] = 'HV25 System-Level Control Strategies'
421
- aedgSmMdOffHowToTipHash['HV26'] = 'HV26 Testing, Adjusting, and Balancing'
422
- aedgSmMdOffHowToTipHash['HV27'] = 'HV27 Commissioning (Cx)'
423
- aedgSmMdOffHowToTipHash['HV28'] = 'HV28 Filters'
424
- aedgSmMdOffHowToTipHash['HV29'] = 'HV29 Chilled-Water (CHW) System'
425
- aedgSmMdOffHowToTipHash['HV30'] = 'HV30 Water Heating Systems'
426
- aedgSmMdOffHowToTipHash['HV31'] = 'HV31 Relief versus Return Fans'
427
- aedgSmMdOffHowToTipHash['HV32'] = 'HV32 Heating Sources'
428
- aedgSmMdOffHowToTipHash['HV33'] = 'HV33 Noise Control'
429
- aedgSmMdOffHowToTipHash['HV34'] = 'HV34 Proper Maintenance'
430
- aedgSmMdOffHowToTipHash['HV35'] = 'HV35 Zone Temperature Control'
431
- aedgSmMdOffHowToTipHash['HV36'] = 'HV36 Evaporative Condensers on Rooftop Units'
432
-
433
- # commissioning tips
434
- aedgSmMdOffHowToTipHash['QA01'] = 'QA1 Selecting the Design and Construction Team'
435
- aedgSmMdOffHowToTipHash['QA02'] = 'QA2 Selecting the QA Provider'
436
- aedgSmMdOffHowToTipHash['QA03'] = 'QA3 Owner\'s Project Requirements (OPR) and Basis of Design (BoD)'
437
- aedgSmMdOffHowToTipHash['QA04'] = 'QA4 Design and Construction Schedule'
438
- aedgSmMdOffHowToTipHash['QA05'] = 'QA5 Design Review'
439
- aedgSmMdOffHowToTipHash['QA06'] = 'QA6 Defining QA at Pre-Bid'
440
- aedgSmMdOffHowToTipHash['QA07'] = 'QA7 Verifying Building Envelope Construction'
441
- aedgSmMdOffHowToTipHash['QA08'] = 'QA8 Verifying Lighting Construction'
442
- aedgSmMdOffHowToTipHash['QA09'] = 'QA9 Verifying Electrical and HVAC Systems Construction'
443
- aedgSmMdOffHowToTipHash['QA10'] = 'QA10 Performance Testing'
444
- aedgSmMdOffHowToTipHash['QA11'] = 'QA11 Substantial Completion'
445
- aedgSmMdOffHowToTipHash['QA12'] = 'QA12 Final Acceptance'
446
- aedgSmMdOffHowToTipHash['QA13'] = 'QA13 Establish a Building Operation and Maintenance (O&M) Program'
447
- aedgSmMdOffHowToTipHash['QA14'] = 'QA14 Monitor Post-Occupancy Performance'
448
-
449
- # natural ventilation tips
450
- aedgSmMdOffHowToTipHash['NV01'] = 'NV1 Natural Ventilation and Naturally Conditioned Spaces'
451
-
452
- # renewable energy tips
453
- aedgSmMdOffHowToTipHash['RE01'] = 'RE1 Photovoltaic (PV) Systems'
454
- aedgSmMdOffHowToTipHash['RE02'] = 'RE2 Wind Turbine Power'
455
- aedgSmMdOffHowToTipHash['RE03'] = 'RE3 Transpired Solar Collector'
456
- aedgSmMdOffHowToTipHash['RE04'] = 'RE4 Power Purchase Agreements'
457
-
458
- result = aedgSmMdOffHowToTipHash
459
- return result
460
- end
461
- end