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
@@ -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>deer_space_type_and_construction_set_wizard</name>
|
5
5
|
<uid>d8effcbd-52b2-4e5c-866c-e85091142aa6</uid>
|
6
|
-
<version_id>
|
7
|
-
<version_modified>
|
6
|
+
<version_id>0960390f-d8e0-460d-8354-b1c1be0e23ac</version_id>
|
7
|
+
<version_modified>2024-05-20T07:54:33Z</version_modified>
|
8
8
|
<xml_checksum>A514F332</xml_checksum>
|
9
9
|
<class_name>DEERSpaceTypeAndConstructionSetWizard</class_name>
|
10
10
|
<display_name>DEER Space Type and Construction Set Wizard</display_name>
|
@@ -17,6 +17,7 @@
|
|
17
17
|
<type>Choice</type>
|
18
18
|
<required>true</required>
|
19
19
|
<model_dependent>false</model_dependent>
|
20
|
+
<default_value>Asm</default_value>
|
20
21
|
<choices>
|
21
22
|
<choice>
|
22
23
|
<value>Asm</value>
|
@@ -134,6 +135,7 @@
|
|
134
135
|
<type>Choice</type>
|
135
136
|
<required>true</required>
|
136
137
|
<model_dependent>false</model_dependent>
|
138
|
+
<default_value>DEER 2017</default_value>
|
137
139
|
<choices>
|
138
140
|
<choice>
|
139
141
|
<value>DEER Pre-1975</value>
|
@@ -175,6 +177,46 @@
|
|
175
177
|
<value>DEER 2020</value>
|
176
178
|
<display_name>DEER 2020</display_name>
|
177
179
|
</choice>
|
180
|
+
<choice>
|
181
|
+
<value>ComStock DEER Pre-1975</value>
|
182
|
+
<display_name>ComStock DEER Pre-1975</display_name>
|
183
|
+
</choice>
|
184
|
+
<choice>
|
185
|
+
<value>ComStock DEER 1985</value>
|
186
|
+
<display_name>ComStock DEER 1985</display_name>
|
187
|
+
</choice>
|
188
|
+
<choice>
|
189
|
+
<value>ComStock DEER 1996</value>
|
190
|
+
<display_name>ComStock DEER 1996</display_name>
|
191
|
+
</choice>
|
192
|
+
<choice>
|
193
|
+
<value>ComStock DEER 2003</value>
|
194
|
+
<display_name>ComStock DEER 2003</display_name>
|
195
|
+
</choice>
|
196
|
+
<choice>
|
197
|
+
<value>ComStock DEER 2007</value>
|
198
|
+
<display_name>ComStock DEER 2007</display_name>
|
199
|
+
</choice>
|
200
|
+
<choice>
|
201
|
+
<value>ComStock DEER 2011</value>
|
202
|
+
<display_name>ComStock DEER 2011</display_name>
|
203
|
+
</choice>
|
204
|
+
<choice>
|
205
|
+
<value>ComStock DEER 2014</value>
|
206
|
+
<display_name>ComStock DEER 2014</display_name>
|
207
|
+
</choice>
|
208
|
+
<choice>
|
209
|
+
<value>ComStock DEER 2015</value>
|
210
|
+
<display_name>ComStock DEER 2015</display_name>
|
211
|
+
</choice>
|
212
|
+
<choice>
|
213
|
+
<value>ComStock DEER 2017</value>
|
214
|
+
<display_name>ComStock DEER 2017</display_name>
|
215
|
+
</choice>
|
216
|
+
<choice>
|
217
|
+
<value>ComStock DEER 2020</value>
|
218
|
+
<display_name>ComStock DEER 2020</display_name>
|
219
|
+
</choice>
|
178
220
|
</choices>
|
179
221
|
</argument>
|
180
222
|
<argument>
|
@@ -183,6 +225,7 @@
|
|
183
225
|
<type>Choice</type>
|
184
226
|
<required>true</required>
|
185
227
|
<model_dependent>false</model_dependent>
|
228
|
+
<default_value>CEC T24-CEC8</default_value>
|
186
229
|
<choices>
|
187
230
|
<choice>
|
188
231
|
<value>CEC T24-CEC1</value>
|
@@ -324,16 +367,16 @@
|
|
324
367
|
</attributes>
|
325
368
|
<files>
|
326
369
|
<file>
|
327
|
-
<filename>
|
328
|
-
<filetype>
|
329
|
-
<usage_type>
|
330
|
-
<checksum>
|
370
|
+
<filename>LICENSE.md</filename>
|
371
|
+
<filetype>md</filetype>
|
372
|
+
<usage_type>license</usage_type>
|
373
|
+
<checksum>BFFB1AA6</checksum>
|
331
374
|
</file>
|
332
375
|
<file>
|
333
|
-
<filename>
|
334
|
-
<filetype>
|
335
|
-
<usage_type>
|
336
|
-
<checksum>
|
376
|
+
<filename>README.md</filename>
|
377
|
+
<filetype>md</filetype>
|
378
|
+
<usage_type>readme</usage_type>
|
379
|
+
<checksum>DA87BC3D</checksum>
|
337
380
|
</file>
|
338
381
|
<file>
|
339
382
|
<filename>README.md.erb</filename>
|
@@ -342,10 +385,15 @@
|
|
342
385
|
<checksum>703C9964</checksum>
|
343
386
|
</file>
|
344
387
|
<file>
|
345
|
-
<
|
346
|
-
|
347
|
-
|
348
|
-
|
388
|
+
<version>
|
389
|
+
<software_program>OpenStudio</software_program>
|
390
|
+
<identifier>2.0.0</identifier>
|
391
|
+
<min_compatible>3.8.0</min_compatible>
|
392
|
+
</version>
|
393
|
+
<filename>measure.rb</filename>
|
394
|
+
<filetype>rb</filetype>
|
395
|
+
<usage_type>script</usage_type>
|
396
|
+
<checksum>D15EF711</checksum>
|
349
397
|
</file>
|
350
398
|
<file>
|
351
399
|
<filename>design_doc.txt</filename>
|
@@ -354,27 +402,22 @@
|
|
354
402
|
<checksum>86154A1B</checksum>
|
355
403
|
</file>
|
356
404
|
<file>
|
357
|
-
<filename>
|
358
|
-
<filetype>
|
359
|
-
<usage_type>
|
360
|
-
<checksum>
|
405
|
+
<filename>EmptySeedModel.osm</filename>
|
406
|
+
<filetype>osm</filetype>
|
407
|
+
<usage_type>test</usage_type>
|
408
|
+
<checksum>50769D09</checksum>
|
361
409
|
</file>
|
362
410
|
<file>
|
363
411
|
<filename>deer_space_type_and_construction_set_wizard_Test.rb</filename>
|
364
412
|
<filetype>rb</filetype>
|
365
413
|
<usage_type>test</usage_type>
|
366
|
-
<checksum>
|
414
|
+
<checksum>7BFB1B49</checksum>
|
367
415
|
</file>
|
368
416
|
<file>
|
369
|
-
<
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
</version>
|
374
|
-
<filename>measure.rb</filename>
|
375
|
-
<filetype>rb</filetype>
|
376
|
-
<usage_type>script</usage_type>
|
377
|
-
<checksum>94916FFD</checksum>
|
417
|
+
<filename>two_story_bar.osm</filename>
|
418
|
+
<filetype>osm</filetype>
|
419
|
+
<usage_type>test</usage_type>
|
420
|
+
<checksum>85FF42E2</checksum>
|
378
421
|
</file>
|
379
422
|
</files>
|
380
423
|
</measure>
|
@@ -6,9 +6,8 @@
|
|
6
6
|
# see the URL below for information on how to write OpenStudio measures
|
7
7
|
# http://nrel.github.io/OpenStudio-user-documentation/reference/measure_writing_guide/
|
8
8
|
|
9
|
-
# load
|
10
|
-
require 'openstudio-
|
11
|
-
require 'openstudio/extension/core/os_lib_helper_methods'
|
9
|
+
# load openstudio-standards gem
|
10
|
+
require 'openstudio-standards'
|
12
11
|
|
13
12
|
# start the measure
|
14
13
|
class MakeShadingSurfacesBasedOnZoneMultipliers < OpenStudio::Measure::ModelMeasure
|
@@ -65,7 +64,8 @@ class MakeShadingSurfacesBasedOnZoneMultipliers < OpenStudio::Measure::ModelMeas
|
|
65
64
|
super(model, runner, user_arguments)
|
66
65
|
|
67
66
|
# assign the user inputs to variables
|
68
|
-
args =
|
67
|
+
args = runner.getArgumentValues(arguments(model), user_arguments)
|
68
|
+
args = Hash[args.collect{ |k, v| [k.to_s, v] }]
|
69
69
|
if !args then return false end
|
70
70
|
|
71
71
|
# report initial condition of model
|
@@ -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>make_shading_surfaces_based_on_zone_multipliers</name>
|
5
5
|
<uid>57d7314d-2ff0-4c13-bf07-b63380bfdea6</uid>
|
6
|
-
<version_id>
|
7
|
-
<version_modified>
|
6
|
+
<version_id>1e35bf48-3f72-42df-8196-842f3f498e8f</version_id>
|
7
|
+
<version_modified>2024-05-20T07:54:31Z</version_modified>
|
8
8
|
<xml_checksum>2AF3A68E</xml_checksum>
|
9
9
|
<class_name>MakeShadingSurfacesBasedOnZoneMultipliers</class_name>
|
10
10
|
<display_name>Make Shading Surfaces Based on Zone Multipliers</display_name>
|
@@ -59,16 +59,10 @@
|
|
59
59
|
</attributes>
|
60
60
|
<files>
|
61
61
|
<file>
|
62
|
-
<filename>
|
63
|
-
<filetype>
|
64
|
-
<usage_type>
|
65
|
-
<checksum>
|
66
|
-
</file>
|
67
|
-
<file>
|
68
|
-
<filename>1003_LargeHotel_5b_2010.osm</filename>
|
69
|
-
<filetype>osm</filetype>
|
70
|
-
<usage_type>test</usage_type>
|
71
|
-
<checksum>79D66118</checksum>
|
62
|
+
<filename>LICENSE.md</filename>
|
63
|
+
<filetype>md</filetype>
|
64
|
+
<usage_type>license</usage_type>
|
65
|
+
<checksum>BFFB1AA6</checksum>
|
72
66
|
</file>
|
73
67
|
<file>
|
74
68
|
<filename>README.md</filename>
|
@@ -82,22 +76,28 @@
|
|
82
76
|
<usage_type>readmeerb</usage_type>
|
83
77
|
<checksum>703C9964</checksum>
|
84
78
|
</file>
|
85
|
-
<file>
|
86
|
-
<filename>LICENSE.md</filename>
|
87
|
-
<filetype>md</filetype>
|
88
|
-
<usage_type>license</usage_type>
|
89
|
-
<checksum>BFFB1AA6</checksum>
|
90
|
-
</file>
|
91
79
|
<file>
|
92
80
|
<version>
|
93
81
|
<software_program>OpenStudio</software_program>
|
94
82
|
<identifier>2.0.0</identifier>
|
95
|
-
<min_compatible>
|
83
|
+
<min_compatible>3.8.0</min_compatible>
|
96
84
|
</version>
|
97
85
|
<filename>measure.rb</filename>
|
98
86
|
<filetype>rb</filetype>
|
99
87
|
<usage_type>script</usage_type>
|
100
|
-
<checksum>
|
88
|
+
<checksum>4E2B7893</checksum>
|
89
|
+
</file>
|
90
|
+
<file>
|
91
|
+
<filename>1003_LargeHotel_5b_2010.osm</filename>
|
92
|
+
<filetype>osm</filetype>
|
93
|
+
<usage_type>test</usage_type>
|
94
|
+
<checksum>79D66118</checksum>
|
95
|
+
</file>
|
96
|
+
<file>
|
97
|
+
<filename>1003_LargeOffice_5b_Pre 1980.osm</filename>
|
98
|
+
<filetype>osm</filetype>
|
99
|
+
<usage_type>test</usage_type>
|
100
|
+
<checksum>7908DE91</checksum>
|
101
101
|
</file>
|
102
102
|
<file>
|
103
103
|
<filename>make_shading_surfaces_based_on_zone_multipliers_test.rb</filename>
|
@@ -6,9 +6,8 @@
|
|
6
6
|
# see the URL below for information on how to write OpenStudio measures
|
7
7
|
# http://nrel.github.io/OpenStudio-user-documentation/reference/measure_writing_guide/
|
8
8
|
|
9
|
-
# load
|
10
|
-
require 'openstudio-
|
11
|
-
require 'openstudio/extension/core/os_lib_helper_methods'
|
9
|
+
# load openstudio-standards gem
|
10
|
+
require 'openstudio-standards'
|
12
11
|
|
13
12
|
require_relative 'resources/ScheduleTranslator'
|
14
13
|
|
@@ -208,7 +207,8 @@ class MergeSpacesFromExternalFile < OpenStudio::Measure::ModelMeasure
|
|
208
207
|
end
|
209
208
|
|
210
209
|
# assign the user inputs to variables
|
211
|
-
args =
|
210
|
+
args = runner.getArgumentValues(arguments(model), user_arguments)
|
211
|
+
args = Hash[args.collect{ |k, v| [k.to_s, v] }]
|
212
212
|
if !args then return false end
|
213
213
|
|
214
214
|
# initial condition
|
@@ -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>merge_spaces_from_external_file</name>
|
5
5
|
<uid>e439a1a9-d075-4a25-9f83-2dca79d2826e</uid>
|
6
|
-
<version_id>
|
7
|
-
<version_modified>
|
6
|
+
<version_id>71ac22f4-54ee-4480-ba2e-56e6c36d696f</version_id>
|
7
|
+
<version_modified>2024-05-20T07:54:35Z</version_modified>
|
8
8
|
<xml_checksum>D8922A73</xml_checksum>
|
9
9
|
<class_name>MergeSpacesFromExternalFile</class_name>
|
10
10
|
<display_name>Merge Spaces from External File</display_name>
|
@@ -182,22 +182,16 @@
|
|
182
182
|
</attributes>
|
183
183
|
<files>
|
184
184
|
<file>
|
185
|
-
<filename>
|
186
|
-
<filetype>
|
187
|
-
<usage_type>
|
188
|
-
<checksum>
|
189
|
-
</file>
|
190
|
-
<file>
|
191
|
-
<filename>current_model_test.osm</filename>
|
192
|
-
<filetype>osm</filetype>
|
193
|
-
<usage_type>test</usage_type>
|
194
|
-
<checksum>2F818B1A</checksum>
|
185
|
+
<filename>LICENSE.md</filename>
|
186
|
+
<filetype>md</filetype>
|
187
|
+
<usage_type>license</usage_type>
|
188
|
+
<checksum>BFFB1AA6</checksum>
|
195
189
|
</file>
|
196
190
|
<file>
|
197
|
-
<filename>
|
198
|
-
<filetype>
|
199
|
-
<usage_type>
|
200
|
-
<checksum>
|
191
|
+
<filename>README.md</filename>
|
192
|
+
<filetype>md</filetype>
|
193
|
+
<usage_type>readme</usage_type>
|
194
|
+
<checksum>90DBF164</checksum>
|
201
195
|
</file>
|
202
196
|
<file>
|
203
197
|
<filename>README.md.erb</filename>
|
@@ -206,10 +200,15 @@
|
|
206
200
|
<checksum>703C9964</checksum>
|
207
201
|
</file>
|
208
202
|
<file>
|
209
|
-
<
|
210
|
-
|
211
|
-
|
212
|
-
|
203
|
+
<version>
|
204
|
+
<software_program>OpenStudio</software_program>
|
205
|
+
<identifier>2.0.4</identifier>
|
206
|
+
<min_compatible>3.8.0</min_compatible>
|
207
|
+
</version>
|
208
|
+
<filename>measure.rb</filename>
|
209
|
+
<filetype>rb</filetype>
|
210
|
+
<usage_type>script</usage_type>
|
211
|
+
<checksum>C7B7CC3E</checksum>
|
213
212
|
</file>
|
214
213
|
<file>
|
215
214
|
<filename>ScheduleTranslator.rb</filename>
|
@@ -218,21 +217,22 @@
|
|
218
217
|
<checksum>8EB6C501</checksum>
|
219
218
|
</file>
|
220
219
|
<file>
|
221
|
-
<filename>
|
222
|
-
<filetype>
|
223
|
-
<usage_type>
|
224
|
-
<checksum>
|
220
|
+
<filename>current_model_test.osm</filename>
|
221
|
+
<filetype>osm</filetype>
|
222
|
+
<usage_type>test</usage_type>
|
223
|
+
<checksum>2F818B1A</checksum>
|
225
224
|
</file>
|
226
225
|
<file>
|
227
|
-
<
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
<
|
234
|
-
<
|
235
|
-
<
|
226
|
+
<filename>external_model_test.osm</filename>
|
227
|
+
<filetype>osm</filetype>
|
228
|
+
<usage_type>test</usage_type>
|
229
|
+
<checksum>637A1436</checksum>
|
230
|
+
</file>
|
231
|
+
<file>
|
232
|
+
<filename>measure_test.osw</filename>
|
233
|
+
<filetype>osw</filetype>
|
234
|
+
<usage_type>test</usage_type>
|
235
|
+
<checksum>F5FABCCF</checksum>
|
236
236
|
</file>
|
237
237
|
<file>
|
238
238
|
<filename>merge_spaces_from_external_file_test.rb</filename>
|
@@ -95,14 +95,6 @@ Only applicable in radiant floor systems. This will greatly reduce system effect
|
|
95
95
|
**Required:** true,
|
96
96
|
**Model Dependent:** false
|
97
97
|
|
98
|
-
### Minimum Operating Hours
|
99
|
-
Fractional Hours Allowed, e.g. 30 min = 0.5
|
100
|
-
**Name:** minimum_operation,
|
101
|
-
**Type:** Double,
|
102
|
-
**Units:** ,
|
103
|
-
**Required:** true,
|
104
|
-
**Model Dependent:** false
|
105
|
-
|
106
98
|
### Switch Over Time
|
107
99
|
Minimum time limitation for when the system can switch between heating and cooling. Fractional hours allowed, e.g. 30 min = 0.5.
|
108
100
|
**Name:** switch_over_time,
|
@@ -103,13 +103,6 @@ To reduce unmet hours, use an expanded comfort range as mentioned above, remove
|
|
103
103
|
proportional_gain.setDefaultValue(0.3)
|
104
104
|
args << proportional_gain
|
105
105
|
|
106
|
-
# make an argument for minimum operating hours
|
107
|
-
minimum_operation = OpenStudio::Measure::OSArgument.makeDoubleArgument('minimum_operation', true)
|
108
|
-
minimum_operation.setDisplayName('Minimum Operating Hours')
|
109
|
-
minimum_operation.setDescription('Fractional Hours Allowed, e.g. 30 min = 0.5')
|
110
|
-
minimum_operation.setDefaultValue(1.0)
|
111
|
-
args << minimum_operation
|
112
|
-
|
113
106
|
# make an argument for switch over time
|
114
107
|
switch_over_time = OpenStudio::Measure::OSArgument.makeDoubleArgument('switch_over_time', true)
|
115
108
|
switch_over_time.setDisplayName('Switch Over Time')
|
@@ -176,7 +169,6 @@ To reduce unmet hours, use an expanded comfort range as mentioned above, remove
|
|
176
169
|
include_carpet = runner.getBoolArgumentValue('include_carpet', user_arguments)
|
177
170
|
control_strategy = runner.getStringArgumentValue('control_strategy', user_arguments)
|
178
171
|
proportional_gain = runner.getDoubleArgumentValue('proportional_gain', user_arguments)
|
179
|
-
minimum_operation = runner.getDoubleArgumentValue('minimum_operation', user_arguments)
|
180
172
|
switch_over_time = runner.getDoubleArgumentValue('switch_over_time', user_arguments)
|
181
173
|
radiant_lockout = runner.getBoolArgumentValue('radiant_lockout', user_arguments)
|
182
174
|
lockout_start_time = runner.getDoubleArgumentValue('lockout_start_time', user_arguments)
|
@@ -200,8 +192,8 @@ To reduce unmet hours, use an expanded comfort range as mentioned above, remove
|
|
200
192
|
# exclude plenum zones, zones without thermostats, and zones with no floor area
|
201
193
|
conditioned_zones = []
|
202
194
|
model.getThermalZones.each do |zone|
|
203
|
-
next if
|
204
|
-
next if !
|
195
|
+
next if OpenstudioStandards::ThermalZone.thermal_zone_plenum?(zone)
|
196
|
+
next if !OpenstudioStandards::ThermalZone.thermal_zone_heated?(zone) && !OpenstudioStandards::ThermalZone.thermal_zone_cooled?(zone)
|
205
197
|
|
206
198
|
conditioned_zones << zone
|
207
199
|
end
|
@@ -289,7 +281,6 @@ To reduce unmet hours, use an expanded comfort range as mentioned above, remove
|
|
289
281
|
include_carpet: include_carpet,
|
290
282
|
control_strategy: control_strategy,
|
291
283
|
proportional_gain: proportional_gain,
|
292
|
-
minimum_operation: minimum_operation,
|
293
284
|
switch_over_time: switch_over_time,
|
294
285
|
radiant_lockout: radiant_lockout,
|
295
286
|
radiant_lockout_start_time: lockout_start_time,
|
@@ -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>radiant_slab_with_doas</name>
|
5
5
|
<uid>8091a0c3-7760-4da6-adf4-133d55872816</uid>
|
6
|
-
<version_id>
|
7
|
-
<version_modified>
|
6
|
+
<version_id>2d8c6102-68c6-4861-a52c-3d7215d1299e</version_id>
|
7
|
+
<version_modified>2024-05-20T07:54:32Z</version_modified>
|
8
8
|
<xml_checksum>C49A7DAB</xml_checksum>
|
9
9
|
<class_name>RadiantSlabWithDoas</class_name>
|
10
10
|
<display_name>Radiant Slab with DOAS</display_name>
|
@@ -158,15 +158,6 @@ To reduce unmet hours, use an expanded comfort range as mentioned above, remove
|
|
158
158
|
<model_dependent>false</model_dependent>
|
159
159
|
<default_value>0.3</default_value>
|
160
160
|
</argument>
|
161
|
-
<argument>
|
162
|
-
<name>minimum_operation</name>
|
163
|
-
<display_name>Minimum Operating Hours</display_name>
|
164
|
-
<description>Fractional Hours Allowed, e.g. 30 min = 0.5</description>
|
165
|
-
<type>Double</type>
|
166
|
-
<required>true</required>
|
167
|
-
<model_dependent>false</model_dependent>
|
168
|
-
<default_value>1</default_value>
|
169
|
-
</argument>
|
170
161
|
<argument>
|
171
162
|
<name>switch_over_time</name>
|
172
163
|
<display_name>Switch Over Time</display_name>
|
@@ -283,12 +274,35 @@ To reduce unmet hours, use an expanded comfort range as mentioned above, remove
|
|
283
274
|
</attribute>
|
284
275
|
</attributes>
|
285
276
|
<files>
|
277
|
+
<file>
|
278
|
+
<filename>LICENSE.md</filename>
|
279
|
+
<filetype>md</filetype>
|
280
|
+
<usage_type>license</usage_type>
|
281
|
+
<checksum>BFFB1AA6</checksum>
|
282
|
+
</file>
|
283
|
+
<file>
|
284
|
+
<filename>README.md</filename>
|
285
|
+
<filetype>md</filetype>
|
286
|
+
<usage_type>readme</usage_type>
|
287
|
+
<checksum>9B9C0291</checksum>
|
288
|
+
</file>
|
286
289
|
<file>
|
287
290
|
<filename>README.md.erb</filename>
|
288
291
|
<filetype>erb</filetype>
|
289
292
|
<usage_type>readmeerb</usage_type>
|
290
293
|
<checksum>703C9964</checksum>
|
291
294
|
</file>
|
295
|
+
<file>
|
296
|
+
<version>
|
297
|
+
<software_program>OpenStudio</software_program>
|
298
|
+
<identifier>2.9.0</identifier>
|
299
|
+
<min_compatible>2.9.0</min_compatible>
|
300
|
+
</version>
|
301
|
+
<filename>measure.rb</filename>
|
302
|
+
<filetype>rb</filetype>
|
303
|
+
<usage_type>script</usage_type>
|
304
|
+
<checksum>08122A36</checksum>
|
305
|
+
</file>
|
292
306
|
<file>
|
293
307
|
<filename>USA_CA_San.Francisco.Intl.AP.724940_TMY3.epw</filename>
|
294
308
|
<filetype>epw</filetype>
|
@@ -307,40 +321,17 @@ To reduce unmet hours, use an expanded comfort range as mentioned above, remove
|
|
307
321
|
<usage_type>test</usage_type>
|
308
322
|
<checksum>7CBAD8AA</checksum>
|
309
323
|
</file>
|
310
|
-
<file>
|
311
|
-
<filename>single_zone_office_5A.osm</filename>
|
312
|
-
<filetype>osm</filetype>
|
313
|
-
<usage_type>test</usage_type>
|
314
|
-
<checksum>44FD3DF2</checksum>
|
315
|
-
</file>
|
316
|
-
<file>
|
317
|
-
<filename>README.md</filename>
|
318
|
-
<filetype>md</filetype>
|
319
|
-
<usage_type>readme</usage_type>
|
320
|
-
<checksum>8618B20F</checksum>
|
321
|
-
</file>
|
322
|
-
<file>
|
323
|
-
<filename>LICENSE.md</filename>
|
324
|
-
<filetype>md</filetype>
|
325
|
-
<usage_type>license</usage_type>
|
326
|
-
<checksum>BFFB1AA6</checksum>
|
327
|
-
</file>
|
328
324
|
<file>
|
329
325
|
<filename>radiant_slab_with_doas_test.rb</filename>
|
330
326
|
<filetype>rb</filetype>
|
331
327
|
<usage_type>test</usage_type>
|
332
|
-
<checksum>
|
328
|
+
<checksum>FAE2E364</checksum>
|
333
329
|
</file>
|
334
330
|
<file>
|
335
|
-
<
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
</version>
|
340
|
-
<filename>measure.rb</filename>
|
341
|
-
<filetype>rb</filetype>
|
342
|
-
<usage_type>script</usage_type>
|
343
|
-
<checksum>BE3F5928</checksum>
|
331
|
+
<filename>single_zone_office_5A.osm</filename>
|
332
|
+
<filetype>osm</filetype>
|
333
|
+
<usage_type>test</usage_type>
|
334
|
+
<checksum>44FD3DF2</checksum>
|
344
335
|
</file>
|
345
336
|
</files>
|
346
337
|
</measure>
|
@@ -6,14 +6,11 @@
|
|
6
6
|
# see the URL below for information on how to write OpenStudio measures
|
7
7
|
# http://nrel.github.io/OpenStudio-user-documentation/reference/measure_writing_guide/
|
8
8
|
|
9
|
-
# load
|
10
|
-
require 'openstudio-
|
11
|
-
require 'openstudio/extension/core/os_lib_geometry'
|
9
|
+
# load openstudio-standards gem
|
10
|
+
require 'openstudio-standards'
|
12
11
|
|
13
12
|
# start the measure
|
14
13
|
class ReplaceGeometryByStory < OpenStudio::Measure::ModelMeasure
|
15
|
-
# resource file modules
|
16
|
-
include OsLib_Geometry
|
17
14
|
|
18
15
|
# human readable name
|
19
16
|
def name
|
@@ -145,7 +142,7 @@ class ReplaceGeometryByStory < OpenStudio::Measure::ModelMeasure
|
|
145
142
|
combined_polygons = combined_polygons.first
|
146
143
|
|
147
144
|
# get target wwr
|
148
|
-
target_wwr =
|
145
|
+
target_wwr = OpenstudioStandards::Geometry.model_get_exterior_window_to_wall_ratio(model)
|
149
146
|
runner.registerInfo("Initial window to wall ratio is #{target_wwr}")
|
150
147
|
|
151
148
|
# remove geometry
|
@@ -159,11 +156,10 @@ class ReplaceGeometryByStory < OpenStudio::Measure::ModelMeasure
|
|
159
156
|
options['name'] = story.name.get
|
160
157
|
options['spaceType'] = space_type
|
161
158
|
options['story'] = story
|
162
|
-
options['
|
163
|
-
options['
|
159
|
+
options['make_thermal_zone'] = true
|
160
|
+
options['thermal_zone_multiplier'] = hash[:multipliers].min
|
164
161
|
options['floor_to_floor_height'] = story.nominalFloortoFloorHeight.get
|
165
|
-
space =
|
166
|
-
space.setZOrigin(story.nominalZCoordinate.get)
|
162
|
+
space = OpenstudioStandards::Geometry.create_space_from_polygon(model, OpenStudio::Point3d.new(0, 0, 0), combined_polygons, options)
|
167
163
|
|
168
164
|
# make ext walls ground if original space had any ground exposed walls
|
169
165
|
if hash[:basement]
|