urbanopt-cli 0.1.0 → 0.2.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
@@ -48,7 +48,7 @@ module URBANopt
48
48
  # do initialization of class variables in thread safe way
49
49
  @@instance_lock.synchronize do
50
50
  if @@osw.nil?
51
-
51
+
52
52
  # load the OSW for this class
53
53
  osw_path = File.join(File.dirname(__FILE__), 'base_workflow.osw')
54
54
  File.open(osw_path, 'r') do |file|
@@ -78,180 +78,315 @@ module URBANopt
78
78
  feature_name = feature_names[0]
79
79
  end
80
80
 
81
+ # deep clone of @@osw before we configure it
82
+ osw = Marshal.load(Marshal.dump(@@osw))
83
+
84
+ # now we have the feature, we can look up its properties and set arguments in the OSW
85
+ osw[:name] = feature_name
86
+ osw[:description] = feature_name
87
+
81
88
  if feature_type == 'Building'
82
-
83
- building_type_1 = feature.building_type
84
89
 
85
- case building_type_1
86
- when 'Multifamily (5 or more units)'
87
- building_type_1 = 'MidriseApartment'
88
- when 'Multifamily (2 to 4 units)'
89
- building_type_1 = 'MidriseApartment'
90
- when 'Single-Family'
91
- building_type_1 = 'MidriseApartment'
92
- when 'Office'
93
- building_type_1 = 'MediumOffice'
94
- when 'Outpatient health care'
95
- building_type_1 = 'Outpatient'
96
- when 'Inpatient health care'
97
- building_type_1 = 'Hospital'
98
- when 'Lodging'
99
- building_type_1 = 'LargeHotel'
100
- when 'Food service'
101
- building_type_1 = 'FullServiceRestaurant'
102
- when 'Strip shopping mall'
103
- building_type_1 = 'RetailStripmall'
104
- when 'Retail other than mall'
105
- building_type_1 = 'RetailStandalone'
106
- when 'Education'
107
- building_type_1 = 'SecondarySchool'
108
- when 'Nursing'
109
- building_type_1 = 'MidriseApartment'
110
- when 'Mixed use'
111
- mixed_type_1 = feature.mixed_type_1
112
-
113
- mixed_type_2 = feature.mixed_type_2
114
- mixed_type_2_percentage = feature.mixed_type_2_percentage
115
- mixed_type_2_fract_bldg_area = mixed_type_2_percentage*0.01
116
-
117
- mixed_type_3 = feature.mixed_type_3
118
- mixed_type_3_percentage = feature.mixed_type_3_percentage
119
- mixed_type_3_fract_bldg_area = mixed_type_3_percentage*0.01
90
+ # set_run_period
91
+ begin
92
+ timesteps_per_hour = feature.timesteps_per_hour
93
+ if !timesteps_per_hour.empty?
94
+ OpenStudio::Extension.set_measure_argument(osw, 'set_run_period', 'timesteps_per_hour', timesteps_per_hour)
95
+ end
96
+ rescue
97
+ end
98
+ begin
99
+ begin_date = feature.begin_date
100
+ if !feature.begin_date.empty?
101
+ # check date-only YYYY-MM-DD
102
+ if feature.begin_date.length > 10
103
+ feature.begin_date = feature.begin_date[0, 10]
104
+ end
105
+ OpenStudio::Extension.set_measure_argument(osw, 'set_run_period', 'begin_date', begin_date)
106
+ end
107
+ rescue
108
+ end
109
+ begin
110
+ end_date = feature.end_date
111
+ if !feature.end_date.empty?
112
+ # check date-only YYYY-MM-DD
113
+ if feature.end_date.length > 10
114
+ feature.end_date = feature.end_date[0, 10]
115
+ end
116
+ OpenStudio::Extension.set_measure_argument(osw, 'set_run_period', 'end_date', end_date)
117
+ end
118
+ rescue
119
+ end
120
+
121
+ # ChangeBuildingLocation
122
+ # cec climate zone takes precedence
123
+ cec_found = false
124
+ begin
125
+ cec_climate_zone = feature.cec_climate_zone
126
+ if !cec_climate_zone.empty?
127
+ cec_climate_zone = "T24-CEC" + cec_climate_zone
128
+ OpenStudio::Extension.set_measure_argument(osw, 'ChangeBuildingLocation', 'climate_zone', cec_climate_zone)
129
+ cec_found = true
130
+ end
131
+ rescue
132
+ end
133
+ if !cec_found
134
+ begin
135
+ climate_zone = feature.climate_zone
136
+ if !climate_zone.empty?
137
+ climate_zone = "ASHRAE 169-2013-" + climate_zone
138
+ OpenStudio::Extension.set_measure_argument(osw, 'ChangeBuildingLocation', 'climate_zone', climate_zone)
139
+ end
140
+ rescue
141
+ end
142
+ end
120
143
 
121
- mixed_type_4 = feature.mixed_type_4
122
- mixed_type_4_percentage = feature.mixed_type_4_percentage
123
- mixed_type_4_fract_bldg_area = mixed_type_4_percentage*0.01
144
+ begin
145
+ weather_filename = feature.weather_filename
146
+ if !feature.weather_filename.empty?
147
+ OpenStudio::Extension.set_measure_argument(osw, 'ChangeBuildingLocation', 'weather_file_name', weather_filename)
148
+ end
149
+ rescue
150
+ end
151
+ # convert to hash
152
+ building_hash = feature.to_hash
153
+ # check for detailed model filename
154
+ if building_hash.key?(:detailed_model_filename)
155
+ detailed_model_filename = building_hash[:detailed_model_filename]
156
+ osw[:file_paths] << File.join(File.dirname(__FILE__), '../osm_building/')
157
+ osw[:seed_file] = detailed_model_filename
124
158
 
125
- mixed_use_types = []
126
- mixed_use_types << mixed_type_1
127
- mixed_use_types << mixed_type_2
128
- mixed_use_types << mixed_type_3
129
- mixed_use_types << mixed_type_4
159
+ # skip PMV measure with detailed models:
160
+ OpenStudio::Extension.set_measure_argument(osw, 'PredictedMeanVote', '__SKIP__', true)
130
161
 
131
- openstudio_mixed_use_types = []
162
+ # in case detailed model filename is not present
163
+ else
164
+ building_type_1 = building_hash[:building_type]
165
+ case building_type_1
166
+ when 'Multifamily (5 or more units)'
167
+ building_type_1 = 'MidriseApartment'
168
+ when 'Multifamily (2 to 4 units)'
169
+ building_type_1 = 'MidriseApartment'
170
+ when 'Single-Family'
171
+ building_type_1 = 'MidriseApartment'
172
+ when 'Office'
173
+ building_type_1 = 'MediumOffice'
174
+ when 'Outpatient health care'
175
+ building_type_1 = 'Outpatient'
176
+ when 'Inpatient health care'
177
+ building_type_1 = 'Hospital'
178
+ when 'Lodging'
179
+ building_type_1 = 'LargeHotel'
180
+ when 'Food service'
181
+ building_type_1 = 'FullServiceRestaurant'
182
+ when 'Strip shopping mall'
183
+ building_type_1 = 'RetailStripmall'
184
+ when 'Retail other than mall'
185
+ building_type_1 = 'RetailStandalone'
186
+ when 'Education'
187
+ building_type_1 = 'SecondarySchool'
188
+ when 'Nursing'
189
+ building_type_1 = 'MidriseApartment'
190
+ when 'Mixed use'
191
+ mixed_type_1 = building_hash[:mixed_type_1]
192
+ mixed_type_2 = building_hash[:mixed_type_2]
193
+ mixed_type_2_percentage = building_hash[:mixed_type_2_percentage]
194
+ mixed_type_2_fract_bldg_area = mixed_type_2_percentage*0.01
195
+
196
+ mixed_type_3 = building_hash[:mixed_type_3]
197
+ mixed_type_3_percentage = building_hash[:mixed_type_3_percentage]
198
+ mixed_type_3_fract_bldg_area = mixed_type_3_percentage*0.01
199
+
200
+ mixed_type_4 = building_hash[:mixed_type_4]
201
+ mixed_type_4_percentage = building_hash[:mixed_type_4_percentage]
202
+ mixed_type_4_fract_bldg_area = mixed_type_4_percentage*0.01
203
+
204
+ mixed_use_types = []
205
+ mixed_use_types << mixed_type_1
206
+ mixed_use_types << mixed_type_2
207
+ mixed_use_types << mixed_type_3
208
+ mixed_use_types << mixed_type_4
209
+
210
+ openstudio_mixed_use_types = []
211
+
212
+ mixed_use_types.each do |mixed_use_type|
213
+
214
+ case mixed_use_type
215
+ when 'Multifamily (5 or more units)'
216
+ mixed_use_type = 'MidriseApartment'
217
+ when 'Multifamily (2 to 4 units)'
218
+ mixed_use_type = 'MidriseApartment'
219
+ when 'Single-Family'
220
+ mixed_use_type = 'MidriseApartment'
221
+ when 'Office'
222
+ mixed_use_type = 'MediumOffice'
223
+ when 'Outpatient health care'
224
+ mixed_use_type = 'Outpatient'
225
+ when 'Inpatient health care'
226
+ mixed_use_type = 'Hospital'
227
+ when 'Lodging'
228
+ mixed_use_type = 'LargeHotel'
229
+ when 'Food service'
230
+ mixed_use_type = 'FullServiceRestaurant'
231
+ when 'Strip shopping mall'
232
+ mixed_use_type = 'RetailStripmall'
233
+ when 'Retail other than mall'
234
+ mixed_use_type = 'RetailStandalone'
235
+ when 'Education'
236
+ mixed_use_type = 'SecondarySchool'
237
+ when 'Nursing'
238
+ mixed_use_type = 'MidriseApartment'
239
+ end
240
+
241
+ openstudio_mixed_use_types << mixed_use_type
242
+ end
243
+
244
+ openstudio_mixed_type_1 = openstudio_mixed_use_types[0]
245
+ openstudio_mixed_type_2 = openstudio_mixed_use_types[1]
246
+ openstudio_mixed_type_3 = openstudio_mixed_use_types[2]
247
+ openstudio_mixed_type_4 = openstudio_mixed_use_types[3]
248
+
249
+ end
250
+ footprint_area = building_hash[:footprint_area]
251
+ floor_height = 10
252
+ number_of_stories = building_hash[:number_of_stories]
253
+ if building_hash.key?(:number_of_stories_above_ground)
254
+ number_of_stories_above_ground = building_hash[:number_of_stories_above_ground]
255
+ number_of_stories_below_ground = number_of_stories - number_of_stories_above_ground
256
+ else
257
+ number_of_stories_above_ground = number_of_stories
258
+ number_of_stories_below_ground = 0
259
+ end
260
+ if building_hash.key?(:system_type)
261
+ system_type = building_hash[:system_type]
262
+ else
263
+ system_type = "Inferred"
264
+ end
132
265
 
133
- mixed_use_types.each do |mixed_use_type|
266
+ def time_mapping(time)
267
+ hour = time.split(':')[0]
268
+ minute = time.split(':')[1]
269
+ fraction = minute.to_f/60
270
+ fraction_roundup = fraction.round(2)
271
+ minute_fraction = fraction_roundup.to_s.split('.')[1]
272
+ new_time = [hour, minute_fraction].join('.')
273
+ return new_time
274
+ end
134
275
 
135
- case mixed_use_type
136
- when 'Multifamily (5 or more units)'
137
- mixed_use_type = 'MidriseApartment'
138
- when 'Multifamily (2 to 4 units)'
139
- mixed_use_type = 'MidriseApartment'
140
- when 'Single-Family'
141
- mixed_use_type = 'MidriseApartment'
142
- when 'Office'
143
- mixed_use_type = 'MediumOffice'
144
- when 'Outpatient health care'
145
- mixed_use_type = 'Outpatient'
146
- when 'Inpatient health care'
147
- mixed_use_type = 'Hospital'
148
- when 'Lodging'
149
- mixed_use_type = 'LargeHotel'
150
- when 'Food service'
151
- mixed_use_type = 'FullServiceRestaurant'
152
- when 'Strip shopping mall'
153
- mixed_use_type = 'RetailStripmall'
154
- when 'Retail other than mall'
155
- mixed_use_type = 'RetailStandalone'
156
- when 'Education'
157
- mixed_use_type = 'SecondarySchool'
158
- when 'Nursing'
159
- mixed_use_type = 'MidriseApartment'
276
+ #set weekday start time
277
+ begin
278
+ weekday_start_time = feature.weekday_start_time
279
+ if !feature.weekday_start_time.empty?
280
+ new_weekday_start_time = time_mapping(weekday_start_time)
281
+ OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', 'wkdy_op_hrs_start_time', new_weekday_start_time, 'create_typical_building_from_model 1')
160
282
  end
283
+ rescue
284
+ end
161
285
 
162
- openstudio_mixed_use_types << mixed_use_type
286
+ # set weekday duration
287
+ begin
288
+ weekday_duration = feature.weekday_duration
289
+ if !feature.weekday_duration.empty?
290
+ new_weekday_duration = time_mapping(weekday_duration)
291
+ OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', 'wkdy_op_hrs_duration', new_weekday_duration, 'create_typical_building_from_model 1')
292
+ end
293
+ rescue
294
+ end
295
+
296
+ # set weekend start time
297
+ begin
298
+ weekend_start_time = feature.weekend_start_time
299
+ if !feature.weekend_start_time.empty?
300
+ new_weekend_start_time = time_mapping(weekend_start_time)
301
+ OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', 'wknd_op_hrs_start_time', new_weekend_start_time, 'create_typical_building_from_model 1')
302
+ end
303
+ rescue
304
+ end
305
+
306
+ # set weekend duration
307
+ begin
308
+ weekend_duration = feature.weekend_duration
309
+ if !feature.weekend_duration.empty?
310
+ new_weekend_duration = time_mapping(weekend_duration)
311
+ OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', 'wknd_op_hrs_duration', new_weekend_duration, 'create_typical_building_from_model 1')
312
+ end
313
+ rescue
163
314
  end
164
315
 
165
- openstudio_mixed_type_1 = openstudio_mixed_use_types[0]
166
- openstudio_mixed_type_2 = openstudio_mixed_use_types[1]
167
- openstudio_mixed_type_3 = openstudio_mixed_use_types[2]
168
- openstudio_mixed_type_4 = openstudio_mixed_use_types[3]
316
+ # template
317
+ begin
318
+ template = feature.template
319
+ if !feature.template.empty?
320
+ OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'template', template)
321
+ OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', 'template', feature.template, 'create_typical_building_from_model 1')
322
+ OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', 'template', feature.template, 'create_typical_building_from_model 2')
323
+ end
324
+ rescue
325
+ end
326
+
327
+ # TODO: surface_elevation has no current mapping
328
+ # TODO: tariff_filename has no current mapping
329
+
330
+ # create a bar building, will have spaces tagged with individual space types given the
331
+ # input building types
332
+ # set skip measure to false
333
+ OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', '__SKIP__', false)
334
+ OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'single_floor_area', footprint_area)
335
+ OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'floor_height', floor_height)
336
+ OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'num_stories_above_grade', number_of_stories_above_ground)
337
+ OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'num_stories_below_grade', number_of_stories_below_ground)
169
338
 
170
- end
339
+ OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'bldg_type_a', building_type_1)
171
340
 
172
- footprint_area = feature.footprint_area
173
- floor_height = 10
174
- number_of_stories = feature.number_of_stories
175
-
176
- # default values
177
- number_of_stories_above_ground = number_of_stories
178
- number_of_stories_below_ground = 0
179
- begin
180
- number_of_stories_above_ground = feature.number_of_stories_above_ground
181
- number_of_stories_below_ground = number_of_stories - number_of_stories_above_ground
182
- rescue
183
- end
184
- #template = feature.template
185
- end
341
+ if building_type_1 == 'Mixed use'
186
342
 
187
- # default value for system_type
188
- system_type = "Inferred"
189
- begin
190
- system_type = feature.system_type
191
- rescue
192
- end
343
+ OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'bldg_type_a', openstudio_mixed_type_1)
344
+
345
+ OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'bldg_type_b', openstudio_mixed_type_2)
346
+
347
+ OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'bldg_type_b_fract_bldg_area', mixed_type_2_fract_bldg_area)
348
+
349
+ OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'bldg_type_c', openstudio_mixed_type_3)
350
+
351
+ OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'bldg_type_c_fract_bldg_area', mixed_type_3_fract_bldg_area)
352
+
353
+ OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'bldg_type_d', openstudio_mixed_type_4)
354
+
355
+ OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'bldg_type_d_fract_bldg_area', mixed_type_4_fract_bldg_area)
356
+
357
+ end
193
358
 
194
- # deep clone of @@osw before we configure it
195
- osw = Marshal.load(Marshal.dump(@@osw))
196
-
197
- # now we have the feature, we can look up its properties and set arguments in the OSW
198
- osw[:name] = feature_name
199
- osw[:description] = feature_name
200
-
201
- # create a bar building, will have spaces tagged with individual space types given the input building types
202
- OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'single_floor_area', footprint_area)
203
- OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'floor_height', floor_height)
204
- OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'num_stories_above_grade', number_of_stories_above_ground)
205
- OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'num_stories_below_grade', number_of_stories_below_ground)
359
+ # calling create typical building the first time will create space types
360
+ OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', '__SKIP__', false)
361
+ OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', 'add_hvac', false, 'create_typical_building_from_model 1')
206
362
 
207
- OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'bldg_type_a', building_type_1)
208
-
209
- if building_type_1 == 'Mixed use'
363
+ # create a blended space type for each story
364
+ OpenStudio::Extension.set_measure_argument(osw,
365
+ 'blended_space_type_from_model', '__SKIP__', false)
366
+ OpenStudio::Extension.set_measure_argument(osw,
367
+ 'blended_space_type_from_model', 'blend_method', 'Building Story')
368
+
369
+ # create geometry for the desired feature, this will reuse blended space types in the model for each story and remove the bar geometry
370
+ OpenStudio::Extension.set_measure_argument(osw, 'urban_geometry_creation', '__SKIP__', false)
371
+ OpenStudio::Extension.set_measure_argument(osw, 'urban_geometry_creation', 'geojson_file', scenario.feature_file.path)
372
+ OpenStudio::Extension.set_measure_argument(osw, 'urban_geometry_creation', 'feature_id', feature_id)
373
+ OpenStudio::Extension.set_measure_argument(osw, 'urban_geometry_creation', 'surrounding_buildings', 'ShadingOnly')
374
+
375
+ # call create typical building a second time, do not touch space types, only add hvac
376
+ OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', '__SKIP__', false)
377
+ OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', 'system_type', system_type, 'create_typical_building_from_model 2')
378
+ end
210
379
 
211
- OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'bldg_type_a', openstudio_mixed_type_1)
212
-
213
- OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'bldg_type_b', openstudio_mixed_type_2)
214
-
215
- OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'bldg_type_b_fract_bldg_area', mixed_type_2_fract_bldg_area)
216
-
217
- OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'bldg_type_c', openstudio_mixed_type_3)
218
-
219
- OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'bldg_type_c_fract_bldg_area', mixed_type_3_fract_bldg_area)
220
-
221
- OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'bldg_type_d', openstudio_mixed_type_4)
222
-
223
- OpenStudio::Extension.set_measure_argument(osw, 'create_bar_from_building_type_ratios', 'bldg_type_d_fract_bldg_area', mixed_type_4_fract_bldg_area)
224
-
225
- end
226
-
227
- # calling create typical building the first time will create space types
228
- OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', 'add_hvac', false, 'create_typical_building_from_model 1')
229
-
230
- # create a blended space type for each story
231
- OpenStudio::Extension.set_measure_argument(osw,
232
- 'blended_space_type_from_model', 'blend_method', 'Building Story')
233
-
234
- # create geometry for the desired feature, this will reuse blended space types in the model for each story and remove the bar geometry
235
- OpenStudio::Extension.set_measure_argument(osw, 'urban_geometry_creation', 'geojson_file', scenario.feature_file.path)
236
- OpenStudio::Extension.set_measure_argument(osw, 'urban_geometry_creation', 'feature_id', feature_id)
237
- OpenStudio::Extension.set_measure_argument(osw, 'urban_geometry_creation', 'surrounding_buildings', 'ShadingOnly')
238
-
239
- if building_type_1 == 'MidriseApartment'
240
- OpenStudio::Extension.set_measure_argument(osw, 'IncreaseInsulationRValueForExteriorWalls', '__SKIP__', true)
241
- OpenStudio::Extension.set_measure_argument(osw, 'IncreaseInsulationRValueForExteriorWalls', 'r_value', 10)
242
- end
243
-
244
- # call create typical building a second time, do not touch space types, only add hvac
245
- OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', 'system_type', system_type, 'create_typical_building_from_model 2')
246
-
247
- # call the default feature reporting measure
248
- OpenStudio::Extension.set_measure_argument(osw, 'default_feature_reports', 'feature_id', feature_id)
249
- OpenStudio::Extension.set_measure_argument(osw, 'default_feature_reports', 'feature_name', feature_name)
250
- OpenStudio::Extension.set_measure_argument(osw, 'default_feature_reports', 'feature_type', feature_type)
380
+
381
+ # call the default feature reporting measure
382
+ OpenStudio::Extension.set_measure_argument(osw, 'default_feature_reports', 'feature_id', feature_id)
383
+ OpenStudio::Extension.set_measure_argument(osw, 'default_feature_reports', 'feature_name', feature_name)
384
+ OpenStudio::Extension.set_measure_argument(osw, 'default_feature_reports', 'feature_type', feature_type)
385
+ end # if Building
251
386
 
252
387
  return osw
253
- end
388
+ end # def
254
389
 
255
- end
256
- end
257
- end
390
+ end #BaselineMapper
391
+ end #Scenario
392
+ end #URBANopt
@@ -9,7 +9,7 @@
9
9
  {
10
10
  "measure_dir_name": "set_run_period",
11
11
  "arguments": {
12
- "timesteps_per_hour": 1,
12
+ "timesteps_per_hour": 4,
13
13
  "begin_date": "2019-06-01",
14
14
  "end_date": "2019-08-01"
15
15
  }
@@ -17,11 +17,12 @@
17
17
  "measure_dir_name": "ChangeBuildingLocation",
18
18
  "arguments": {
19
19
  "weather_file_name": "USA_NY_Buffalo-Greater.Buffalo.Intl.AP.725280_TMY3.epw",
20
- "climate_zone": "6A"
20
+ "climate_zone": "ASHRAE 169-2013-6A"
21
21
  }
22
22
  },{
23
23
  "measure_dir_name": "create_bar_from_building_type_ratios",
24
24
  "arguments": {
25
+ "__SKIP__": true,
25
26
  "bldg_type_a": null,
26
27
  "bldg_type_a_num_units": 0,
27
28
  "bldg_type_b": "SmallOffice",
@@ -49,16 +50,20 @@
49
50
  "name": "create_typical_building_from_model 1",
50
51
  "measure_dir_name": "create_typical_building_from_model",
51
52
  "arguments": {
52
- "add_hvac": false
53
+ "__SKIP__": true,
54
+ "add_hvac": false,
55
+ "add_refrigeration": false
53
56
  }
54
57
  },{
55
58
  "measure_dir_name": "blended_space_type_from_model",
56
59
  "arguments": {
60
+ "__SKIP__": true,
57
61
  "blend_method": "Building Story"
58
62
  }
59
63
  },{
60
64
  "measure_dir_name": "urban_geometry_creation",
61
65
  "arguments": {
66
+ "__SKIP__": true,
62
67
  "geojson_file": "exportGeo.json",
63
68
  "feature_id": "5",
64
69
  "surrounding_buildings": "None"
@@ -67,6 +72,7 @@
67
72
  "name": "create_typical_building_from_model 2",
68
73
  "measure_dir_name": "create_typical_building_from_model",
69
74
  "arguments": {
75
+ "__SKIP__": true,
70
76
  "template": "90.1-2004",
71
77
  "add_constructions": false,
72
78
  "add_space_type_loads": false,
@@ -74,11 +80,21 @@
74
80
  "add_exterior_lights": false,
75
81
  "add_exhaust": false,
76
82
  "add_swh": false,
83
+ "add_refrigeration": false,
77
84
  "remove_objects": false,
78
85
  "system_type": "Inferred",
79
86
  "add_hvac": true,
80
87
  "use_upstream_args": false
81
88
  }
89
+ },{
90
+ "measure_dir_name":"PredictedMeanVote",
91
+ "arguments":{
92
+ "__SKIP__":false,
93
+ "comfortWarnings":true,
94
+ "workEfficiencySchedule":"Work Efficiency Schedule",
95
+ "clothingSchedule":"Clothing Schedule",
96
+ "airVelocitySchedule":"Air Velocity Schedule"
97
+ }
82
98
  },{
83
99
  "measure_dir_name": "IncreaseInsulationRValueForExteriorWalls",
84
100
  "arguments": {