openstudio-model-articulation 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|