openstudio-model-articulation 0.9.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/Gemfile +12 -5
  4. data/Jenkinsfile +1 -1
  5. data/README.md +1 -0
  6. data/lib/measures/SimplifyGeometryToSlicedBar/measure.rb +32 -37
  7. data/lib/measures/SimplifyGeometryToSlicedBar/measure.xml +34 -80
  8. data/lib/measures/SimplifyGeometryToSlicedBar/resources/os_lib_cofee.rb +10 -9
  9. data/lib/measures/SpaceTypeAndConstructionSetWizard/measure.rb +10 -13
  10. data/lib/measures/SpaceTypeAndConstructionSetWizard/measure.xml +28 -28
  11. data/lib/measures/blended_space_type_from_floor_area_ratios/measure.rb +31 -14
  12. data/lib/measures/blended_space_type_from_floor_area_ratios/measure.xml +36 -36
  13. data/lib/measures/blended_space_type_from_model/measure.rb +12 -5
  14. data/lib/measures/blended_space_type_from_model/measure.xml +47 -47
  15. data/lib/measures/create_DOE_prototype_building/measure.rb +1 -1
  16. data/lib/measures/create_DOE_prototype_building/measure.xml +19 -875
  17. data/lib/measures/create_bar_from_building_type_ratios/README.md +2 -13
  18. data/lib/measures/create_bar_from_building_type_ratios/measure.rb +122 -30
  19. data/lib/measures/create_bar_from_building_type_ratios/measure.xml +108 -349
  20. data/lib/measures/create_bar_from_deer_building_type_ratios/README.md +21 -1
  21. data/lib/measures/create_bar_from_deer_building_type_ratios/measure.rb +120 -18
  22. data/lib/measures/create_bar_from_deer_building_type_ratios/measure.xml +94 -32
  23. data/lib/measures/create_bar_from_doe_building_type_ratios/measure.rb +127 -18
  24. data/lib/measures/create_bar_from_doe_building_type_ratios/measure.xml +48 -26
  25. data/lib/measures/create_bar_from_model/measure.rb +17 -18
  26. data/lib/measures/create_bar_from_model/measure.xml +41 -41
  27. data/lib/measures/create_bar_from_space_type_ratios/README.md +1 -1
  28. data/lib/measures/create_bar_from_space_type_ratios/measure.rb +94 -14
  29. data/lib/measures/create_bar_from_space_type_ratios/measure.xml +104 -63
  30. data/lib/measures/create_baseline_building/measure.xml +33 -33
  31. data/lib/measures/create_deer_prototype_building/measure.xml +15 -15
  32. data/lib/measures/create_parametric_schedules/measure.rb +17 -20
  33. data/lib/measures/create_parametric_schedules/measure.xml +15 -15
  34. data/lib/measures/create_typical_building_from_model/README.md +16 -16
  35. data/lib/measures/create_typical_building_from_model/measure.rb +84 -18
  36. data/lib/measures/create_typical_building_from_model/measure.xml +159 -211
  37. data/lib/measures/create_typical_deer_building_from_model/README.md +38 -5
  38. data/lib/measures/create_typical_deer_building_from_model/measure.rb +84 -12
  39. data/lib/measures/create_typical_deer_building_from_model/measure.xml +165 -65
  40. data/lib/measures/create_typical_doe_building_from_model/README.md +17 -4
  41. data/lib/measures/create_typical_doe_building_from_model/measure.rb +84 -12
  42. data/lib/measures/create_typical_doe_building_from_model/measure.xml +125 -65
  43. data/lib/measures/deer_space_type_and_construction_set_wizard/measure.rb +13 -16
  44. data/lib/measures/deer_space_type_and_construction_set_wizard/measure.xml +72 -29
  45. data/lib/measures/make_shading_surfaces_based_on_zone_multipliers/measure.rb +4 -4
  46. data/lib/measures/make_shading_surfaces_based_on_zone_multipliers/measure.xml +21 -21
  47. data/lib/measures/merge_spaces_from_external_file/measure.rb +4 -4
  48. data/lib/measures/merge_spaces_from_external_file/measure.xml +34 -34
  49. data/lib/measures/radiant_slab_with_doas/measure.rb +2 -2
  50. data/lib/measures/radiant_slab_with_doas/measure.xml +4 -4
  51. data/lib/measures/replace_geometry_by_story/measure.rb +6 -10
  52. data/lib/measures/replace_geometry_by_story/measure.xml +19 -19
  53. data/lib/measures/set_nist_infiltration_correlations/LICENSE.md +7 -21
  54. data/lib/measures/set_nist_infiltration_correlations/measure.rb +2 -32
  55. data/lib/measures/set_nist_infiltration_correlations/measure.xml +5 -5
  56. data/lib/openstudio/model_articulation/version.rb +1 -1
  57. data/openstudio-model-articulation.gemspec +11 -4
  58. metadata +69 -16
  59. data/lib/measures/SimplifyGeometryToSlicedBar/resources/os_lib_geometry.rb +0 -1174
  60. data/lib/measures/SimplifyGeometryToSlicedBar/resources/os_lib_helper_methods.rb +0 -367
  61. data/lib/measures/create_typical_building_from_model/resources/Model.hvac.rb +0 -608
@@ -8,19 +8,11 @@
8
8
 
9
9
  require 'openstudio-standards'
10
10
 
11
- # load OpenStudio measure libraries from openstudio-extension gem
12
- require 'openstudio-extension'
13
- require 'openstudio/extension/core/os_lib_helper_methods'
14
- require 'openstudio/extension/core/os_lib_model_generation'
15
-
16
11
  require_relative 'resources/Model.hvac' # DLM: should this be in openstudio-standards? dfg some tests fail without it
17
12
 
18
13
  # start the measure
19
14
  class CreateTypicalDOEBuildingFromModel < OpenStudio::Measure::ModelMeasure
20
- # resource file modules
21
- include OsLib_HelperMethods
22
- include OsLib_ModelGeneration
23
-
15
+
24
16
  # human readable name
25
17
  def name
26
18
  return 'Create Typical DOE Building from Model'
@@ -47,7 +39,7 @@ class CreateTypicalDOEBuildingFromModel < OpenStudio::Measure::ModelMeasure
47
39
 
48
40
  # see if building name contains any template values
49
41
  default_string = '90.1-2010'
50
- get_templates.each do |template_string|
42
+ OpenstudioStandards::CreateTypical.get_doe_templates.each do |template_string|
51
43
  if model.getBuilding.name.to_s.include?(template_string)
52
44
  default_string = template_string
53
45
  next
@@ -55,7 +47,7 @@ class CreateTypicalDOEBuildingFromModel < OpenStudio::Measure::ModelMeasure
55
47
  end
56
48
 
57
49
  # Make argument for template
58
- template = OpenStudio::Measure::OSArgument.makeChoiceArgument('template', get_doe_templates(false), true)
50
+ template = OpenStudio::Measure::OSArgument.makeChoiceArgument('template', OpenstudioStandards::CreateTypical.get_doe_templates, true)
59
51
  template.setDisplayName('Target Standard')
60
52
  template.setDefaultValue(default_string)
61
53
  args << template
@@ -155,6 +147,8 @@ class CreateTypicalDOEBuildingFromModel < OpenStudio::Measure::ModelMeasure
155
147
  hvac_chs << 'PVAV with district hot water reheat'
156
148
  hvac_chs << 'PVAV with PFP boxes'
157
149
  hvac_chs << 'PVAV with gas heat with electric reheat'
150
+ hvac_chs << 'PVAV with gas coil heat with electric reheat'
151
+ hvac_chs << 'PVAV with gas boiler heat with electric reheat'
158
152
  hvac_chs << 'Residential AC with baseboard electric'
159
153
  hvac_chs << 'Residential AC with baseboard gas boiler'
160
154
  hvac_chs << 'Residential AC with baseboard central air source heat pump'
@@ -210,6 +204,7 @@ class CreateTypicalDOEBuildingFromModel < OpenStudio::Measure::ModelMeasure
210
204
  hvac_type_chs = OpenStudio::StringVector.new
211
205
  hvac_type_chs << 'Forced Air'
212
206
  hvac_type_chs << 'Hydronic'
207
+ hvac_type_chs << 'Inferred'
213
208
  hvac_delivery_type = OpenStudio::Measure::OSArgument.makeChoiceArgument('hvac_delivery_type', hvac_type_chs, true)
214
209
  hvac_delivery_type.setDisplayName('HVAC System Delivery Type')
215
210
  hvac_delivery_type.setDescription('How the HVAC system delivers heating or cooling to the zone.')
@@ -222,6 +217,7 @@ class CreateTypicalDOEBuildingFromModel < OpenStudio::Measure::ModelMeasure
222
217
  htg_src_chs << 'NaturalGas'
223
218
  htg_src_chs << 'DistrictHeating'
224
219
  htg_src_chs << 'DistrictAmbient'
220
+ htg_src_chs << 'Inferred'
225
221
  htg_src = OpenStudio::Measure::OSArgument.makeChoiceArgument('htg_src', htg_src_chs, true)
226
222
  htg_src.setDisplayName('HVAC Heating Source')
227
223
  htg_src.setDescription('The primary source of heating used by HVAC systems in the model.')
@@ -233,6 +229,7 @@ class CreateTypicalDOEBuildingFromModel < OpenStudio::Measure::ModelMeasure
233
229
  clg_src_chs << 'Electricity'
234
230
  clg_src_chs << 'DistrictCooling'
235
231
  clg_src_chs << 'DistrictAmbient'
232
+ clg_src_chs << 'Inferred'
236
233
  clg_src = OpenStudio::Measure::OSArgument.makeChoiceArgument('clg_src', clg_src_chs, true)
237
234
  clg_src.setDisplayName('HVAC Cooling Source')
238
235
  clg_src.setDescription('The primary source of cooling used by HVAC systems in the model.')
@@ -293,6 +290,19 @@ class CreateTypicalDOEBuildingFromModel < OpenStudio::Measure::ModelMeasure
293
290
  add_constructions.setDefaultValue(true)
294
291
  args << add_constructions
295
292
 
293
+ # make argument for wall_construction_type
294
+ wall_construction_type_choices = OpenStudio::StringVector.new
295
+ wall_construction_type_choices << 'Mass'
296
+ wall_construction_type_choices << 'Metal Building'
297
+ wall_construction_type_choices << 'SteelFramed'
298
+ wall_construction_type_choices << 'WoodFramed'
299
+ wall_construction_type_choices << 'Inferred'
300
+ wall_construction_type = OpenStudio::Measure::OSArgument.makeChoiceArgument('wall_construction_type', wall_construction_type_choices, true)
301
+ wall_construction_type.setDisplayName('Wall Construction Type')
302
+ wall_construction_type.setDescription('Identify Exterior Wall Construction Type to be applied to entire building')
303
+ wall_construction_type.setDefaultValue('Inferred')
304
+ args << wall_construction_type
305
+
296
306
  # make an argument for add_space_type_loads
297
307
  add_space_type_loads = OpenStudio::Measure::OSArgument.makeBoolArgument('add_space_type_loads', true)
298
308
  add_space_type_loads.setDisplayName('Add Space Type Loads to Model')
@@ -376,6 +386,8 @@ class CreateTypicalDOEBuildingFromModel < OpenStudio::Measure::ModelMeasure
376
386
  wkdy_op_hrs_start_time.setDescription('Enter 24 hour values with fractional values converted to minutes. e.g. 17.25 = 5:15pm. Only used if Modify weekday hours of operation is true.')
377
387
  wkdy_op_hrs_start_time.setUnits('Hours')
378
388
  wkdy_op_hrs_start_time.setDefaultValue(8.0)
389
+ wkdy_op_hrs_start_time.setMinValue(0.0)
390
+ wkdy_op_hrs_start_time.setMaxValue(24.0)
379
391
  args << wkdy_op_hrs_start_time
380
392
 
381
393
  # weekday hours of operation duration
@@ -384,6 +396,8 @@ class CreateTypicalDOEBuildingFromModel < OpenStudio::Measure::ModelMeasure
384
396
  wkdy_op_hrs_duration.setDescription('Length of weekday operating hours. Enter 24 hour values with fractional values converted to minutes. e.g. 17.25 = 5:15pm. Only used if Modify weekday hours of operation is true.')
385
397
  wkdy_op_hrs_duration.setUnits('Hours')
386
398
  wkdy_op_hrs_duration.setDefaultValue(8.0)
399
+ wkdy_op_hrs_duration.setMinValue(0.0)
400
+ wkdy_op_hrs_duration.setMaxValue(24.0)
387
401
  args << wkdy_op_hrs_duration
388
402
 
389
403
  # modify weekend hours of operation
@@ -399,6 +413,8 @@ class CreateTypicalDOEBuildingFromModel < OpenStudio::Measure::ModelMeasure
399
413
  wknd_op_hrs_start_time.setDescription('Enter 24 hour values with fractional values converted to minutes. e.g. 17.25 = 5:15pm. Only used if Modify weekend hours of operation is true.')
400
414
  wknd_op_hrs_start_time.setUnits('Hours')
401
415
  wknd_op_hrs_start_time.setDefaultValue(8.0)
416
+ wknd_op_hrs_start_time.setMinValue(0.0)
417
+ wknd_op_hrs_start_time.setMaxValue(24.0)
402
418
  args << wknd_op_hrs_start_time
403
419
 
404
420
  # weekend hours of operation duration
@@ -407,6 +423,8 @@ class CreateTypicalDOEBuildingFromModel < OpenStudio::Measure::ModelMeasure
407
423
  wknd_op_hrs_duration.setDescription('Length of weekend operating hours. Enter 24 hour values with fractional values converted to minutes. e.g. 17.25 = 5:15pm. Only used if Modify weekend hours of operation is true.')
408
424
  wknd_op_hrs_duration.setUnits('Hours')
409
425
  wknd_op_hrs_duration.setDefaultValue(8.0)
426
+ wknd_op_hrs_duration.setMinValue(0.0)
427
+ wknd_op_hrs_duration.setMaxValue(24.0)
410
428
  args << wknd_op_hrs_duration
411
429
 
412
430
  # make an argument for unmet_hours_tolerance
@@ -414,6 +432,7 @@ class CreateTypicalDOEBuildingFromModel < OpenStudio::Measure::ModelMeasure
414
432
  unmet_hours_tolerance.setDisplayName('Unmet Hours Tolerance')
415
433
  unmet_hours_tolerance.setDescription('Set the thermostat setpoint tolerance for unmet hours in degrees Rankine')
416
434
  unmet_hours_tolerance.setDefaultValue(1.0)
435
+ unmet_hours_tolerance.setMinValue(0.0)
417
436
  args << unmet_hours_tolerance
418
437
 
419
438
  # make an argument for remove_objects
@@ -444,8 +463,61 @@ class CreateTypicalDOEBuildingFromModel < OpenStudio::Measure::ModelMeasure
444
463
  def run(model, runner, user_arguments)
445
464
  super(model, runner, user_arguments)
446
465
 
466
+ # assign the user inputs to variables
467
+ args = runner.getArgumentValues(arguments(model), user_arguments)
468
+ args = Hash[args.collect{ |k, v| [k.to_s, v] }]
469
+ if !args then return false end
470
+
471
+ # todo - need to make use of this before pass to standards
472
+ use_upstream_args = args['use_upstream_args']
473
+
474
+ # open channel to log messages
475
+ reset_log
476
+
477
+ # Turn debugging output on/off
478
+ debug = false
479
+
447
480
  # method run from os_lib_model_generation.rb
448
- result = typical_building_from_model(model, runner, user_arguments)
481
+ result = OpenstudioStandards::CreateTypical.create_typical_building_from_model(
482
+ model,
483
+ args['template'],
484
+ climate_zone: nil, # not exposed in user measure args
485
+ add_hvac: args['add_hvac'],
486
+ hvac_system_type: args['system_type'],
487
+ hvac_delivery_type: args['hvac_delivery_type'],
488
+ heating_fuel: args['htg_src'],
489
+ service_water_heating_fuel: args['swh_src'],
490
+ cooling_fuel: args['clg_src'],
491
+ kitchen_makeup: args['kitchen_makeup'],
492
+ exterior_lighting_zone: args['exterior_lighting_zone'],
493
+ add_constructions: args['add_constructions'],
494
+ wall_construction_type: args['wall_construction_type'],
495
+ add_space_type_loads: args['add_space_type_loads'],
496
+ add_daylighting_controls: nil, # not exposed in user measure args
497
+ add_elevators: args['add_elevators'],
498
+ add_internal_mass: args['add_internal_mass'],
499
+ add_exterior_lights: args['add_exterior_lights'],
500
+ onsite_parking_fraction: args['onsite_parking_fraction'],
501
+ add_exhaust: args['add_exhaust'],
502
+ add_swh: args['add_swh'],
503
+ add_thermostat: args['add_thermostat'],
504
+ add_refrigeration: args['add_refrigeration'],
505
+ modify_wkdy_op_hrs: args['modify_wkdy_op_hrs'],
506
+ wkdy_op_hrs_start_time: args['wkdy_op_hrs_start_time'],
507
+ wkdy_op_hrs_duration: args['wkdy_op_hrs_duration'],
508
+ modify_wknd_op_hrs: args['modify_wknd_op_hrs'],
509
+ wknd_op_hrs_start_time: args['wknd_op_hrs_start_time'],
510
+ wknd_op_hrs_duration: args['wknd_op_hrs_duration'],
511
+ hoo_var_method: nil, # not exposed in user measure args
512
+ enable_dst: args['enable_dst'],
513
+ unmet_hours_tolerance_r: args['unmet_hours_tolerance'],
514
+ remove_objects: args['remove_objects'],
515
+ user_hvac_mapping: nil, # not exposed in this measure yet?
516
+ sizing_run_directory: nil) # not exposed in user measure args
517
+
518
+ # gather log
519
+ log_messages_to_runner(runner, debug)
520
+ reset_log
449
521
 
450
522
  if result == false
451
523
  return false
@@ -1,10 +1,10 @@
1
1
  <?xml version="1.0"?>
2
2
  <measure>
3
- <schema_version>3.0</schema_version>
3
+ <schema_version>3.1</schema_version>
4
4
  <name>create_typical_doe_building_from_model</name>
5
5
  <uid>b2c80210-33b3-4dfd-8267-535efd81f552</uid>
6
- <version_id>d8873c5e-11ce-48a3-97cf-722dc2ee6031</version_id>
7
- <version_modified>20230602T160046Z</version_modified>
6
+ <version_id>2f42ddde-0650-44dc-8dff-bb2338a0786c</version_id>
7
+ <version_modified>2024-05-20T07:54:34Z</version_modified>
8
8
  <xml_checksum>99E7000D</xml_checksum>
9
9
  <class_name>CreateTypicalDOEBuildingFromModel</class_name>
10
10
  <display_name>Create Typical DOE Building from Model</display_name>
@@ -465,6 +465,14 @@
465
465
  <value>PVAV with gas heat with electric reheat</value>
466
466
  <display_name>PVAV with gas heat with electric reheat</display_name>
467
467
  </choice>
468
+ <choice>
469
+ <value>PVAV with gas coil heat with electric reheat</value>
470
+ <display_name>PVAV with gas coil heat with electric reheat</display_name>
471
+ </choice>
472
+ <choice>
473
+ <value>PVAV with gas boiler heat with electric reheat</value>
474
+ <display_name>PVAV with gas boiler heat with electric reheat</display_name>
475
+ </choice>
468
476
  <choice>
469
477
  <value>Residential AC with baseboard electric</value>
470
478
  <display_name>Residential AC with baseboard electric</display_name>
@@ -664,6 +672,10 @@
664
672
  <value>Hydronic</value>
665
673
  <display_name>Hydronic</display_name>
666
674
  </choice>
675
+ <choice>
676
+ <value>Inferred</value>
677
+ <display_name>Inferred</display_name>
678
+ </choice>
667
679
  </choices>
668
680
  </argument>
669
681
  <argument>
@@ -691,6 +703,10 @@
691
703
  <value>DistrictAmbient</value>
692
704
  <display_name>DistrictAmbient</display_name>
693
705
  </choice>
706
+ <choice>
707
+ <value>Inferred</value>
708
+ <display_name>Inferred</display_name>
709
+ </choice>
694
710
  </choices>
695
711
  </argument>
696
712
  <argument>
@@ -714,6 +730,10 @@
714
730
  <value>DistrictAmbient</value>
715
731
  <display_name>DistrictAmbient</display_name>
716
732
  </choice>
733
+ <choice>
734
+ <value>Inferred</value>
735
+ <display_name>Inferred</display_name>
736
+ </choice>
717
737
  </choices>
718
738
  </argument>
719
739
  <argument>
@@ -816,6 +836,37 @@
816
836
  </choice>
817
837
  </choices>
818
838
  </argument>
839
+ <argument>
840
+ <name>wall_construction_type</name>
841
+ <display_name>Wall Construction Type</display_name>
842
+ <description>Identify Exterior Wall Construction Type to be applied to entire building</description>
843
+ <type>Choice</type>
844
+ <required>true</required>
845
+ <model_dependent>false</model_dependent>
846
+ <default_value>Inferred</default_value>
847
+ <choices>
848
+ <choice>
849
+ <value>Mass</value>
850
+ <display_name>Mass</display_name>
851
+ </choice>
852
+ <choice>
853
+ <value>Metal Building</value>
854
+ <display_name>Metal Building</display_name>
855
+ </choice>
856
+ <choice>
857
+ <value>SteelFramed</value>
858
+ <display_name>SteelFramed</display_name>
859
+ </choice>
860
+ <choice>
861
+ <value>WoodFramed</value>
862
+ <display_name>WoodFramed</display_name>
863
+ </choice>
864
+ <choice>
865
+ <value>Inferred</value>
866
+ <display_name>Inferred</display_name>
867
+ </choice>
868
+ </choices>
869
+ </argument>
819
870
  <argument>
820
871
  <name>add_space_type_loads</name>
821
872
  <display_name>Add Space Type Loads to Model</display_name>
@@ -1024,6 +1075,8 @@
1024
1075
  <required>true</required>
1025
1076
  <model_dependent>false</model_dependent>
1026
1077
  <default_value>8</default_value>
1078
+ <min_value>0.000000</min_value>
1079
+ <max_value>24.000000</max_value>
1027
1080
  </argument>
1028
1081
  <argument>
1029
1082
  <name>wkdy_op_hrs_duration</name>
@@ -1034,6 +1087,8 @@
1034
1087
  <required>true</required>
1035
1088
  <model_dependent>false</model_dependent>
1036
1089
  <default_value>8</default_value>
1090
+ <min_value>0.000000</min_value>
1091
+ <max_value>24.000000</max_value>
1037
1092
  </argument>
1038
1093
  <argument>
1039
1094
  <name>modify_wknd_op_hrs</name>
@@ -1063,6 +1118,8 @@
1063
1118
  <required>true</required>
1064
1119
  <model_dependent>false</model_dependent>
1065
1120
  <default_value>8</default_value>
1121
+ <min_value>0.000000</min_value>
1122
+ <max_value>24.000000</max_value>
1066
1123
  </argument>
1067
1124
  <argument>
1068
1125
  <name>wknd_op_hrs_duration</name>
@@ -1073,6 +1130,8 @@
1073
1130
  <required>true</required>
1074
1131
  <model_dependent>false</model_dependent>
1075
1132
  <default_value>8</default_value>
1133
+ <min_value>0.000000</min_value>
1134
+ <max_value>24.000000</max_value>
1076
1135
  </argument>
1077
1136
  <argument>
1078
1137
  <name>unmet_hours_tolerance</name>
@@ -1082,6 +1141,7 @@
1082
1141
  <required>true</required>
1083
1142
  <model_dependent>false</model_dependent>
1084
1143
  <default_value>1</default_value>
1144
+ <min_value>0.000000</min_value>
1085
1145
  </argument>
1086
1146
  <argument>
1087
1147
  <name>remove_objects</name>
@@ -1195,16 +1255,51 @@
1195
1255
  </attributes>
1196
1256
  <files>
1197
1257
  <file>
1198
- <filename>measure_test.osw</filename>
1199
- <filetype>osw</filetype>
1258
+ <filename>LICENSE.md</filename>
1259
+ <filetype>md</filetype>
1260
+ <usage_type>license</usage_type>
1261
+ <checksum>BFFB1AA6</checksum>
1262
+ </file>
1263
+ <file>
1264
+ <filename>README.md</filename>
1265
+ <filetype>md</filetype>
1266
+ <usage_type>readme</usage_type>
1267
+ <checksum>9ADF8B4B</checksum>
1268
+ </file>
1269
+ <file>
1270
+ <filename>README.md.erb</filename>
1271
+ <filetype>erb</filetype>
1272
+ <usage_type>readmeerb</usage_type>
1273
+ <checksum>BDCE44E6</checksum>
1274
+ </file>
1275
+ <file>
1276
+ <version>
1277
+ <software_program>OpenStudio</software_program>
1278
+ <identifier>2.0.0</identifier>
1279
+ <min_compatible>3.8.0</min_compatible>
1280
+ </version>
1281
+ <filename>measure.rb</filename>
1282
+ <filetype>rb</filetype>
1283
+ <usage_type>script</usage_type>
1284
+ <checksum>A5493DC2</checksum>
1285
+ </file>
1286
+ <file>
1287
+ <filename>Model.hvac.rb</filename>
1288
+ <filetype>rb</filetype>
1289
+ <usage_type>resource</usage_type>
1290
+ <checksum>3F3371D0</checksum>
1291
+ </file>
1292
+ <file>
1293
+ <filename>GenericGbxml.osm</filename>
1294
+ <filetype>osm</filetype>
1200
1295
  <usage_type>test</usage_type>
1201
- <checksum>6DB338FC</checksum>
1296
+ <checksum>E27658D5</checksum>
1202
1297
  </file>
1203
1298
  <file>
1204
- <filename>SmallOffice.osm</filename>
1299
+ <filename>LargeOffice04.osm</filename>
1205
1300
  <filetype>osm</filetype>
1206
1301
  <usage_type>test</usage_type>
1207
- <checksum>519B22EB</checksum>
1302
+ <checksum>5415617A</checksum>
1208
1303
  </file>
1209
1304
  <file>
1210
1305
  <filename>MidriseApartment.osm</filename>
@@ -1213,10 +1308,10 @@
1213
1308
  <checksum>EB7A2671</checksum>
1214
1309
  </file>
1215
1310
  <file>
1216
- <filename>LargeOffice04.osm</filename>
1311
+ <filename>SmallOffice.osm</filename>
1217
1312
  <filetype>osm</filetype>
1218
1313
  <usage_type>test</usage_type>
1219
- <checksum>5415617A</checksum>
1314
+ <checksum>519B22EB</checksum>
1220
1315
  </file>
1221
1316
  <file>
1222
1317
  <filename>USA_TX_Houston-Bush.Intercontinental.AP.722430_TMY3.epw</filename>
@@ -1224,12 +1319,6 @@
1224
1319
  <usage_type>test</usage_type>
1225
1320
  <checksum>EE565FCC</checksum>
1226
1321
  </file>
1227
- <file>
1228
- <filename>asm.osm</filename>
1229
- <filetype>osm</filetype>
1230
- <usage_type>test</usage_type>
1231
- <checksum>C927EDEB</checksum>
1232
- </file>
1233
1322
  <file>
1234
1323
  <filename>USA_TX_Houston-Bush.Intercontinental.AP.722430_TMY3.epw</filename>
1235
1324
  <filetype>epw</filetype>
@@ -1237,10 +1326,16 @@
1237
1326
  <checksum>EE565FCC</checksum>
1238
1327
  </file>
1239
1328
  <file>
1240
- <filename>GenericGbxml.osm</filename>
1329
+ <filename>asm.osm</filename>
1241
1330
  <filetype>osm</filetype>
1242
1331
  <usage_type>test</usage_type>
1243
- <checksum>E27658D5</checksum>
1332
+ <checksum>C927EDEB</checksum>
1333
+ </file>
1334
+ <file>
1335
+ <filename>create_typical_doe_building_from_model_test.rb</filename>
1336
+ <filetype>rb</filetype>
1337
+ <usage_type>test</usage_type>
1338
+ <checksum>E45BEF73</checksum>
1244
1339
  </file>
1245
1340
  <file>
1246
1341
  <filename>ecc.osm</filename>
@@ -1296,6 +1391,18 @@
1296
1391
  <usage_type>test</usage_type>
1297
1392
  <checksum>A03CF17A</checksum>
1298
1393
  </file>
1394
+ <file>
1395
+ <filename>measure_test.osw</filename>
1396
+ <filetype>osw</filetype>
1397
+ <usage_type>test</usage_type>
1398
+ <checksum>6DB338FC</checksum>
1399
+ </file>
1400
+ <file>
1401
+ <filename>measure_test_hvac.rb</filename>
1402
+ <filetype>rb</filetype>
1403
+ <usage_type>test</usage_type>
1404
+ <checksum>754E2772</checksum>
1405
+ </file>
1299
1406
  <file>
1300
1407
  <filename>mfm.osm</filename>
1301
1408
  <filetype>osm</filetype>
@@ -1380,52 +1487,5 @@
1380
1487
  <usage_type>test</usage_type>
1381
1488
  <checksum>F22DEFBC</checksum>
1382
1489
  </file>
1383
- <file>
1384
- <filename>README.md.erb</filename>
1385
- <filetype>erb</filetype>
1386
- <usage_type>readmeerb</usage_type>
1387
- <checksum>BDCE44E6</checksum>
1388
- </file>
1389
- <file>
1390
- <filename>LICENSE.md</filename>
1391
- <filetype>md</filetype>
1392
- <usage_type>license</usage_type>
1393
- <checksum>BFFB1AA6</checksum>
1394
- </file>
1395
- <file>
1396
- <filename>Model.hvac.rb</filename>
1397
- <filetype>rb</filetype>
1398
- <usage_type>resource</usage_type>
1399
- <checksum>3F3371D0</checksum>
1400
- </file>
1401
- <file>
1402
- <filename>create_typical_doe_building_from_model_test.rb</filename>
1403
- <filetype>rb</filetype>
1404
- <usage_type>test</usage_type>
1405
- <checksum>E45BEF73</checksum>
1406
- </file>
1407
- <file>
1408
- <filename>measure_test_hvac.rb</filename>
1409
- <filetype>rb</filetype>
1410
- <usage_type>test</usage_type>
1411
- <checksum>754E2772</checksum>
1412
- </file>
1413
- <file>
1414
- <version>
1415
- <software_program>OpenStudio</software_program>
1416
- <identifier>2.0.0</identifier>
1417
- <min_compatible>3.0.0</min_compatible>
1418
- </version>
1419
- <filename>measure.rb</filename>
1420
- <filetype>rb</filetype>
1421
- <usage_type>script</usage_type>
1422
- <checksum>8270883B</checksum>
1423
- </file>
1424
- <file>
1425
- <filename>README.md</filename>
1426
- <filetype>md</filetype>
1427
- <usage_type>readme</usage_type>
1428
- <checksum>286621F3</checksum>
1429
- </file>
1430
1490
  </files>
1431
1491
  </measure>
@@ -16,15 +16,6 @@
16
16
  class DEERSpaceTypeAndConstructionSetWizard < OpenStudio::Measure::ModelMeasure
17
17
  require 'openstudio-standards'
18
18
 
19
- # load OpenStudio measure libraries from openstudio-extension gem
20
- require 'openstudio-extension'
21
- require 'openstudio/extension/core/os_lib_helper_methods'
22
- require 'openstudio/extension/core/os_lib_model_generation'
23
-
24
- # resource files used by measure
25
- include OsLib_HelperMethods
26
- include OsLib_ModelGeneration
27
-
28
19
  # define the name that a user will see, this method may be deprecated as
29
20
  # the display name in PAT comes from the name field in measure.xml
30
21
  def name
@@ -46,21 +37,21 @@ class DEERSpaceTypeAndConstructionSetWizard < OpenStudio::Measure::ModelMeasure
46
37
  args = OpenStudio::Measure::OSArgumentVector.new
47
38
 
48
39
  # Make an argument for the building type
49
- building_type = OpenStudio::Measure::OSArgument.makeChoiceArgument('building_type', get_deer_building_types, true)
40
+ building_type = OpenStudio::Measure::OSArgument.makeChoiceArgument('building_type', OpenstudioStandards::CreateTypical.get_deer_building_types, true)
50
41
  building_type.setDisplayName('Building Type.')
51
- building_type.setDefaultValue('SmallOffice')
42
+ building_type.setDefaultValue('Asm')
52
43
  args << building_type
53
44
 
54
45
  # Make an argument for the template
55
- template = OpenStudio::Measure::OSArgument.makeChoiceArgument('template', get_deer_templates, true)
46
+ template = OpenStudio::Measure::OSArgument.makeChoiceArgument('template', OpenstudioStandards::CreateTypical.get_deer_templates, true)
56
47
  template.setDisplayName('Template.')
57
- template.setDefaultValue('90.1-2010')
48
+ template.setDefaultValue('DEER 2017')
58
49
  args << template
59
50
 
60
51
  # Make an argument for the climate zone
61
- climate_zone = OpenStudio::Measure::OSArgument.makeChoiceArgument('climate_zone', get_deer_climate_zones, true)
52
+ climate_zone = OpenStudio::Measure::OSArgument.makeChoiceArgument('climate_zone', OpenstudioStandards::CreateTypical.get_deer_climate_zones, true)
62
53
  climate_zone.setDisplayName('Climate Zone.')
63
- climate_zone.setDefaultValue('ASHRAE 169-2013-2A')
54
+ climate_zone.setDefaultValue('CEC T24-CEC8')
64
55
  args << climate_zone
65
56
 
66
57
  # make an argument to add new space types
@@ -88,7 +79,13 @@ class DEERSpaceTypeAndConstructionSetWizard < OpenStudio::Measure::ModelMeasure
88
79
  def run(model, runner, user_arguments)
89
80
  super(model, runner, user_arguments)
90
81
 
91
- results = wizard(model, runner, user_arguments)
82
+ # assign the user inputs to variables
83
+ args = runner.getArgumentValues(arguments(model), user_arguments)
84
+ args = Hash[args.collect{ |k, v| [k.to_s, v] }]
85
+ if !args then return false end
86
+
87
+ # run create_space_types_and_constructions
88
+ results = OpenstudioStandards::CreateTypical.create_space_types_and_constructions(model, args['building_type'], args['template'], args['climate_zone'])
92
89
 
93
90
  if results == false
94
91
  return false