urbanopt-cli 0.1.0 → 0.2.0.pre1

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.
@@ -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": {