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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/Gemfile +12 -5
- data/Jenkinsfile +1 -1
- data/README.md +2 -0
- data/lib/measures/SimplifyGeometryToSlicedBar/measure.rb +32 -37
- data/lib/measures/SimplifyGeometryToSlicedBar/measure.xml +34 -80
- data/lib/measures/SimplifyGeometryToSlicedBar/resources/os_lib_cofee.rb +10 -9
- data/lib/measures/SpaceTypeAndConstructionSetWizard/measure.rb +10 -13
- data/lib/measures/SpaceTypeAndConstructionSetWizard/measure.xml +28 -28
- data/lib/measures/blended_space_type_from_floor_area_ratios/measure.rb +31 -14
- data/lib/measures/blended_space_type_from_floor_area_ratios/measure.xml +36 -36
- data/lib/measures/blended_space_type_from_model/measure.rb +12 -5
- data/lib/measures/blended_space_type_from_model/measure.xml +47 -47
- data/lib/measures/create_DOE_prototype_building/measure.rb +1 -1
- data/lib/measures/create_DOE_prototype_building/measure.xml +19 -875
- data/lib/measures/create_bar_from_building_type_ratios/README.md +2 -13
- data/lib/measures/create_bar_from_building_type_ratios/measure.rb +122 -30
- data/lib/measures/create_bar_from_building_type_ratios/measure.xml +108 -349
- data/lib/measures/create_bar_from_deer_building_type_ratios/README.md +21 -1
- data/lib/measures/create_bar_from_deer_building_type_ratios/measure.rb +120 -18
- data/lib/measures/create_bar_from_deer_building_type_ratios/measure.xml +94 -32
- data/lib/measures/create_bar_from_doe_building_type_ratios/measure.rb +127 -18
- data/lib/measures/create_bar_from_doe_building_type_ratios/measure.xml +48 -26
- data/lib/measures/create_bar_from_model/measure.rb +17 -18
- data/lib/measures/create_bar_from_model/measure.xml +41 -41
- data/lib/measures/create_bar_from_space_type_ratios/README.md +1 -1
- data/lib/measures/create_bar_from_space_type_ratios/measure.rb +94 -14
- data/lib/measures/create_bar_from_space_type_ratios/measure.xml +104 -63
- data/lib/measures/create_baseline_building/measure.xml +33 -33
- data/lib/measures/create_deer_prototype_building/measure.xml +15 -15
- data/lib/measures/create_parametric_schedules/measure.rb +17 -20
- data/lib/measures/create_parametric_schedules/measure.xml +15 -15
- data/lib/measures/create_typical_building_from_model/README.md +16 -16
- data/lib/measures/create_typical_building_from_model/measure.rb +84 -18
- data/lib/measures/create_typical_building_from_model/measure.xml +159 -211
- data/lib/measures/create_typical_deer_building_from_model/README.md +38 -5
- data/lib/measures/create_typical_deer_building_from_model/measure.rb +84 -12
- data/lib/measures/create_typical_deer_building_from_model/measure.xml +165 -65
- data/lib/measures/create_typical_doe_building_from_model/README.md +17 -4
- data/lib/measures/create_typical_doe_building_from_model/measure.rb +84 -12
- data/lib/measures/create_typical_doe_building_from_model/measure.xml +125 -65
- data/lib/measures/deer_space_type_and_construction_set_wizard/measure.rb +13 -16
- data/lib/measures/deer_space_type_and_construction_set_wizard/measure.xml +72 -29
- data/lib/measures/make_shading_surfaces_based_on_zone_multipliers/measure.rb +4 -4
- data/lib/measures/make_shading_surfaces_based_on_zone_multipliers/measure.xml +21 -21
- data/lib/measures/merge_spaces_from_external_file/measure.rb +4 -4
- data/lib/measures/merge_spaces_from_external_file/measure.xml +34 -34
- data/lib/measures/radiant_slab_with_doas/README.md +0 -8
- data/lib/measures/radiant_slab_with_doas/measure.rb +2 -11
- data/lib/measures/radiant_slab_with_doas/measure.xml +31 -40
- data/lib/measures/replace_geometry_by_story/measure.rb +6 -10
- data/lib/measures/replace_geometry_by_story/measure.xml +19 -19
- data/lib/measures/set_nist_infiltration_correlations/measure.rb +34 -25
- data/lib/measures/set_nist_infiltration_correlations/measure.xml +38 -38
- data/lib/openstudio/model_articulation/version.rb +1 -1
- data/openstudio-model-articulation.gemspec +11 -4
- metadata +69 -16
- data/lib/measures/SimplifyGeometryToSlicedBar/resources/os_lib_geometry.rb +0 -1174
- data/lib/measures/SimplifyGeometryToSlicedBar/resources/os_lib_helper_methods.rb +0 -367
- 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.
|
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>
|
805
|
-
<filetype>
|
806
|
-
<usage_type>
|
807
|
-
<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>
|
817
|
-
<filetype>
|
818
|
-
<usage_type>
|
819
|
-
<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
|
12
|
-
require 'openstudio-
|
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 =
|
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 =
|
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 =
|
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 =
|
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 =
|
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 =
|
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 =
|
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 =
|
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 =
|
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 =
|
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 =
|
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 =
|
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 =
|
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.
|
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>
|
7
|
-
<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>
|
304
|
-
<filetype>
|
305
|
-
<usage_type>
|
306
|
-
<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>
|
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>
|
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
|
-
#
|
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 =
|
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
|