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
@@ -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
|
-
|
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
|
-
|
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
|
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 =
|
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.
|
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>
|
7
|
-
<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>
|
1199
|
-
<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>
|
1296
|
+
<checksum>E27658D5</checksum>
|
1202
1297
|
</file>
|
1203
1298
|
<file>
|
1204
|
-
<filename>
|
1299
|
+
<filename>LargeOffice04.osm</filename>
|
1205
1300
|
<filetype>osm</filetype>
|
1206
1301
|
<usage_type>test</usage_type>
|
1207
|
-
<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>
|
1311
|
+
<filename>SmallOffice.osm</filename>
|
1217
1312
|
<filetype>osm</filetype>
|
1218
1313
|
<usage_type>test</usage_type>
|
1219
|
-
<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>
|
1329
|
+
<filename>asm.osm</filename>
|
1241
1330
|
<filetype>osm</filetype>
|
1242
1331
|
<usage_type>test</usage_type>
|
1243
|
-
<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('
|
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('
|
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('
|
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
|
-
|
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
|