openstudio-common-measures 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -1
- data/README.md +7 -2
- data/doc_templates/copyright_erb.txt +1 -1
- data/lib/measures/AddCostPerFloorAreaUnusedToLights/measure.xml +2 -8
- data/lib/measures/AddCostToSupplySideHVACComponentByAirLoop/measure.xml +9 -3
- data/lib/measures/AddSimplePvToShadingSurfacesByType/measure.xml +2 -2
- data/lib/measures/RemoveUnusedDefaultProfiles/measure.xml +2 -2
- data/lib/measures/ReportModelChanges/measure.xml +2 -2
- data/lib/measures/SetCOPforSingleSpeedDXCoolingUnits/measure.xml +4 -4
- data/lib/measures/SetCOPforTwoSpeedDXCoolingUnits/measure.xml +4 -4
- data/lib/measures/SetGasBurnerEfficiency/measure.xml +4 -4
- data/lib/measures/ShiftScheduleProfileTime/measure.xml +4 -4
- data/lib/measures/SwapLightsDefinition/measure.xml +3 -5
- data/lib/measures/add_ems_emissions_reporting/measure.rb +236 -29
- data/lib/measures/add_ems_emissions_reporting/measure.xml +362 -10
- data/lib/measures/add_ev_load/measure.rb +51 -8
- data/lib/measures/add_ev_load/measure.xml +23 -5
- data/lib/measures/envelope_and_internal_load_breakdown/measure.xml +3 -3
- data/lib/measures/envelope_and_internal_load_breakdown/resources/report.html.erb +5 -1
- data/lib/measures/example_report/measure.xml +3 -3
- data/lib/measures/example_report/resources/report.html.erb +5 -1
- data/lib/measures/generic_qaqc/README.md +19 -4
- data/lib/measures/generic_qaqc/README.md.erb +7 -1
- data/lib/measures/generic_qaqc/docs/generic_qaqc_detailed.jpg +0 -0
- data/lib/measures/generic_qaqc/docs/generic_qaqc_summary.jpg +0 -0
- data/lib/measures/generic_qaqc/measure.rb +34 -29
- data/lib/measures/generic_qaqc/measure.xml +181 -82
- data/lib/measures/generic_qaqc/resources/check_cond_zns.rb +3 -1
- data/lib/measures/generic_qaqc/resources/check_domestic_hot_water.rb +13 -8
- data/lib/measures/generic_qaqc/resources/check_envelope_conductance.rb +330 -231
- data/lib/measures/generic_qaqc/resources/check_eui_by_end_use.rb +59 -20
- data/lib/measures/generic_qaqc/resources/check_eui_reasonableness.rb +58 -20
- data/lib/measures/generic_qaqc/resources/check_internal_loads.rb +57 -56
- data/lib/measures/generic_qaqc/resources/check_mech_sys_capacity.rb +4 -1
- data/lib/measures/generic_qaqc/resources/check_mech_sys_efficiency.rb +27 -22
- data/lib/measures/generic_qaqc/resources/check_mech_sys_part_load_eff.rb +4 -1
- data/lib/measures/generic_qaqc/resources/check_mech_sys_type.rb +3 -3
- data/lib/measures/generic_qaqc/resources/check_schedules.rb +65 -101
- data/lib/measures/generic_qaqc/resources/check_simultaneous_heating_and_cooling.rb +3 -1
- data/lib/measures/generic_qaqc/resources/check_supply_air_and_thermostat_temp_difference.rb +3 -1
- data/lib/measures/generic_qaqc/resources/os_lib_reporting_qaqc.rb +49 -15
- data/lib/measures/generic_qaqc/resources/report.html.erb +5 -1
- data/lib/measures/hvac_psychrometric_chart/measure.xml +3 -3
- data/lib/measures/hvac_psychrometric_chart/resources/report.html.erb +5 -1
- data/lib/measures/openstudio_results/measure.xml +3 -3
- data/lib/measures/openstudio_results/resources/report.html.erb +5 -1
- data/lib/measures/set_run_period/measure.xml +2 -2
- data/lib/measures/view_data/measure.xml +4 -4
- data/lib/measures/view_data/resources/report.html.in +189 -19
- data/lib/measures/view_data/resources/va3c.rb +1 -0
- data/lib/measures/view_model/measure.xml +9 -9
- data/lib/measures/view_model/resources/report.html.in +189 -19
- data/lib/measures/view_model/resources/va3c.rb +1 -0
- data/lib/openstudio/common_measures/version.rb +1 -1
- data/openstudio-common-measures.gemspec +1 -1
- metadata +7 -5
@@ -59,50 +59,152 @@ class AddEMSEmissionsReporting < OpenStudio::Measure::ModelMeasure
|
|
59
59
|
args = OpenStudio::Measure::OSArgumentVector.new
|
60
60
|
|
61
61
|
# future subregion
|
62
|
-
|
62
|
+
future_subregion_chs = OpenStudio::StringVector.new
|
63
|
+
future_subregion_chs << 'AZNMc'
|
64
|
+
future_subregion_chs << 'CAMXc'
|
65
|
+
future_subregion_chs << 'ERCTc'
|
66
|
+
future_subregion_chs << 'FRCCc'
|
67
|
+
future_subregion_chs << 'MROEc'
|
68
|
+
future_subregion_chs << 'MROWc'
|
69
|
+
future_subregion_chs << 'NEWEc'
|
70
|
+
future_subregion_chs << 'NWPPc'
|
71
|
+
future_subregion_chs << 'NYSTc'
|
72
|
+
future_subregion_chs << 'RFCEc'
|
73
|
+
future_subregion_chs << 'RFCMc'
|
74
|
+
future_subregion_chs << 'RFCWc'
|
75
|
+
future_subregion_chs << 'RMPAc'
|
76
|
+
future_subregion_chs << 'SPNOc'
|
77
|
+
future_subregion_chs << 'SPSOc'
|
78
|
+
future_subregion_chs << 'SRMVc'
|
79
|
+
future_subregion_chs << 'SRMWc'
|
80
|
+
future_subregion_chs << 'SRSOc'
|
81
|
+
future_subregion_chs << 'SRTVc'
|
82
|
+
future_subregion_chs << 'SRVCc'
|
83
|
+
|
84
|
+
future_subregion = OpenStudio::Measure::OSArgument.makeChoiceArgument('future_subregion', future_subregion_chs, true)
|
63
85
|
future_subregion.setDisplayName('Future subregion')
|
64
86
|
future_subregion.setDescription('Future subregion. Options are: AZNMc, CAMXc, ERCTc, FRCCc, MROEc, MROWc, NEWEc, NWPPc, NYSTc, RFCEc, RFCMc, RFCWc, RMPAc, SPNOc, SPSOc, SRMVc, SRMWc, SRSOc, SRTVc, and SRVCc')
|
65
87
|
future_subregion.setDefaultValue('RMPAc')
|
66
88
|
args << future_subregion
|
67
89
|
|
68
90
|
# historical hourly subregion
|
69
|
-
|
91
|
+
hourly_historical_subregion_chs = OpenStudio::StringVector.new
|
92
|
+
hourly_historical_subregion_chs << 'California'
|
93
|
+
hourly_historical_subregion_chs << 'Carolinas'
|
94
|
+
hourly_historical_subregion_chs << 'Central'
|
95
|
+
hourly_historical_subregion_chs << 'Florida'
|
96
|
+
hourly_historical_subregion_chs << 'Mid-Atlantic'
|
97
|
+
hourly_historical_subregion_chs << 'Midwest'
|
98
|
+
hourly_historical_subregion_chs << 'New England'
|
99
|
+
hourly_historical_subregion_chs << 'New York'
|
100
|
+
hourly_historical_subregion_chs << 'Northwest'
|
101
|
+
hourly_historical_subregion_chs << 'Rocky Mountains'
|
102
|
+
hourly_historical_subregion_chs << 'Southeast'
|
103
|
+
hourly_historical_subregion_chs << 'Southwest'
|
104
|
+
hourly_historical_subregion_chs << 'Tennessee'
|
105
|
+
hourly_historical_subregion_chs << 'Texas'
|
106
|
+
|
107
|
+
hourly_historical_subregion = OpenStudio::Measure::OSArgument.makeChoiceArgument('hourly_historical_subregion', hourly_historical_subregion_chs, true)
|
70
108
|
hourly_historical_subregion.setDisplayName('Historical hourly subregion')
|
71
109
|
hourly_historical_subregion.setDescription('Historical hourly subregion. Options are: California, Carolinas, Central, Florida, Mid-Atlantic, Midwest, New England, New York, Northwest, Rocky Mountains, Southeast, Southwest, Tennessee, and Texas')
|
72
110
|
hourly_historical_subregion.setDefaultValue('Rocky Mountains')
|
73
111
|
args << hourly_historical_subregion
|
74
112
|
|
75
113
|
# historical annual subregion
|
76
|
-
|
114
|
+
annual_historical_subregion_chs = OpenStudio::StringVector.new
|
115
|
+
annual_historical_subregion_chs << 'AKGD'
|
116
|
+
annual_historical_subregion_chs << 'AKMS'
|
117
|
+
annual_historical_subregion_chs << 'AZNM'
|
118
|
+
annual_historical_subregion_chs << 'CAMX'
|
119
|
+
annual_historical_subregion_chs << 'ERCT'
|
120
|
+
annual_historical_subregion_chs << 'FRCC'
|
121
|
+
annual_historical_subregion_chs << 'HIMS'
|
122
|
+
annual_historical_subregion_chs << 'HIOA'
|
123
|
+
annual_historical_subregion_chs << 'MROE'
|
124
|
+
annual_historical_subregion_chs << 'MROW'
|
125
|
+
annual_historical_subregion_chs << 'NEWE'
|
126
|
+
annual_historical_subregion_chs << 'NWPP'
|
127
|
+
annual_historical_subregion_chs << 'NYCW'
|
128
|
+
annual_historical_subregion_chs << 'NYLI'
|
129
|
+
annual_historical_subregion_chs << 'NYUP'
|
130
|
+
annual_historical_subregion_chs << 'RFCE'
|
131
|
+
annual_historical_subregion_chs << 'RFCM'
|
132
|
+
annual_historical_subregion_chs << 'RFCW'
|
133
|
+
annual_historical_subregion_chs << 'RMPA'
|
134
|
+
annual_historical_subregion_chs << 'SPNO'
|
135
|
+
annual_historical_subregion_chs << 'SPSO'
|
136
|
+
annual_historical_subregion_chs << 'SRMV'
|
137
|
+
annual_historical_subregion_chs << 'SRMW'
|
138
|
+
annual_historical_subregion_chs << 'SRSO'
|
139
|
+
annual_historical_subregion_chs << 'SRTV'
|
140
|
+
annual_historical_subregion_chs << 'SRVC'
|
141
|
+
|
142
|
+
annual_historical_subregion = OpenStudio::Measure::OSArgument.makeChoiceArgument('annual_historical_subregion', annual_historical_subregion_chs, true)
|
77
143
|
annual_historical_subregion.setDisplayName('Historical annual subregion')
|
78
144
|
annual_historical_subregion.setDescription('Historical annual subregion. Options are: AKGD, AKMS, AZNM, CAMX, ERCT, FRCC, HIMS, HIOA, MROE, MROW, NEWE, NWPP, NYCW, NYLI, NYUP, RFCE, RFCM, RFCW, RMPA, SPNO, SPSO, SRMV, SRMW, SRSO, SRTV, and SRVC')
|
79
145
|
annual_historical_subregion.setDefaultValue('RMPA')
|
80
146
|
args << annual_historical_subregion
|
81
147
|
|
82
148
|
# future year
|
83
|
-
|
149
|
+
future_year_chs = OpenStudio::StringVector.new
|
150
|
+
future_year_chs << '2020'
|
151
|
+
future_year_chs << '2022'
|
152
|
+
future_year_chs << '2024'
|
153
|
+
future_year_chs << '2026'
|
154
|
+
future_year_chs << '2028'
|
155
|
+
future_year_chs << '2030'
|
156
|
+
future_year_chs << '2032'
|
157
|
+
future_year_chs << '2034'
|
158
|
+
future_year_chs << '2036'
|
159
|
+
future_year_chs << '2038'
|
160
|
+
future_year_chs << '2040'
|
161
|
+
future_year_chs << '2042'
|
162
|
+
future_year_chs << '2044'
|
163
|
+
future_year_chs << '2046'
|
164
|
+
future_year_chs << '2048'
|
165
|
+
future_year_chs << '2050'
|
166
|
+
|
167
|
+
|
168
|
+
future_year = OpenStudio::Measure::OSArgument.makeChoiceArgument('future_year', future_year_chs, true)
|
84
169
|
future_year.setDisplayName('Future Year')
|
85
170
|
future_year.setDescription('Future Year. Options are: 2020 to 2050 in two year increments')
|
86
|
-
future_year.setDefaultValue(2020)
|
171
|
+
future_year.setDefaultValue('2020')
|
87
172
|
args << future_year
|
88
173
|
|
89
174
|
# hourly historical year
|
90
|
-
|
175
|
+
hourly_historical_year_chs = OpenStudio::StringVector.new
|
176
|
+
hourly_historical_year_chs << '2019'
|
177
|
+
|
178
|
+
hourly_historical_year = OpenStudio::Measure::OSArgument.makeChoiceArgument('hourly_historical_year', hourly_historical_year_chs, true)
|
91
179
|
hourly_historical_year.setDisplayName('Hourly Historical Year')
|
92
180
|
hourly_historical_year.setDescription('Hourly Historical Year. Options are: 2019.')
|
93
|
-
hourly_historical_year.setDefaultValue(2019)
|
181
|
+
hourly_historical_year.setDefaultValue('2019')
|
94
182
|
args << hourly_historical_year
|
95
183
|
|
96
184
|
# annual historical year
|
97
|
-
|
185
|
+
annual_historical_year_chs = OpenStudio::StringVector.new
|
186
|
+
annual_historical_year_chs << '2007'
|
187
|
+
annual_historical_year_chs << '2009'
|
188
|
+
annual_historical_year_chs << '2010'
|
189
|
+
annual_historical_year_chs << '2012'
|
190
|
+
annual_historical_year_chs << '2014'
|
191
|
+
annual_historical_year_chs << '2016'
|
192
|
+
annual_historical_year_chs << '2018'
|
193
|
+
annual_historical_year_chs << '2019'
|
194
|
+
|
195
|
+
annual_historical_year = OpenStudio::Measure::OSArgument.makeChoiceArgument('annual_historical_year', annual_historical_year_chs, true)
|
196
|
+
|
197
|
+
#puts "annual_historical_year = #{annual_historical_year}"
|
198
|
+
|
98
199
|
annual_historical_year.setDisplayName('Annual Historical Year')
|
99
200
|
annual_historical_year.setDescription('Annual Historical Year. Options are: 2007, 2009, 2010, 2012, 2014, 2016, 2018, and 2019.')
|
100
|
-
annual_historical_year.setDefaultValue(2019)
|
201
|
+
annual_historical_year.setDefaultValue('2019')
|
101
202
|
args << annual_historical_year
|
102
203
|
|
103
204
|
return args
|
104
205
|
end
|
105
206
|
|
207
|
+
|
106
208
|
# define what happens when the measure is run
|
107
209
|
def run(model, runner, usr_args)
|
108
210
|
super(model, runner, usr_args)
|
@@ -114,9 +216,43 @@ class AddEMSEmissionsReporting < OpenStudio::Measure::ModelMeasure
|
|
114
216
|
future_subregion = runner.getStringArgumentValue('future_subregion', usr_args)
|
115
217
|
hourly_historical_subregion = runner.getStringArgumentValue('hourly_historical_subregion', usr_args)
|
116
218
|
annual_historical_subregion = runner.getStringArgumentValue('annual_historical_subregion', usr_args)
|
117
|
-
future_year = runner.
|
118
|
-
hourly_historical_year = runner.
|
119
|
-
annual_historical_year = runner.
|
219
|
+
future_year = runner.getStringArgumentValue('future_year', usr_args).to_i
|
220
|
+
hourly_historical_year = runner.getStringArgumentValue('hourly_historical_year', usr_args).to_i
|
221
|
+
annual_historical_year = runner.getStringArgumentValue('annual_historical_year', usr_args).to_i
|
222
|
+
|
223
|
+
# log errors if users select arguments not supported by the measure
|
224
|
+
arguments(model).each do |argument|
|
225
|
+
|
226
|
+
case argument.name
|
227
|
+
|
228
|
+
when 'future_subregion'
|
229
|
+
if !argument.choiceValues.include? future_subregion
|
230
|
+
runner.registerError("#{future_subregion} is not a valid option. Please select from of the following future_subregion options #{argument.choiceValues}")
|
231
|
+
end
|
232
|
+
when 'hourly_historical_subregion'
|
233
|
+
if !argument.choiceValues.include? hourly_historical_subregion
|
234
|
+
runner.registerError("#{hourly_historical_subregion} is not a valid option. Please select from of the following hourly_historical_subregion options #{argument.choiceValues}")
|
235
|
+
end
|
236
|
+
when 'annual_historical_subregion'
|
237
|
+
if !argument.choiceValues.include? annual_historical_subregion
|
238
|
+
runner.registerError("#{annual_historical_subregion} is not a valid option. Please select from of the following annual_historical_subregion options #{argument.choiceValues}")
|
239
|
+
end
|
240
|
+
when 'future_year'
|
241
|
+
if !argument.choiceValues.include? future_year.to_s
|
242
|
+
runner.registerError("#{future_year} is not a valid option. Please select from of the following future_year options #{argument.choiceValues}")
|
243
|
+
end
|
244
|
+
when 'hourly_historical_year'
|
245
|
+
if !argument.choiceValues.include? hourly_historical_year.to_s
|
246
|
+
runner.registerError("#{hourly_historical_year} is not a valid option. Please select from of the following hourly_historical_year options #{argument.choiceValues}")
|
247
|
+
end
|
248
|
+
when 'annual_historical_year'
|
249
|
+
if !argument.choiceValues.include? annual_historical_year.to_s
|
250
|
+
runner.registerError("#{annual_historical_year} is not a valid option. Please select from of the following annual_historical_year options #{argument.choiceValues}")
|
251
|
+
end
|
252
|
+
|
253
|
+
end
|
254
|
+
|
255
|
+
end
|
120
256
|
|
121
257
|
fut_hr_path = "#{__dir__}/resources/future_hourly_co2e_#{future_year}.csv"
|
122
258
|
his_hr_path = "#{__dir__}/resources/historical_hourly_co2e_#{hourly_historical_year}.csv"
|
@@ -193,11 +329,23 @@ class AddEMSEmissionsReporting < OpenStudio::Measure::ModelMeasure
|
|
193
329
|
his_yr_data.each {|r| ems_prgm.addLine("SET his_yr_val = #{r[annual_historical_subregion]}") if r[0].to_i == annual_historical_year}
|
194
330
|
ems_prgm.addLine('SET elec = Ele_Sen')
|
195
331
|
ems_prgm.addLine('SET conv = 1000000 * 60 * 60') # J to MWh (1000000J/MJ * 60hr/min * 60 min/sec)
|
196
|
-
ems_prgm.addLine('SET
|
197
|
-
ems_prgm.addLine('SET
|
198
|
-
ems_prgm.addLine('SET
|
199
|
-
ems_prgm.addLine('SET
|
200
|
-
|
332
|
+
ems_prgm.addLine('SET conv_kg_mt = 0.001') # kg to metric ton
|
333
|
+
ems_prgm.addLine('SET fut_hr = (fut_hr_val * elec / conv) * conv_kg_mt')
|
334
|
+
ems_prgm.addLine('SET his_hr = (his_hr_val * elec / conv) * conv_kg_mt')
|
335
|
+
ems_prgm.addLine('SET fut_yr = (fut_yr_val * elec / conv) * conv_kg_mt')
|
336
|
+
ems_prgm.addLine('SET his_yr = (his_yr_val * elec / conv) * conv_kg_mt')
|
337
|
+
|
338
|
+
|
339
|
+
#### add emissions intensity metric
|
340
|
+
# get building from model
|
341
|
+
building = model.getBuilding
|
342
|
+
floor_area = building.floorArea * 10.764 #change from m2 to ft2
|
343
|
+
#add metric
|
344
|
+
ems_prgm.addLine("SET fut_hr_intensity = fut_hr * 1000 / #{floor_area}") # unit: kg/ft2 - changed mt to kg
|
345
|
+
ems_prgm.addLine("SET his_hr_intensity = his_hr * 1000 / #{floor_area}") # unit: kg/ft2 - changed mt to kg
|
346
|
+
ems_prgm.addLine("SET fut_yr_intensity = fut_yr * 1000 / #{floor_area}") # unit: kg/ft2 - changed mt to kg
|
347
|
+
ems_prgm.addLine("SET his_yr_intensity = his_yr * 1000 / #{floor_area}") # unit: kg/ft2 - changed mt to kg
|
348
|
+
|
201
349
|
# add EMS program calling manager
|
202
350
|
mgr_prgm = OpenStudio::Model::EnergyManagementSystemProgramCallingManager.new(model)
|
203
351
|
mgr_prgm.setName('Emissions Calc Prgm')
|
@@ -206,60 +354,119 @@ class AddEMSEmissionsReporting < OpenStudio::Measure::ModelMeasure
|
|
206
354
|
|
207
355
|
# add future hourly EMS output variable
|
208
356
|
ems_var1 = OpenStudio::Model::EnergyManagementSystemOutputVariable.new(model, 'fut_hr')
|
209
|
-
ems_var1.setName(
|
357
|
+
ems_var1.setName('Future_Hourly_Emissions_Var')
|
210
358
|
ems_var1.setEMSVariableName('fut_hr')
|
211
359
|
ems_var1.setTypeOfDataInVariable('Summed')
|
212
360
|
ems_var1.setUpdateFrequency('SystemTimestep')
|
213
361
|
ems_var1.setEMSProgramOrSubroutineName(ems_prgm)
|
214
|
-
ems_var1.setUnits('
|
362
|
+
ems_var1.setUnits('mt')
|
215
363
|
|
216
364
|
# add historical hourly EMS output variable
|
217
365
|
ems_var2 = OpenStudio::Model::EnergyManagementSystemOutputVariable.new(model, 'his_hr')
|
218
|
-
ems_var2.setName(
|
366
|
+
ems_var2.setName('Historical_Hourly_Emissions_Var')
|
219
367
|
ems_var2.setEMSVariableName('his_hr')
|
220
368
|
ems_var2.setTypeOfDataInVariable('Summed')
|
221
369
|
ems_var2.setUpdateFrequency('SystemTimestep')
|
222
370
|
ems_var2.setEMSProgramOrSubroutineName(ems_prgm)
|
223
|
-
ems_var2.setUnits('
|
371
|
+
ems_var2.setUnits('mt')
|
224
372
|
|
225
373
|
# add future annual EMS output variable
|
226
374
|
ems_var3 = OpenStudio::Model::EnergyManagementSystemOutputVariable.new(model, 'fut_yr')
|
227
|
-
ems_var3.setName(
|
375
|
+
ems_var3.setName('Future_Annual_Emissions_Var')
|
228
376
|
ems_var3.setEMSVariableName('fut_yr')
|
229
377
|
ems_var3.setTypeOfDataInVariable('Summed')
|
230
378
|
ems_var3.setUpdateFrequency('SystemTimestep')
|
231
379
|
ems_var3.setEMSProgramOrSubroutineName(ems_prgm)
|
232
|
-
ems_var3.setUnits('
|
380
|
+
ems_var3.setUnits('mt')
|
233
381
|
|
234
382
|
# add historical annual EMS output variable
|
235
383
|
ems_var4 = OpenStudio::Model::EnergyManagementSystemOutputVariable.new(model, 'his_yr')
|
236
|
-
ems_var4.setName(
|
384
|
+
ems_var4.setName('Historical_Annual_Emissions_Var')
|
237
385
|
ems_var4.setEMSVariableName('his_yr')
|
238
386
|
ems_var4.setTypeOfDataInVariable('Summed')
|
239
387
|
ems_var4.setUpdateFrequency('SystemTimestep')
|
240
388
|
ems_var4.setEMSProgramOrSubroutineName(ems_prgm)
|
241
|
-
ems_var4.setUnits('
|
389
|
+
ems_var4.setUnits('mt')
|
390
|
+
|
391
|
+
|
392
|
+
##### add emissions intensity
|
393
|
+
# add future hourly EMS output variable
|
394
|
+
ems_var5 = OpenStudio::Model::EnergyManagementSystemOutputVariable.new(model, 'fut_hr_intensity')
|
395
|
+
ems_var5.setName('Future_Hourly_Emissions_Intensity_Var')
|
396
|
+
ems_var5.setEMSVariableName('fut_hr_intensity')
|
397
|
+
ems_var5.setTypeOfDataInVariable('Summed')
|
398
|
+
ems_var5.setUpdateFrequency('SystemTimestep')
|
399
|
+
ems_var5.setEMSProgramOrSubroutineName(ems_prgm)
|
400
|
+
ems_var5.setUnits('kg/ft2')
|
401
|
+
|
402
|
+
# add historical hourly EMS output variable
|
403
|
+
ems_var6 = OpenStudio::Model::EnergyManagementSystemOutputVariable.new(model, 'his_hr_intensity')
|
404
|
+
ems_var6.setName('Historical_Hourly_Emissions_Intensity_Var')
|
405
|
+
ems_var6.setEMSVariableName('his_hr_intensity')
|
406
|
+
ems_var6.setTypeOfDataInVariable('Summed')
|
407
|
+
ems_var6.setUpdateFrequency('SystemTimestep')
|
408
|
+
ems_var6.setEMSProgramOrSubroutineName(ems_prgm)
|
409
|
+
ems_var6.setUnits('kg/ft2')
|
410
|
+
|
411
|
+
# add future annual EMS output variable
|
412
|
+
ems_var7 = OpenStudio::Model::EnergyManagementSystemOutputVariable.new(model, 'fut_yr_intensity')
|
413
|
+
ems_var7.setName('Future_Annual_Emissions_Intensity_Var')
|
414
|
+
ems_var7.setEMSVariableName('fut_yr_intensity')
|
415
|
+
ems_var7.setTypeOfDataInVariable('Summed')
|
416
|
+
ems_var7.setUpdateFrequency('SystemTimestep')
|
417
|
+
ems_var7.setEMSProgramOrSubroutineName(ems_prgm)
|
418
|
+
ems_var7.setUnits('kg/ft2')
|
419
|
+
|
420
|
+
# add historical annual EMS output variable
|
421
|
+
ems_var8 = OpenStudio::Model::EnergyManagementSystemOutputVariable.new(model, 'his_yr_intensity')
|
422
|
+
ems_var8.setName('Historical_Annual_Emissions_Intensity_Var')
|
423
|
+
ems_var8.setEMSVariableName('his_yr_intensity')
|
424
|
+
ems_var8.setTypeOfDataInVariable('Summed')
|
425
|
+
ems_var8.setUpdateFrequency('SystemTimestep')
|
426
|
+
ems_var8.setEMSProgramOrSubroutineName(ems_prgm)
|
427
|
+
ems_var8.setUnits('kg/ft2')
|
242
428
|
|
243
429
|
# add future hourly reporting output variable
|
244
|
-
out_var1 = OpenStudio::Model::OutputVariable.new(
|
430
|
+
out_var1 = OpenStudio::Model::OutputVariable.new('Future_Hourly_Emissions_Var', model)
|
245
431
|
out_var1.setKeyValue('EMS')
|
246
432
|
out_var1.setReportingFrequency('hourly')
|
247
433
|
|
248
434
|
# add historical hourly reporting output variable
|
249
|
-
out_var2 = OpenStudio::Model::OutputVariable.new(
|
435
|
+
out_var2 = OpenStudio::Model::OutputVariable.new('Historical_Hourly_Emissions_Var', model)
|
250
436
|
out_var2.setKeyValue('EMS')
|
251
437
|
out_var2.setReportingFrequency('hourly')
|
252
438
|
|
253
439
|
# add future annual reporting output variable
|
254
|
-
out_var3 = OpenStudio::Model::OutputVariable.new(
|
440
|
+
out_var3 = OpenStudio::Model::OutputVariable.new('Future_Annual_Emissions_Var', model)
|
255
441
|
out_var3.setKeyValue('EMS')
|
256
442
|
out_var3.setReportingFrequency('hourly')
|
257
443
|
|
258
444
|
# add historical annual reporting output variable
|
259
|
-
out_var4 = OpenStudio::Model::OutputVariable.new(
|
445
|
+
out_var4 = OpenStudio::Model::OutputVariable.new('Historical_Annual_Emissions_Var', model)
|
260
446
|
out_var4.setKeyValue('EMS')
|
261
447
|
out_var4.setReportingFrequency('hourly')
|
262
448
|
|
449
|
+
# add future hourly intensity reporting output variable
|
450
|
+
out_var5 = OpenStudio::Model::OutputVariable.new('Future_Hourly_Emissions_Intensity_Var', model)
|
451
|
+
out_var5.setKeyValue('EMS')
|
452
|
+
out_var5.setReportingFrequency('hourly')
|
453
|
+
|
454
|
+
# add historical hourly intensity reporting output variable
|
455
|
+
out_var6 = OpenStudio::Model::OutputVariable.new('Historical_Hourly_Emissions_Intensity_Var', model)
|
456
|
+
out_var6.setKeyValue('EMS')
|
457
|
+
out_var6.setReportingFrequency('hourly')
|
458
|
+
|
459
|
+
# add future annual intensity reporting output variable
|
460
|
+
out_var7 = OpenStudio::Model::OutputVariable.new('Future_Annual_Emissions_Intensity_Var', model)
|
461
|
+
out_var7.setKeyValue('EMS')
|
462
|
+
out_var7.setReportingFrequency('hourly')
|
463
|
+
|
464
|
+
# add historical annual intensity reporting output variable
|
465
|
+
out_var8 = OpenStudio::Model::OutputVariable.new('Historical_Annual_Emissions_Intensity_Var', model)
|
466
|
+
out_var8.setKeyValue('EMS')
|
467
|
+
out_var8.setReportingFrequency('hourly')
|
468
|
+
|
469
|
+
|
263
470
|
return true
|
264
471
|
end
|
265
472
|
end
|