openstudio-model-articulation 0.8.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 +9 -0
  3. data/Gemfile +12 -5
  4. data/Jenkinsfile +1 -1
  5. data/README.md +2 -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/README.md +0 -8
  50. data/lib/measures/radiant_slab_with_doas/measure.rb +2 -11
  51. data/lib/measures/radiant_slab_with_doas/measure.xml +31 -40
  52. data/lib/measures/replace_geometry_by_story/measure.rb +6 -10
  53. data/lib/measures/replace_geometry_by_story/measure.xml +19 -19
  54. data/lib/measures/set_nist_infiltration_correlations/measure.rb +34 -25
  55. data/lib/measures/set_nist_infiltration_correlations/measure.xml +38 -38
  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
@@ -1,6 +1,6 @@
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_deer_prototype_building</name>
5
5
  <uid>752055bd-10d9-4ede-8a35-18487fedf579</uid>
6
6
  <version_id>4cf31429-009e-4fbd-95bc-2edf0d325f0a</version_id>
@@ -801,10 +801,10 @@
801
801
  </attributes>
802
802
  <files>
803
803
  <file>
804
- <filename>README.md.erb</filename>
805
- <filetype>erb</filetype>
806
- <usage_type>readmeerb</usage_type>
807
- <checksum>703C9964</checksum>
804
+ <filename>LICENSE.md</filename>
805
+ <filetype>md</filetype>
806
+ <usage_type>license</usage_type>
807
+ <checksum>BFFB1AA6</checksum>
808
808
  </file>
809
809
  <file>
810
810
  <filename>README.md</filename>
@@ -813,16 +813,10 @@
813
813
  <checksum>A5517AE1</checksum>
814
814
  </file>
815
815
  <file>
816
- <filename>LICENSE.md</filename>
817
- <filetype>md</filetype>
818
- <usage_type>license</usage_type>
819
- <checksum>BFFB1AA6</checksum>
820
- </file>
821
- <file>
822
- <filename>deer_building_types.rb</filename>
823
- <filetype>rb</filetype>
824
- <usage_type>resource</usage_type>
825
- <checksum>26AEAF70</checksum>
816
+ <filename>README.md.erb</filename>
817
+ <filetype>erb</filetype>
818
+ <usage_type>readmeerb</usage_type>
819
+ <checksum>703C9964</checksum>
826
820
  </file>
827
821
  <file>
828
822
  <version>
@@ -835,6 +829,12 @@
835
829
  <usage_type>script</usage_type>
836
830
  <checksum>7F717C97</checksum>
837
831
  </file>
832
+ <file>
833
+ <filename>deer_building_types.rb</filename>
834
+ <filetype>rb</filetype>
835
+ <usage_type>resource</usage_type>
836
+ <checksum>26AEAF70</checksum>
837
+ </file>
838
838
  <file>
839
839
  <filename>create_DEER_prototype_building_test.rb</filename>
840
840
  <filetype>rb</filetype>
@@ -8,16 +8,11 @@
8
8
 
9
9
  require 'json'
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_schedules'
11
+ # load openstudio-standards gem
12
+ require 'openstudio-standards'
15
13
 
16
14
  # start the measure
17
15
  class CreateParametricSchedules < OpenStudio::Measure::ModelMeasure
18
- # resource file modules
19
- include OsLib_HelperMethods
20
- include OsLib_Schedules
21
16
 
22
17
  # human readable name
23
18
  def name
@@ -496,7 +491,8 @@ class CreateParametricSchedules < OpenStudio::Measure::ModelMeasure
496
491
  super(model, runner, user_arguments)
497
492
 
498
493
  # assign the user inputs to variables
499
- args = OsLib_HelperMethods.createRunVariables(runner, model, user_arguments, arguments(model))
494
+ args = runner.getArgumentValues(arguments(model), user_arguments)
495
+ args = Hash[args.collect{ |k, v| [k.to_s, v] }]
500
496
  if !args then return false end
501
497
 
502
498
  # create array from argument, clean up and check if measure should alter model
@@ -510,7 +506,8 @@ class CreateParametricSchedules < OpenStudio::Measure::ModelMeasure
510
506
  end
511
507
 
512
508
  # look at upstream measure for 'hoo_per_week' argument
513
- hoo_per_week_from_osw = OsLib_HelperMethods.check_upstream_measure_for_arg(runner, 'hoo_per_week')
509
+ hoo_per_week_from_osw = runner.getPastStepValuesForName('hoo_per_week')
510
+ hoo_per_week_from_osw = hoo_per_week_from_osw.collect{ |k, v| Hash[:measure_name => k, :value => v] }.first if !hoo_per_week_from_osw.empty?
514
511
  if !hoo_per_week_from_osw.empty?
515
512
  runner.registerInfo("Replacing argument named 'hoo_per_week' from current measure with a value of #{hoo_per_week_from_osw[:value]} from #{hoo_per_week_from_osw[:measure_name]}.")
516
513
  args['hoo_per_week'] = hoo_per_week_from_osw[:value].to_f
@@ -716,7 +713,7 @@ class CreateParametricSchedules < OpenStudio::Measure::ModelMeasure
716
713
  'summer_design_day' => summer_design_day,
717
714
  'default_day' => default_day,
718
715
  'rules' => rules }
719
- hoo_sch = OsLib_Schedules.createComplexSchedule(model, options)
716
+ hoo_sch = OpenstudioStandards::Schedules.create_complex_schedule(model, options)
720
717
  default_schedule_set.setHoursofOperationSchedule(hoo_sch)
721
718
 
722
719
  # create activity schedule
@@ -731,7 +728,7 @@ class CreateParametricSchedules < OpenStudio::Measure::ModelMeasure
731
728
  'summer_design_day' => summer_design_day,
732
729
  'default_day' => default_day,
733
730
  'rules' => rules }
734
- activity_sch = OsLib_Schedules.createComplexSchedule(model, options)
731
+ activity_sch = OpenstudioStandards::Schedules.create_complex_schedule(model, options)
735
732
  default_schedule_set.setPeopleActivityLevelSchedule(activity_sch)
736
733
 
737
734
  # generate and apply lighting schedule using hours of operation schedule and parametric inputs
@@ -750,7 +747,7 @@ class CreateParametricSchedules < OpenStudio::Measure::ModelMeasure
750
747
  'default_day' => default_day,
751
748
  'rules' => rules }
752
749
 
753
- lighting_sch = OsLib_Schedules.createComplexSchedule(model, options)
750
+ lighting_sch = OpenstudioStandards::Schedules.create_complex_schedule(model, options)
754
751
  lighting_sch.setComment(args['lighting_profiles'])
755
752
  default_schedule_set.setLightingSchedule(lighting_sch)
756
753
 
@@ -769,7 +766,7 @@ class CreateParametricSchedules < OpenStudio::Measure::ModelMeasure
769
766
  'summer_design_day' => summer_design_day,
770
767
  'default_day' => default_day,
771
768
  'rules' => rules }
772
- electric_equipment_sch = OsLib_Schedules.createComplexSchedule(model, options)
769
+ electric_equipment_sch = OpenstudioStandards::Schedules.create_complex_schedule(model, options)
773
770
  electric_equipment_sch.setComment(args['electric_equipment_profiles'])
774
771
  default_schedule_set.setElectricEquipmentSchedule(electric_equipment_sch)
775
772
 
@@ -788,7 +785,7 @@ class CreateParametricSchedules < OpenStudio::Measure::ModelMeasure
788
785
  'summer_design_day' => summer_design_day,
789
786
  'default_day' => default_day,
790
787
  'rules' => rules }
791
- gas_equipment_sch = OsLib_Schedules.createComplexSchedule(model, options)
788
+ gas_equipment_sch = OpenstudioStandards::Schedules.create_complex_schedule(model, options)
792
789
  gas_equipment_sch.setComment(args['gas_equipment_profiles'])
793
790
  default_schedule_set.setGasEquipmentSchedule(gas_equipment_sch)
794
791
 
@@ -807,7 +804,7 @@ class CreateParametricSchedules < OpenStudio::Measure::ModelMeasure
807
804
  'summer_design_day' => summer_design_day,
808
805
  'default_day' => default_day,
809
806
  'rules' => rules }
810
- occupancy_sch = OsLib_Schedules.createComplexSchedule(model, options)
807
+ occupancy_sch = OpenstudioStandards::Schedules.create_complex_schedule(model, options)
811
808
  occupancy_sch.setComment(args['occupancy_profiles'])
812
809
  default_schedule_set.setNumberofPeopleSchedule(occupancy_sch)
813
810
 
@@ -826,7 +823,7 @@ class CreateParametricSchedules < OpenStudio::Measure::ModelMeasure
826
823
  'summer_design_day' => summer_design_day,
827
824
  'default_day' => default_day,
828
825
  'rules' => rules }
829
- infiltration_sch = OsLib_Schedules.createComplexSchedule(model, options)
826
+ infiltration_sch = OpenstudioStandards::Schedules.create_complex_schedule(model, options)
830
827
  infiltration_sch.setComment(args['infiltration_profiles'])
831
828
  default_schedule_set.setInfiltrationSchedule(infiltration_sch)
832
829
 
@@ -845,7 +842,7 @@ class CreateParametricSchedules < OpenStudio::Measure::ModelMeasure
845
842
  'summer_design_day' => summer_design_day,
846
843
  'default_day' => default_day,
847
844
  'rules' => rules }
848
- hvac_availability_sch = OsLib_Schedules.createComplexSchedule(model, options)
845
+ hvac_availability_sch = OpenstudioStandards::Schedules.create_complex_schedule(model, options)
849
846
  hvac_availability_sch.setComment(args['hvac_availability_profiles'])
850
847
 
851
848
  # apply HVAC schedules
@@ -880,7 +877,7 @@ class CreateParametricSchedules < OpenStudio::Measure::ModelMeasure
880
877
  'summer_design_day' => summer_design_day,
881
878
  'default_day' => default_day,
882
879
  'rules' => rules }
883
- heating_setpoint_sch = OsLib_Schedules.createComplexSchedule(model, options)
880
+ heating_setpoint_sch = OpenstudioStandards::Schedules.create_complex_schedule(model, options)
884
881
 
885
882
  # generate and apply cooling_setpoint schedule using hours of operation schedule and parametric inputs
886
883
  ruleset_name = 'Parametric Cooling Setpoint Schedule'
@@ -908,7 +905,7 @@ class CreateParametricSchedules < OpenStudio::Measure::ModelMeasure
908
905
  'summer_design_day' => summer_design_day,
909
906
  'default_day' => default_day,
910
907
  'rules' => rules }
911
- cooling_setpoint_sch = OsLib_Schedules.createComplexSchedule(model, options)
908
+ cooling_setpoint_sch = OpenstudioStandards::Schedules.create_complex_schedule(model, options)
912
909
 
913
910
  # apply heating and cooling setpoint schedules
914
911
  thermostats_to_alter.each do |thermostat|
@@ -931,7 +928,7 @@ class CreateParametricSchedules < OpenStudio::Measure::ModelMeasure
931
928
  'summer_design_day' => summer_design_day,
932
929
  'default_day' => default_day,
933
930
  'rules' => rules }
934
- swh_sch = OsLib_Schedules.createComplexSchedule(model, options)
931
+ swh_sch = OpenstudioStandards::Schedules.create_complex_schedule(model, options)
935
932
  swh_sch.setComment(args['swh_profiles'])
936
933
  water_use_equipment_to_alter.each do |water_use_equipment|
937
934
  water_use_equipment.setFlowRateFractionSchedule(swh_sch)
@@ -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_parametric_schedules</name>
5
5
  <uid>befa8099-c6a7-4045-8792-53fc7124b862</uid>
6
- <version_id>db9fad27-ccad-42d5-81ff-615976c88be9</version_id>
7
- <version_modified>20230602T160045Z</version_modified>
6
+ <version_id>a6fcf75a-32c7-4f10-99a4-80c99b9dbf69</version_id>
7
+ <version_modified>2024-05-20T07:54:34Z</version_modified>
8
8
  <xml_checksum>03F02484</xml_checksum>
9
9
  <class_name>CreateParametricSchedules</class_name>
10
10
  <display_name>Create Parametric Schedules</display_name>
@@ -300,10 +300,10 @@
300
300
  </attributes>
301
301
  <files>
302
302
  <file>
303
- <filename>example_model.osm</filename>
304
- <filetype>osm</filetype>
305
- <usage_type>test</usage_type>
306
- <checksum>8A9CF7E6</checksum>
303
+ <filename>LICENSE.md</filename>
304
+ <filetype>md</filetype>
305
+ <usage_type>license</usage_type>
306
+ <checksum>BFFB1AA6</checksum>
307
307
  </file>
308
308
  <file>
309
309
  <filename>README.md</filename>
@@ -317,22 +317,16 @@
317
317
  <usage_type>readmeerb</usage_type>
318
318
  <checksum>703C9964</checksum>
319
319
  </file>
320
- <file>
321
- <filename>LICENSE.md</filename>
322
- <filetype>md</filetype>
323
- <usage_type>license</usage_type>
324
- <checksum>BFFB1AA6</checksum>
325
- </file>
326
320
  <file>
327
321
  <version>
328
322
  <software_program>OpenStudio</software_program>
329
323
  <identifier>2.1.0</identifier>
330
- <min_compatible>2.8.0</min_compatible>
324
+ <min_compatible>3.8.0</min_compatible>
331
325
  </version>
332
326
  <filename>measure.rb</filename>
333
327
  <filetype>rb</filetype>
334
328
  <usage_type>script</usage_type>
335
- <checksum>593813C9</checksum>
329
+ <checksum>7546678F</checksum>
336
330
  </file>
337
331
  <file>
338
332
  <filename>create_parametric_schedules_test.rb</filename>
@@ -340,5 +334,11 @@
340
334
  <usage_type>test</usage_type>
341
335
  <checksum>CEE46F8D</checksum>
342
336
  </file>
337
+ <file>
338
+ <filename>example_model.osm</filename>
339
+ <filetype>osm</filetype>
340
+ <usage_type>test</usage_type>
341
+ <checksum>8A9CF7E6</checksum>
342
+ </file>
343
343
  </files>
344
344
  </measure>
@@ -205,7 +205,7 @@ ___
205
205
  **Required:** true,
206
206
  **Model Dependent:** false
207
207
 
208
- **Choice Display Names** ["DOE Ref Pre-1980", "DOE Ref 1980-2004", "90.1-2004", "90.1-2007", "90.1-2010", "90.1-2013", "90.1-2016", "90.1-2019", "ComStock DOE Ref Pre-1980", "ComStock DOE Ref 1980-2004", "ComStock 90.1-2004", "ComStock 90.1-2007", "ComStock 90.1-2010", "ComStock 90.1-2013", "ComStock 90.1-2016", "ComStock 90.1-2019", "DEER Pre-1975", "DEER 1985", "DEER 1996", "DEER 2003", "DEER 2007", "DEER 2011", "DEER 2014", "DEER 2015", "DEER 2017", "DEER 2020"]
208
+ **Choice Display Names** ["DOE Ref Pre-1980", "DOE Ref 1980-2004", "90.1-2004", "90.1-2007", "90.1-2010", "90.1-2013", "90.1-2016", "90.1-2019", "ComStock DOE Ref Pre-1980", "ComStock DOE Ref 1980-2004", "ComStock 90.1-2004", "ComStock 90.1-2007", "ComStock 90.1-2010", "ComStock 90.1-2013", "ComStock 90.1-2016", "ComStock 90.1-2019", "DEER Pre-1975", "DEER 1985", "DEER 1996", "DEER 2003", "DEER 2007", "DEER 2011", "DEER 2014", "DEER 2015", "DEER 2017", "DEER 2020", "ComStock DEER Pre-1975", "ComStock DEER 1985", "ComStock DEER 1996", "ComStock DEER 2003", "ComStock DEER 2007", "ComStock DEER 2011", "ComStock DEER 2014", "ComStock DEER 2015", "ComStock DEER 2017", "ComStock DEER 2020"]
209
209
 
210
210
 
211
211
  ### HVAC System Type
@@ -216,7 +216,7 @@ ___
216
216
  **Required:** true,
217
217
  **Model Dependent:** false
218
218
 
219
- **Choice Display Names** ["Inferred", "Ideal Air Loads", "Baseboard electric", "Baseboard gas boiler", "Baseboard central air source heat pump", "Baseboard district hot water", "Direct evap coolers with baseboard electric", "Direct evap coolers with baseboard gas boiler", "Direct evap coolers with baseboard central air source heat pump", "Direct evap coolers with baseboard district hot water", "Direct evap coolers with forced air furnace", "Direct evap coolers with gas unit heaters", "Direct evap coolers with no heat", "DOAS with fan coil chiller with boiler", "DOAS with fan coil chiller with central air source heat pump", "DOAS with fan coil chiller with district hot water", "DOAS with fan coil chiller with baseboard electric", "DOAS with fan coil chiller with gas unit heaters", "DOAS with fan coil chiller with no heat", "DOAS with fan coil air-cooled chiller with boiler", "DOAS with fan coil air-cooled chiller with central air source heat pump", "DOAS with fan coil air-cooled chiller with district hot water", "DOAS with fan coil air-cooled chiller with baseboard electric", "DOAS with fan coil air-cooled chiller with gas unit heaters", "DOAS with fan coil air-cooled chiller with no heat", "DOAS with fan coil district chilled water with boiler", "DOAS with fan coil district chilled water with central air source heat pump", "DOAS with fan coil district chilled water with district hot water", "DOAS with fan coil district chilled water with baseboard electric", "DOAS with fan coil district chilled water with gas unit heaters", "DOAS with fan coil district chilled water with no heat", "DOAS with VRF", "DOAS with water source heat pumps fluid cooler with boiler", "DOAS with water source heat pumps cooling tower with boiler", "DOAS with water source heat pumps with ground source heat pump", "DOAS with water source heat pumps district chilled water with district hot water", "Fan coil chiller with boiler", "Fan coil chiller with central air source heat pump", "Fan coil chiller with district hot water", "Fan coil chiller with baseboard electric", "Fan coil chiller with gas unit heaters", "Fan coil chiller with no heat", "Fan coil air-cooled chiller with boiler", "Fan coil air-cooled chiller with central air source heat pump", "Fan coil air-cooled chiller with district hot water", "Fan coil air-cooled chiller with baseboard electric", "Fan coil air-cooled chiller with gas unit heaters", "Fan coil air-cooled chiller with no heat", "Fan coil district chilled water with boiler", "Fan coil district chilled water with central air source heat pump", "Fan coil district chilled water with district hot water", "Fan coil district chilled water with baseboard electric", "Fan coil district chilled water with gas unit heaters", "Fan coil district chilled water with no heat", "Forced air furnace", "Gas unit heaters", "PTAC with baseboard electric", "PTAC with baseboard gas boiler", "PTAC with baseboard district hot water", "PTAC with gas unit heaters", "PTAC with electric coil", "PTAC with gas coil", "PTAC with gas boiler", "PTAC with central air source heat pump", "PTAC with district hot water", "PTAC with no heat", "PTHP", "PSZ-AC with baseboard electric", "PSZ-AC with baseboard gas boiler", "PSZ-AC with baseboard district hot water", "PSZ-AC with gas unit heaters", "PSZ-AC with electric coil", "PSZ-AC with gas coil", "PSZ-AC with gas boiler", "PSZ-AC with central air source heat pump", "PSZ-AC with district hot water", "PSZ-AC with no heat", "PSZ-AC district chilled water with baseboard electric", "PSZ-AC district chilled water with baseboard gas boiler", "PSZ-AC district chilled water with baseboard district hot water", "PSZ-AC district chilled water with gas unit heaters", "PSZ-AC district chilled water with electric coil", "PSZ-AC district chilled water with gas coil", "PSZ-AC district chilled water with gas boiler", "PSZ-AC district chilled water with central air source heat pump", "PSZ-AC district chilled water with district hot water", "PSZ-AC district chilled water with no heat", "PSZ-HP", "PVAV with gas boiler reheat", "PVAV with central air source heat pump reheat", "PVAV with district hot water reheat", "PVAV with PFP boxes", "PVAV with gas heat with electric reheat", "Residential AC with baseboard electric", "Residential AC with baseboard gas boiler", "Residential AC with baseboard central air source heat pump", "Residential AC with baseboard district hot water", "Residential AC with residential forced air furnace", "Residential AC with no heat", "Residential heat pump", "Residential heat pump with no cooling", "Residential forced air furnace", "VAV chiller with gas boiler reheat", "VAV chiller with central air source heat pump reheat", "VAV chiller with district hot water reheat", "VAV chiller with PFP boxes", "VAV chiller with gas coil reheat", "VAV chiller with no reheat with baseboard electric", "VAV chiller with no reheat with gas unit heaters", "VAV chiller with no reheat with zone heat pump", "VAV air-cooled chiller with gas boiler reheat", "VAV air-cooled chiller with central air source heat pump reheat", "VAV air-cooled chiller with district hot water reheat", "VAV air-cooled chiller with PFP boxes", "VAV air-cooled chiller with gas coil reheat", "VAV air-cooled chiller with no reheat with baseboard electric", "VAV air-cooled chiller with no reheat with gas unit heaters", "VAV air-cooled chiller with no reheat with zone heat pump", "VAV district chilled water with gas boiler reheat", "VAV district chilled water with central air source heat pump reheat", "VAV district chilled water with district hot water reheat", "VAV district chilled water with PFP boxes", "VAV district chilled water with gas coil reheat", "VAV district chilled water with no reheat with baseboard electric", "VAV district chilled water with no reheat with gas unit heaters", "VAV district chilled water with no reheat with zone heat pump", "VRF", "Water source heat pumps fluid cooler with boiler", "Water source heat pumps cooling tower with boiler", "Water source heat pumps with ground source heat pump", "Water source heat pumps district chilled water with district hot water", "Window AC with baseboard electric", "Window AC with baseboard gas boiler", "Window AC with baseboard central air source heat pump", "Window AC with baseboard district hot water", "Window AC with forced air furnace", "Window AC with unit heaters", "Window AC with no heat"]
219
+ **Choice Display Names** ["Inferred", "Ideal Air Loads", "Baseboard electric", "Baseboard gas boiler", "Baseboard central air source heat pump", "Baseboard district hot water", "Direct evap coolers with baseboard electric", "Direct evap coolers with baseboard gas boiler", "Direct evap coolers with baseboard central air source heat pump", "Direct evap coolers with baseboard district hot water", "Direct evap coolers with forced air furnace", "Direct evap coolers with gas unit heaters", "Direct evap coolers with no heat", "DOAS with fan coil chiller with boiler", "DOAS with fan coil chiller with central air source heat pump", "DOAS with fan coil chiller with district hot water", "DOAS with fan coil chiller with baseboard electric", "DOAS with fan coil chiller with gas unit heaters", "DOAS with fan coil chiller with no heat", "DOAS with fan coil air-cooled chiller with boiler", "DOAS with fan coil air-cooled chiller with central air source heat pump", "DOAS with fan coil air-cooled chiller with district hot water", "DOAS with fan coil air-cooled chiller with baseboard electric", "DOAS with fan coil air-cooled chiller with gas unit heaters", "DOAS with fan coil air-cooled chiller with no heat", "DOAS with fan coil district chilled water with boiler", "DOAS with fan coil district chilled water with central air source heat pump", "DOAS with fan coil district chilled water with district hot water", "DOAS with fan coil district chilled water with baseboard electric", "DOAS with fan coil district chilled water with gas unit heaters", "DOAS with fan coil district chilled water with no heat", "DOAS with VRF", "DOAS with water source heat pumps fluid cooler with boiler", "DOAS with water source heat pumps cooling tower with boiler", "DOAS with water source heat pumps with ground source heat pump", "DOAS with water source heat pumps district chilled water with district hot water", "Fan coil chiller with boiler", "Fan coil chiller with central air source heat pump", "Fan coil chiller with district hot water", "Fan coil chiller with baseboard electric", "Fan coil chiller with gas unit heaters", "Fan coil chiller with no heat", "Fan coil air-cooled chiller with boiler", "Fan coil air-cooled chiller with central air source heat pump", "Fan coil air-cooled chiller with district hot water", "Fan coil air-cooled chiller with baseboard electric", "Fan coil air-cooled chiller with gas unit heaters", "Fan coil air-cooled chiller with no heat", "Fan coil district chilled water with boiler", "Fan coil district chilled water with central air source heat pump", "Fan coil district chilled water with district hot water", "Fan coil district chilled water with baseboard electric", "Fan coil district chilled water with gas unit heaters", "Fan coil district chilled water with no heat", "Forced air furnace", "Gas unit heaters", "PTAC with baseboard electric", "PTAC with baseboard gas boiler", "PTAC with baseboard district hot water", "PTAC with gas unit heaters", "PTAC with electric coil", "PTAC with gas coil", "PTAC with gas boiler", "PTAC with central air source heat pump", "PTAC with district hot water", "PTAC with no heat", "PTHP", "PSZ-AC with baseboard electric", "PSZ-AC with baseboard gas boiler", "PSZ-AC with baseboard district hot water", "PSZ-AC with gas unit heaters", "PSZ-AC with electric coil", "PSZ-AC with gas coil", "PSZ-AC with gas boiler", "PSZ-AC with central air source heat pump", "PSZ-AC with district hot water", "PSZ-AC with no heat", "PSZ-AC district chilled water with baseboard electric", "PSZ-AC district chilled water with baseboard gas boiler", "PSZ-AC district chilled water with baseboard district hot water", "PSZ-AC district chilled water with gas unit heaters", "PSZ-AC district chilled water with electric coil", "PSZ-AC district chilled water with gas coil", "PSZ-AC district chilled water with gas boiler", "PSZ-AC district chilled water with central air source heat pump", "PSZ-AC district chilled water with district hot water", "PSZ-AC district chilled water with no heat", "PSZ-HP", "PVAV with gas boiler reheat", "PVAV with central air source heat pump reheat", "PVAV with district hot water reheat", "PVAV with PFP boxes", "PVAV with gas heat with electric reheat", "PVAV with gas coil heat with electric reheat", "PVAV with gas boiler heat with electric reheat", "Residential AC with baseboard electric", "Residential AC with baseboard gas boiler", "Residential AC with baseboard central air source heat pump", "Residential AC with baseboard district hot water", "Residential AC with residential forced air furnace", "Residential AC with no heat", "Residential heat pump", "Residential heat pump with no cooling", "Residential forced air furnace", "VAV chiller with gas boiler reheat", "VAV chiller with central air source heat pump reheat", "VAV chiller with district hot water reheat", "VAV chiller with PFP boxes", "VAV chiller with gas coil reheat", "VAV chiller with no reheat with baseboard electric", "VAV chiller with no reheat with gas unit heaters", "VAV chiller with no reheat with zone heat pump", "VAV air-cooled chiller with gas boiler reheat", "VAV air-cooled chiller with central air source heat pump reheat", "VAV air-cooled chiller with district hot water reheat", "VAV air-cooled chiller with PFP boxes", "VAV air-cooled chiller with gas coil reheat", "VAV air-cooled chiller with no reheat with baseboard electric", "VAV air-cooled chiller with no reheat with gas unit heaters", "VAV air-cooled chiller with no reheat with zone heat pump", "VAV district chilled water with gas boiler reheat", "VAV district chilled water with central air source heat pump reheat", "VAV district chilled water with district hot water reheat", "VAV district chilled water with PFP boxes", "VAV district chilled water with gas coil reheat", "VAV district chilled water with no reheat with baseboard electric", "VAV district chilled water with no reheat with gas unit heaters", "VAV district chilled water with no reheat with zone heat pump", "VRF", "Water source heat pumps fluid cooler with boiler", "Water source heat pumps cooling tower with boiler", "Water source heat pumps with ground source heat pump", "Water source heat pumps district chilled water with district hot water", "Window AC with baseboard electric", "Window AC with baseboard gas boiler", "Window AC with baseboard central air source heat pump", "Window AC with baseboard district hot water", "Window AC with forced air furnace", "Window AC with unit heaters", "Window AC with no heat"]
220
220
 
221
221
 
222
222
  ### HVAC System Delivery Type
@@ -227,7 +227,7 @@ How the HVAC system delivers heating or cooling to the zone.
227
227
  **Required:** true,
228
228
  **Model Dependent:** false
229
229
 
230
- **Choice Display Names** ["Forced Air", "Hydronic"]
230
+ **Choice Display Names** ["Forced Air", "Hydronic", "Inferred"]
231
231
 
232
232
 
233
233
  ### HVAC Heating Source
@@ -238,7 +238,7 @@ The primary source of heating used by HVAC systems in the model.
238
238
  **Required:** true,
239
239
  **Model Dependent:** false
240
240
 
241
- **Choice Display Names** ["Electricity", "NaturalGas", "DistrictHeating", "DistrictAmbient"]
241
+ **Choice Display Names** ["Electricity", "NaturalGas", "DistrictHeating", "DistrictAmbient", "Inferred"]
242
242
 
243
243
 
244
244
  ### HVAC Cooling Source
@@ -249,7 +249,7 @@ The primary source of cooling used by HVAC systems in the model.
249
249
  **Required:** true,
250
250
  **Model Dependent:** false
251
251
 
252
- **Choice Display Names** ["Electricity", "DistrictCooling", "DistrictAmbient"]
252
+ **Choice Display Names** ["Electricity", "DistrictCooling", "DistrictAmbient", "Inferred"]
253
253
 
254
254
 
255
255
  ### Service Water Heating Source
@@ -294,6 +294,17 @@ Construction Set will be applied to entire building
294
294
  **Model Dependent:** false
295
295
 
296
296
 
297
+ ### Wall Construction Type
298
+ Identify Exterior Wall Construction Type to be applied to entire building
299
+ **Name:** wall_construction_type,
300
+ **Type:** Choice,
301
+ **Units:** ,
302
+ **Required:** true,
303
+ **Model Dependent:** false
304
+
305
+ **Choice Display Names** ["Mass", "Metal Building", "SteelFramed", "WoodFramed", "Inferred"]
306
+
307
+
297
308
  ### Add Space Type Loads to Model
298
309
  Populate existing space types in model with internal loads.
299
310
  **Name:** add_space_type_loads,
@@ -474,17 +485,6 @@ By default this will force daylight savings to be enabled. Set to false if in a
474
485
  **Model Dependent:** false
475
486
 
476
487
 
477
- ### Climate Zone.
478
-
479
- **Name:** climate_zone,
480
- **Type:** Choice,
481
- **Units:** ,
482
- **Required:** true,
483
- **Model Dependent:** false
484
-
485
- **Choice Display Names** ["Lookup From Model", "ASHRAE 169-2013-1A", "ASHRAE 169-2013-1B", "ASHRAE 169-2013-2A", "ASHRAE 169-2013-2B", "ASHRAE 169-2013-3A", "ASHRAE 169-2013-3B", "ASHRAE 169-2013-3C", "ASHRAE 169-2013-4A", "ASHRAE 169-2013-4B", "ASHRAE 169-2013-4C", "ASHRAE 169-2013-5A", "ASHRAE 169-2013-5B", "ASHRAE 169-2013-5C", "ASHRAE 169-2013-6A", "ASHRAE 169-2013-6B", "ASHRAE 169-2013-7A", "ASHRAE 169-2013-8A", "CEC T24-CEC1", "CEC T24-CEC2", "CEC T24-CEC3", "CEC T24-CEC4", "CEC T24-CEC5", "CEC T24-CEC6", "CEC T24-CEC7", "CEC T24-CEC8", "CEC T24-CEC9", "CEC T24-CEC10", "CEC T24-CEC11", "CEC T24-CEC12", "CEC T24-CEC13", "CEC T24-CEC14", "CEC T24-CEC15", "CEC T24-CEC16"]
486
-
487
-
488
488
 
489
489
 
490
490
 
@@ -5,18 +5,10 @@
5
5
 
6
6
  require 'openstudio-standards'
7
7
 
8
- # load OpenStudio measure libraries from openstudio-extension gem
9
- require 'openstudio-extension'
10
- require 'openstudio/extension/core/os_lib_helper_methods'
11
- require 'openstudio/extension/core/os_lib_model_generation'
12
-
13
- require_relative 'resources/Model.hvac' # DLM: should this be in openstudio-standards? dfg some tests fail without it
8
+ #require_relative 'resources/Model.hvac' # DLM: should this be in openstudio-standards? dfg some tests fail without it
14
9
 
15
10
  # start the measure
16
11
  class CreateTypicalBuildingFromModel < OpenStudio::Measure::ModelMeasure
17
- # resource file modules
18
- include OsLib_HelperMethods
19
- include OsLib_ModelGeneration
20
12
 
21
13
  # human readable name
22
14
  def name
@@ -44,7 +36,7 @@ class CreateTypicalBuildingFromModel < OpenStudio::Measure::ModelMeasure
44
36
 
45
37
  # see if building name contains any template values
46
38
  default_string = '90.1-2010'
47
- get_templates.each do |template_string|
39
+ OpenstudioStandards::CreateTypical.get_templates.each do |template_string|
48
40
  if model.getBuilding.name.to_s.include?(template_string)
49
41
  default_string = template_string
50
42
  next
@@ -52,7 +44,7 @@ class CreateTypicalBuildingFromModel < OpenStudio::Measure::ModelMeasure
52
44
  end
53
45
 
54
46
  # Make argument for template
55
- template = OpenStudio::Measure::OSArgument.makeChoiceArgument('template', get_templates, true)
47
+ template = OpenStudio::Measure::OSArgument.makeChoiceArgument('template', OpenstudioStandards::CreateTypical.get_templates, true)
56
48
  template.setDisplayName('Target Standard')
57
49
  template.setDefaultValue(default_string)
58
50
  args << template
@@ -152,6 +144,8 @@ class CreateTypicalBuildingFromModel < OpenStudio::Measure::ModelMeasure
152
144
  hvac_chs << 'PVAV with district hot water reheat'
153
145
  hvac_chs << 'PVAV with PFP boxes'
154
146
  hvac_chs << 'PVAV with gas heat with electric reheat'
147
+ hvac_chs << 'PVAV with gas coil heat with electric reheat'
148
+ hvac_chs << 'PVAV with gas boiler heat with electric reheat'
155
149
  hvac_chs << 'Residential AC with baseboard electric'
156
150
  hvac_chs << 'Residential AC with baseboard gas boiler'
157
151
  hvac_chs << 'Residential AC with baseboard central air source heat pump'
@@ -207,6 +201,7 @@ class CreateTypicalBuildingFromModel < OpenStudio::Measure::ModelMeasure
207
201
  hvac_type_chs = OpenStudio::StringVector.new
208
202
  hvac_type_chs << 'Forced Air'
209
203
  hvac_type_chs << 'Hydronic'
204
+ hvac_type_chs << 'Inferred'
210
205
  hvac_delivery_type = OpenStudio::Measure::OSArgument.makeChoiceArgument('hvac_delivery_type', hvac_type_chs, true)
211
206
  hvac_delivery_type.setDisplayName('HVAC System Delivery Type')
212
207
  hvac_delivery_type.setDescription('How the HVAC system delivers heating or cooling to the zone.')
@@ -219,6 +214,7 @@ class CreateTypicalBuildingFromModel < OpenStudio::Measure::ModelMeasure
219
214
  htg_src_chs << 'NaturalGas'
220
215
  htg_src_chs << 'DistrictHeating'
221
216
  htg_src_chs << 'DistrictAmbient'
217
+ htg_src_chs << 'Inferred'
222
218
  htg_src = OpenStudio::Measure::OSArgument.makeChoiceArgument('htg_src', htg_src_chs, true)
223
219
  htg_src.setDisplayName('HVAC Heating Source')
224
220
  htg_src.setDescription('The primary source of heating used by HVAC systems in the model.')
@@ -230,6 +226,7 @@ class CreateTypicalBuildingFromModel < OpenStudio::Measure::ModelMeasure
230
226
  clg_src_chs << 'Electricity'
231
227
  clg_src_chs << 'DistrictCooling'
232
228
  clg_src_chs << 'DistrictAmbient'
229
+ clg_src_chs << 'Inferred'
233
230
  clg_src = OpenStudio::Measure::OSArgument.makeChoiceArgument('clg_src', clg_src_chs, true)
234
231
  clg_src.setDisplayName('HVAC Cooling Source')
235
232
  clg_src.setDescription('The primary source of cooling used by HVAC systems in the model.')
@@ -290,6 +287,19 @@ class CreateTypicalBuildingFromModel < OpenStudio::Measure::ModelMeasure
290
287
  add_constructions.setDefaultValue(true)
291
288
  args << add_constructions
292
289
 
290
+ # make argument for wall_construction_type
291
+ wall_construction_type_choices = OpenStudio::StringVector.new
292
+ wall_construction_type_choices << 'Mass'
293
+ wall_construction_type_choices << 'Metal Building'
294
+ wall_construction_type_choices << 'SteelFramed'
295
+ wall_construction_type_choices << 'WoodFramed'
296
+ wall_construction_type_choices << 'Inferred'
297
+ wall_construction_type = OpenStudio::Measure::OSArgument.makeChoiceArgument('wall_construction_type', wall_construction_type_choices, true)
298
+ wall_construction_type.setDisplayName('Wall Construction Type')
299
+ wall_construction_type.setDescription('Identify Exterior Wall Construction Type to be applied to entire building')
300
+ wall_construction_type.setDefaultValue('Inferred')
301
+ args << wall_construction_type
302
+
293
303
  # make an argument for add_space_type_loads
294
304
  add_space_type_loads = OpenStudio::Measure::OSArgument.makeBoolArgument('add_space_type_loads', true)
295
305
  add_space_type_loads.setDisplayName('Add Space Type Loads to Model')
@@ -373,6 +383,8 @@ class CreateTypicalBuildingFromModel < OpenStudio::Measure::ModelMeasure
373
383
  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.')
374
384
  wkdy_op_hrs_start_time.setUnits('Hours')
375
385
  wkdy_op_hrs_start_time.setDefaultValue(8.0)
386
+ wkdy_op_hrs_start_time.setMinValue(0.0)
387
+ wkdy_op_hrs_start_time.setMaxValue(24.0)
376
388
  args << wkdy_op_hrs_start_time
377
389
 
378
390
  # weekday hours of operation duration
@@ -381,6 +393,8 @@ class CreateTypicalBuildingFromModel < OpenStudio::Measure::ModelMeasure
381
393
  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.')
382
394
  wkdy_op_hrs_duration.setUnits('Hours')
383
395
  wkdy_op_hrs_duration.setDefaultValue(8.0)
396
+ wkdy_op_hrs_duration.setMinValue(0.0)
397
+ wkdy_op_hrs_duration.setMaxValue(24.0)
384
398
  args << wkdy_op_hrs_duration
385
399
 
386
400
  # modify weekend hours of operation
@@ -396,6 +410,8 @@ class CreateTypicalBuildingFromModel < OpenStudio::Measure::ModelMeasure
396
410
  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.')
397
411
  wknd_op_hrs_start_time.setUnits('Hours')
398
412
  wknd_op_hrs_start_time.setDefaultValue(8.0)
413
+ wknd_op_hrs_start_time.setMinValue(0.0)
414
+ wknd_op_hrs_start_time.setMaxValue(24.0)
399
415
  args << wknd_op_hrs_start_time
400
416
 
401
417
  # weekend hours of operation duration
@@ -404,6 +420,8 @@ class CreateTypicalBuildingFromModel < OpenStudio::Measure::ModelMeasure
404
420
  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.')
405
421
  wknd_op_hrs_duration.setUnits('Hours')
406
422
  wknd_op_hrs_duration.setDefaultValue(8.0)
423
+ wknd_op_hrs_duration.setMinValue(0.0)
424
+ wknd_op_hrs_duration.setMaxValue(24.0)
407
425
  args << wknd_op_hrs_duration
408
426
 
409
427
  # make an argument for unmet_hours_tolerance
@@ -411,6 +429,7 @@ class CreateTypicalBuildingFromModel < OpenStudio::Measure::ModelMeasure
411
429
  unmet_hours_tolerance.setDisplayName('Unmet Hours Tolerance')
412
430
  unmet_hours_tolerance.setDescription('Set the thermostat setpoint tolerance for unmet hours in degrees Rankine')
413
431
  unmet_hours_tolerance.setDefaultValue(1.0)
432
+ unmet_hours_tolerance.setMinValue(0.0)
414
433
  args << unmet_hours_tolerance
415
434
 
416
435
  # make an argument for remove_objects
@@ -434,12 +453,6 @@ class CreateTypicalBuildingFromModel < OpenStudio::Measure::ModelMeasure
434
453
  enable_dst.setDefaultValue(true)
435
454
  args << enable_dst
436
455
 
437
- # Argument used to make ComStock tsv workflow run correctly
438
- climate_zone = OpenStudio::Measure::OSArgument.makeChoiceArgument('climate_zone', get_climate_zones(false, 'Lookup From Model'), true)
439
- climate_zone.setDisplayName('Climate Zone.')
440
- climate_zone.setDefaultValue('Lookup From Model')
441
- args << climate_zone
442
-
443
456
  return args
444
457
  end
445
458
 
@@ -447,8 +460,61 @@ class CreateTypicalBuildingFromModel < OpenStudio::Measure::ModelMeasure
447
460
  def run(model, runner, user_arguments)
448
461
  super(model, runner, user_arguments)
449
462
 
463
+ # assign the user inputs to variables
464
+ args = runner.getArgumentValues(arguments(model), user_arguments)
465
+ args = Hash[args.collect{ |k, v| [k.to_s, v] }]
466
+ if !args then return false end
467
+
468
+ # todo - need to make use of this before pass to standards
469
+ use_upstream_args = args['use_upstream_args']
470
+
471
+ # open channel to log messages
472
+ reset_log
473
+
474
+ # Turn debugging output on/off
475
+ debug = false
476
+
450
477
  # method run from os_lib_model_generation.rb
451
- result = typical_building_from_model(model, runner, user_arguments)
478
+ result = OpenstudioStandards::CreateTypical.create_typical_building_from_model(
479
+ model,
480
+ args['template'],
481
+ climate_zone: nil, # not exposed in user measure args
482
+ add_hvac: args['add_hvac'],
483
+ hvac_system_type: args['system_type'],
484
+ hvac_delivery_type: args['hvac_delivery_type'],
485
+ heating_fuel: args['htg_src'],
486
+ service_water_heating_fuel: args['swh_src'],
487
+ cooling_fuel: args['clg_src'],
488
+ kitchen_makeup: args['kitchen_makeup'],
489
+ exterior_lighting_zone: args['exterior_lighting_zone'],
490
+ add_constructions: args['add_constructions'],
491
+ wall_construction_type: args['wall_construction_type'],
492
+ add_space_type_loads: args['add_space_type_loads'],
493
+ add_daylighting_controls: nil, # not exposed in user measure args
494
+ add_elevators: args['add_elevators'],
495
+ add_internal_mass: args['add_internal_mass'],
496
+ add_exterior_lights: args['add_exterior_lights'],
497
+ onsite_parking_fraction: args['onsite_parking_fraction'],
498
+ add_exhaust: args['add_exhaust'],
499
+ add_swh: args['add_swh'],
500
+ add_thermostat: args['add_thermostat'],
501
+ add_refrigeration: args['add_refrigeration'],
502
+ modify_wkdy_op_hrs: args['modify_wkdy_op_hrs'],
503
+ wkdy_op_hrs_start_time: args['wkdy_op_hrs_start_time'],
504
+ wkdy_op_hrs_duration: args['wkdy_op_hrs_duration'],
505
+ modify_wknd_op_hrs: args['modify_wknd_op_hrs'],
506
+ wknd_op_hrs_start_time: args['wknd_op_hrs_start_time'],
507
+ wknd_op_hrs_duration: args['wknd_op_hrs_duration'],
508
+ hoo_var_method: nil, # not exposed in user measure args
509
+ enable_dst: args['enable_dst'],
510
+ unmet_hours_tolerance_r: args['unmet_hours_tolerance'],
511
+ remove_objects: args['remove_objects'],
512
+ user_hvac_mapping: nil, # not exposed in this measure yet?
513
+ sizing_run_directory: nil) # not exposed in user measure args
514
+
515
+ # gather log
516
+ log_messages_to_runner(runner, debug)
517
+ reset_log
452
518
 
453
519
  if result == false
454
520
  return false