openstudio-model-articulation 0.4.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -1
  3. data/CHANGELOG.md +24 -0
  4. data/Gemfile +2 -2
  5. data/README.md +22 -3
  6. data/lib/measures/AssignConstructionSetToBuilding/measure.xml +10 -10
  7. data/lib/measures/AssignSpaceTypeBySpaceName/measure.xml +27 -9
  8. data/lib/measures/AssignSpaceTypeToBuilding/measure.xml +10 -10
  9. data/lib/measures/AssignSpacesToStories/measure.rb +2 -4
  10. data/lib/measures/AssignSpacesToStories/measure.xml +10 -10
  11. data/lib/measures/BarAspectRatioStudy/measure.rb +2 -1
  12. data/lib/measures/BarAspectRatioStudy/measure.xml +4 -4
  13. data/lib/measures/CleanupSpaceOrigins/measure.rb +3 -0
  14. data/lib/measures/CleanupSpaceOrigins/measure.xml +10 -10
  15. data/lib/measures/FindAndReplaceObjectNames/measure.xml +8 -8
  16. data/lib/measures/InjectOsmGeometryIntoAnExternalIdf/measure.rb +2 -2
  17. data/lib/measures/InjectOsmGeometryIntoAnExternalIdf/measure.xml +22 -4
  18. data/lib/measures/RemoveHardAssignedConstructions/measure.xml +8 -8
  19. data/lib/measures/RenameSpaceSurfacesBasedonParentSpaceandOrientation/measure.xml +37 -7
  20. data/lib/measures/RotateBuilding/measure.xml +8 -8
  21. data/lib/measures/SetExtWallToGroundBoundaryConditionByStory/measure.xml +13 -7
  22. data/lib/measures/SetInteriorWallsAndFloorsToAdiabatic/measure.rb +1 -1
  23. data/lib/measures/SetInteriorWallsAndFloorsToAdiabatic/measure.xml +10 -10
  24. data/lib/measures/SetInteriorWallsToSelectedConstruction/measure.rb +1 -1
  25. data/lib/measures/SetInteriorWallsToSelectedConstruction/measure.xml +10 -10
  26. data/lib/measures/SetWindowToWallRatioByFacade/README.md +11 -0
  27. data/lib/measures/SetWindowToWallRatioByFacade/measure.rb +90 -142
  28. data/lib/measures/SetWindowToWallRatioByFacade/measure.xml +32 -11
  29. data/lib/measures/SetWindowToWallRatioByFacade/resources/functions.rb +176 -0
  30. data/lib/measures/SimplifyGeometryToSlicedBar/measure.rb +8 -4
  31. data/lib/measures/SimplifyGeometryToSlicedBar/measure.xml +31 -13
  32. data/lib/measures/SimplifyGeometryToSlicedBar/resources/os_lib_cofee.rb +6 -4
  33. data/lib/measures/SimplifyGeometryToSlicedBar/resources/os_lib_geometry.rb +13 -8
  34. data/lib/measures/SimplifyGeometryToSlicedBar/resources/os_lib_helper_methods.rb +2 -4
  35. data/lib/measures/SpaceTypeAndConstructionSetWizard/measure.rb +1 -1
  36. data/lib/measures/SpaceTypeAndConstructionSetWizard/measure.xml +4 -4
  37. data/lib/measures/SurfaceMatching/measure.rb +1 -0
  38. data/lib/measures/SurfaceMatching/measure.xml +10 -10
  39. data/lib/measures/add_empd_material_properties/LICENSE.md +27 -0
  40. data/lib/measures/add_empd_material_properties/README.md +116 -0
  41. data/lib/measures/add_empd_material_properties/README.md.erb +42 -0
  42. data/lib/measures/add_empd_material_properties/docs/.gitkeep +0 -0
  43. data/lib/measures/add_empd_material_properties/measure.rb +247 -0
  44. data/lib/measures/add_empd_material_properties/measure.xml +201 -0
  45. data/lib/measures/blended_space_type_from_floor_area_ratios/measure.rb +4 -3
  46. data/lib/measures/blended_space_type_from_floor_area_ratios/measure.xml +4 -4
  47. data/lib/measures/blended_space_type_from_model/{resources → docs}/replace_occupied_spaces_with_blended_space_type_design_doc.txt +0 -0
  48. data/lib/measures/blended_space_type_from_model/measure.rb +11 -3
  49. data/lib/measures/blended_space_type_from_model/measure.xml +15 -21
  50. data/lib/measures/clone_building_from_external_model/measure.xml +3 -3
  51. data/lib/measures/create_DOE_prototype_building/measure.rb +2 -2
  52. data/lib/measures/create_DOE_prototype_building/measure.xml +442 -438
  53. data/lib/measures/create_and_assign_thermal_zones_for_unassigned_spaces/measure.xml +3 -3
  54. data/lib/measures/create_bar_from_building_type_ratios/README.md +109 -35
  55. data/lib/measures/create_bar_from_building_type_ratios/README.md.erb +54 -35
  56. data/lib/measures/create_bar_from_building_type_ratios/measure.rb +8 -3
  57. data/lib/measures/create_bar_from_building_type_ratios/measure.xml +12 -12
  58. data/lib/measures/create_bar_from_deer_building_type_ratios/README.md +301 -79
  59. data/lib/measures/create_bar_from_deer_building_type_ratios/README.md.erb +62 -79
  60. data/lib/measures/create_bar_from_deer_building_type_ratios/measure.rb +9 -4
  61. data/lib/measures/create_bar_from_deer_building_type_ratios/measure.xml +15 -59
  62. data/lib/measures/create_bar_from_doe_building_type_ratios/README.md +298 -57
  63. data/lib/measures/create_bar_from_doe_building_type_ratios/README.md.erb +54 -57
  64. data/lib/measures/create_bar_from_doe_building_type_ratios/measure.rb +9 -4
  65. data/lib/measures/create_bar_from_doe_building_type_ratios/measure.xml +12 -16
  66. data/lib/measures/create_bar_from_model/measure.rb +10 -6
  67. data/lib/measures/create_bar_from_model/measure.xml +4 -4
  68. data/lib/measures/create_bar_from_space_type_ratios/README.md +94 -42
  69. data/lib/measures/create_bar_from_space_type_ratios/README.md.erb +60 -42
  70. data/lib/measures/create_bar_from_space_type_ratios/measure.rb +8 -3
  71. data/lib/measures/create_bar_from_space_type_ratios/measure.xml +15 -15
  72. data/lib/measures/create_baseline_building/measure.rb +3 -2
  73. data/lib/measures/create_baseline_building/measure.xml +4 -4
  74. data/lib/measures/create_deer_prototype_building/measure.xml +3 -3
  75. data/lib/measures/create_parametric_schedules/measure.rb +15 -10
  76. data/lib/measures/create_parametric_schedules/measure.xml +4 -4
  77. data/lib/measures/create_typical_building_from_model/README.md +81 -16
  78. data/lib/measures/create_typical_building_from_model/README.md.erb +36 -16
  79. data/lib/measures/create_typical_building_from_model/measure.rb +6 -1
  80. data/lib/measures/create_typical_building_from_model/measure.xml +19 -19
  81. data/lib/measures/create_typical_deer_building_from_model/README.md +173 -53
  82. data/lib/measures/create_typical_deer_building_from_model/README.md.erb +57 -53
  83. data/lib/measures/create_typical_deer_building_from_model/measure.rb +7 -2
  84. data/lib/measures/create_typical_deer_building_from_model/measure.xml +26 -26
  85. data/lib/measures/create_typical_doe_building_from_model/README.md +182 -44
  86. data/lib/measures/create_typical_doe_building_from_model/README.md.erb +58 -44
  87. data/lib/measures/create_typical_doe_building_from_model/measure.rb +7 -2
  88. data/lib/measures/create_typical_doe_building_from_model/measure.xml +26 -26
  89. data/lib/measures/deer_space_type_and_construction_set_wizard/measure.rb +1 -1
  90. data/lib/measures/deer_space_type_and_construction_set_wizard/measure.xml +4 -4
  91. data/lib/measures/find_and_replace_in_all_thermal_zone_names/measure.xml +3 -3
  92. data/lib/measures/make_shading_surfaces_based_on_zone_multipliers/measure.rb +2 -0
  93. data/lib/measures/make_shading_surfaces_based_on_zone_multipliers/measure.xml +4 -4
  94. data/lib/measures/merge_floorspace_js_with_model/measure.rb +4 -1
  95. data/lib/measures/merge_floorspace_js_with_model/measure.xml +4 -4
  96. data/lib/measures/merge_spaces_from_external_file/measure.xml +3 -3
  97. data/lib/measures/radiance_measure/measure.rb +62 -56
  98. data/lib/measures/radiance_measure/measure.xml +4 -4
  99. data/lib/measures/radiant_slab_with_doas/measure.rb +8 -1
  100. data/lib/measures/radiant_slab_with_doas/measure.xml +9 -9
  101. data/lib/measures/replace_geometry_by_story/measure.rb +4 -0
  102. data/lib/measures/replace_geometry_by_story/measure.xml +4 -4
  103. data/lib/measures/scale_geometry/measure.xml +3 -3
  104. data/lib/openstudio/model_articulation/version.rb +1 -1
  105. data/openstudio-model-articulation.gemspec +2 -2
  106. metadata +15 -9
  107. data/lib/measures/blended_space_type_from_model/resources/os_lib_model_simplification.rb +0 -1049
@@ -13,9 +13,9 @@
13
13
  ## Measure Type
14
14
  <%= measureType %>
15
15
 
16
- [//]: # (Commenting out until it works in SDK)
17
- [//]: # (## Taxonomy)
18
- [//]: # (<%= taxonomy %>)
16
+ [//]: # (Only finds value if taxonomy method is added to measure.rb, won't read out of measure.xml)
17
+ ## Taxonomy
18
+ <%= taxonomy %>
19
19
 
20
20
  ___
21
21
  ## Table of Contents
@@ -36,33 +36,40 @@ While this measure has many arguments, they all have default values so you can s
36
36
 
37
37
  ## DOE Template and Building Type Mapping
38
38
 
39
- - Templates:
40
- - DOE Ref Pre-1980
41
- - DOE Ref 1980 - 2004
42
- - 90.1-2004
43
- - 90.1-2007
44
- - 90.1-2010
45
- - 90.1-2013
46
- - Building Types:
47
- - SecondarySchool
48
- - PrimarySchool
49
- - SmallOffice
50
- - MediumOffice
51
- - LargeOffice
52
- - SmallHotel
53
- - LargeHotel
54
- - Warehouse
55
- - RetailStandalone
56
- - RetailStripmall
57
- - QuickServiceRestaurant
58
- - FullServiceRestaurant
59
- - MidriseApartment
60
- - HighriseApartment
61
- - Hospital
62
- - Outpatient
63
- - SuperMarket
64
-
65
- [//]: # (Would be nice to make these lists dynamic from the measure to they don't become outdated)
39
+ #### Templates:
40
+ <% arguments.each do |argument| %>
41
+ <% if argument[:name] == 'template'%>
42
+ <% argument[:choice_display_names].each do |choice|%>
43
+ - <%= choice %><br/>
44
+ <% end %>
45
+ <% end %>
46
+ <% end %>
47
+
48
+ #### Building Types:
49
+ - SecondarySchool
50
+ - PrimarySchool
51
+ - SmallOffice
52
+ - MediumOffice
53
+ - LargeOffice
54
+ - SmallHotel
55
+ - LargeHotel
56
+ - Warehouse
57
+ - RetailStandalone
58
+ - RetailStripmall
59
+ - QuickServiceRestaurant
60
+ - FullServiceRestaurant
61
+ - MidriseApartment
62
+ - HighriseApartment
63
+ - Hospital
64
+ - Outpatient
65
+ - SuperMarket
66
+ - Laboratory
67
+ - LargeDataCenterLowITE
68
+ - LargeDataCenterHighITE
69
+ - SmallDataCenterLowITE
70
+ - SmallDataCenterHighITE
71
+
72
+ [//]: # (argument values for template are dynamically generated from current version of the measure. Cannot easily dynamically generate building types since they are not arguments to this measure and are passed in withthe model spaces.)
66
73
 
67
74
  ## HVAC Configuration Arguments
68
75
 
@@ -76,52 +83,56 @@ While this measure has many arguments, they all have default values so you can s
76
83
 
77
84
  - `Service Water Heating Source`can be set to `Inferred`, `NaturalGas`, `Electricity`, or `HeatPump`.
78
85
 
79
- - `Kitchen Exhaust MakeUp Air Calculation Method` is used to determine if makeup air is modeled for kitchen exhaust and what zone that comes from. While the default choice of `Adajcent` makes sence for custom user geometry, if the geometry was autogenerated without representing an actual plan, you can set makup air to come from the `Largest Zone`. `None` is also an option, which disables makeup air.
86
+ - `Kitchen Exhaust MakeUp Air Calculation Method` is used to determine if makeup air is modeled for kitchen exhaust and what zone that comes from. While the default choice of `Adajcent` makes sense for custom user geometry, if the geometry was autogenerated without representing an actual plan, you can set makeup air to come from the `Largest Zone`. `None` is also an option, which disables makeup air.
80
87
 
81
88
  ## Exterior Lighting Arguments
82
89
 
83
- - `Exterior Lighting Zone` is used to identify the exterior lighting allowances based on how urban or rural the site for the buidling is. The `Template also impacts the target value.
90
+ - `Exterior Lighting Zone` is used to identify the exterior lighting allowances based on how urban or rural the site for the building is. The `Template also impacts the target value.
84
91
 
85
92
  - `Onsite Parking Fraction` can reduce or eliminate the amount of exterior lighting for parking added to the model. This wil not reduce exterior facade, walkway, or entry lighting.
86
93
 
87
94
  ## Bool Arguments to Enable/Disable Elements of This Measure
88
95
 
89
- The following is a list of aruments for elements of the model that can be enabled or disabled for the measure.
96
+ The following is a list of arguments for elements of the model that can be enabled or disabled for the measure.
90
97
  - `Add Constructions to Model`
91
98
  - `Add Space Type Loads to Model`
92
- - `Add Elevators to Model`. This will only be added to buildings with more than one story. Number of floors will be used to determine the elevator type, and the number of occpants can determine both the number of elevators and can impact the schedule. To avoid large jumps in parametric analyses, the number of elevators is a double instead of an integer, but will never be less than 1.0 for multi-story buildings, but can for example be 2.6 or 1.5 elevators, instead of just 1 or 2. The logic used isn't depending on a space or space type existing for elevators. The space laod will be added to the largest space on the first story. Fraciton of heat lost will be set to 1.0 for traction elevators.
99
+ - `Add Elevators to Model`. This will only be added to buildings with more than one story. Number of floors will be used to determine the elevator type, and the number of occupants can determine both the number of elevators and can impact the schedule. To avoid large jumps in parametric analyses, the number of elevators is a double instead of an integer, but will never be less than 1.0 for multi-story buildings, but can for example be 2.6 or 1.5 elevators, instead of just 1 or 2. The logic used isn't depending on a space or space type existing for elevators. The space load will be added to the largest space on the first story. Fraction of heat lost will be set to 1.0 for traction elevators.
93
100
  - `Add Internal Mass to Model`
94
101
  - `Add Exterior Lights to Model`
95
102
  - `Add Exhaust Fans to Model`
96
103
  - `Add Service Water Heating to Model`
97
104
  - `Add Thermostats`
98
- - `Add HVAC System to Model`. This may add a secondary system for zones with internal loads or schedules that are dis-similar from the typical zones. For thermal zones on the primary zone, where multi-zone air loops are added, one air loop will be added for each building story. A sizing run will be performed however the elements in the model will stay autosized. The sizing run is to identify the proper target system efficency.
105
+ - `Add HVAC System to Model`. This may add a secondary system for zones with internal loads or schedules that are dis-similar from the typical zones. For thermal zones on the primary zone, where multi-zone air loops are added, one air loop will be added for each building story. A sizing run will be performed however the elements in the model will stay autosized. The sizing run is to identify the proper target system efficiency.
99
106
  - `Add Refrigeration to Model`
100
107
 
101
108
  ## Hours of Operation Arguments
102
109
 
103
110
  There are three arguments each for weekday and weekend behavior. In each case there are the following arguments.
104
111
 
105
- - Bool argument to enable/dsiable altering of weekdays or weekends
112
+ - Bool argument to enable/disable altering of weekdays or weekends
106
113
  - Operating hours start time
107
114
  - Operating hours duration
108
115
 
109
-
110
116
  ## Other Arguments
111
117
 
112
- - `Use Upstream Argument Values` can be left at the default value of true for most cases. This argument shows up in a number of measures, and then intent is to enable the synchronization of arguments that may be used as a variable in a parametric study across multiple measures. Generally measure ahve uqniue argument names that don't exist, but some such as `Template` are used frequently. This argument, when set to true, will use the value of `Template` from an earlier measure in the workflow, if found, in place of what is entered as the value for this measure.
118
+ - `Use Upstream Argument Values` can be left at the default value of true for most cases. This argument shows up in a number of measures, and then intent is to enable the synchronization of arguments that may be used as a variable in a parametric study across multiple measures. Generally measures gave unique argument names that don't exist in other measures, but some such as `template` are used frequently. This argument, when set to true, will use the value of `Template` from an earlier measure in the workflow, if found, in place of what is entered as the value for this measure.
113
119
  - `Unmet Hours Tolerance` is used to change the tolerance used in EnergyPlus for unmet heating and cooling hours.
114
- - `Clean Model of non-geometry objects` shoudl be set to false when you have a non-empty model with objects that you want to maintain. If you have split this measure in two the second instance of this should have it set to false or it will overwrite elements made by the earlier measure.
120
+ - `Clean Model of non-geometry objects` should be set to false when you have a non-empty model with objects that you want to maintain. If you have split this measure in two the second instance of this should have it set to false or it will overwrite elements made by the earlier measure.
115
121
  - `Enable Daylight Savings` will change daylighting saving to true when enabled.
116
122
 
117
123
  ## Development Comments
118
124
 
119
- This measure relies on the openstudio-standards gem which is included in the OpenStudio CLI as well as a number of resources files listed below that are contained in the measure's `resources` directory. Other than the arguments almost none of the measure code is in the measure.rb file. The resource files are used by a number of measures and should be udpated from the shared library and not within this measure.
120
- - os_lib_model_generation.rb
121
- - os_lib_helper_methods.rb
122
- - os_lib_helper_methods.rb
125
+ This measure relies on the openstudio-standards gem which is included in the OpenStudio CLI as well as a number of resources files listed below that are contained in the openstudio-extension gem which is also included in the OpenStudio CLI. Other than the arguments almost none of the measure code is in the measure.rb file. The resource files are used by a number of measures and should be updated from the shared library and not within this measure.
126
+ - os_lib_model_generation.rb
127
+ - os_lib_model_simplification.rb
128
+ - os_lib_geometry.rb
129
+ - os_lib_helper_methods.rb
130
+
131
+ ___
123
132
 
124
- *(Automatically generated argument information follows)*## Arguments
133
+ *(Automatically generated argument information follows)*
134
+
135
+ ## Arguments
125
136
 
126
137
  <% arguments.each do |argument| %>
127
138
  ### <%= argument[:display_name] %>
@@ -131,6 +142,9 @@ This measure relies on the openstudio-standards gem which is included in the Ope
131
142
  **Units:** <%= argument[:units] %>,
132
143
  **Required:** <%= argument[:required] %>,
133
144
  **Model Dependent:** <%= argument[:model_dependent] %>
145
+ <% if argument[:type] == "Choice" && !argument[:model_dependent]%>
146
+ **Choice Display Names** <%= argument[:choice_display_names] %>
147
+ <% end %>
134
148
  <% end %>
135
149
 
136
150
  <% if arguments.size == 0 %>
@@ -41,7 +41,7 @@ require 'openstudio-standards'
41
41
  # load OpenStudio measure libraries from openstudio-extension gem
42
42
  require 'openstudio-extension'
43
43
  require 'openstudio/extension/core/os_lib_helper_methods'
44
- require 'openstudio/extension/core/os_lib_model_generation.rb'
44
+ require 'openstudio/extension/core/os_lib_model_generation'
45
45
 
46
46
  require_relative 'resources/Model.hvac' # DLM: should this be in openstudio-standards? dfg some tests fail without it
47
47
 
@@ -66,6 +66,11 @@ class CreateTypicalDOEBuildingFromModel < OpenStudio::Measure::ModelMeasure
66
66
  return 'It is important that the template argument chosen for this measure is in line with the buding types for the stub space types of the model passed in.'
67
67
  end
68
68
 
69
+ # used to populate taxonomy in readme.md
70
+ def taxonomy
71
+ return 'Whole Building.Space Types'
72
+ end
73
+
69
74
  # define the arguments that the user will input
70
75
  def arguments(model)
71
76
  args = OpenStudio::Measure::OSArgumentVector.new
@@ -80,7 +85,7 @@ class CreateTypicalDOEBuildingFromModel < OpenStudio::Measure::ModelMeasure
80
85
  end
81
86
 
82
87
  # Make argument for template
83
- template = OpenStudio::Measure::OSArgument.makeChoiceArgument('template', get_doe_templates, true)
88
+ template = OpenStudio::Measure::OSArgument.makeChoiceArgument('template', get_doe_templates(false), true)
84
89
  template.setDisplayName('Target Standard')
85
90
  template.setDefaultValue(default_string)
86
91
  args << template
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</schema_version>
4
4
  <name>create_typical_doe_building_from_model</name>
5
5
  <uid>b2c80210-33b3-4dfd-8267-535efd81f552</uid>
6
- <version_id>af76adbb-6aea-419e-96ee-81cf11f19ccb</version_id>
7
- <version_modified>20210423T142536Z</version_modified>
6
+ <version_id>bd01bf11-d315-49ed-8c05-3ce269edbc1f</version_id>
7
+ <version_modified>20220505T182933Z</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>
@@ -1372,52 +1372,52 @@
1372
1372
  <usage_type>test</usage_type>
1373
1373
  <checksum>F22DEFBC</checksum>
1374
1374
  </file>
1375
+ <file>
1376
+ <filename>LICENSE.md</filename>
1377
+ <filetype>md</filetype>
1378
+ <usage_type>license</usage_type>
1379
+ <checksum>A21A3ED2</checksum>
1380
+ </file>
1381
+ <file>
1382
+ <filename>Model.hvac.rb</filename>
1383
+ <filetype>rb</filetype>
1384
+ <usage_type>resource</usage_type>
1385
+ <checksum>32C64B0B</checksum>
1386
+ </file>
1375
1387
  <file>
1376
1388
  <filename>README.md.erb</filename>
1377
1389
  <filetype>erb</filetype>
1378
1390
  <usage_type>readmeerb</usage_type>
1379
- <checksum>46CFB534</checksum>
1391
+ <checksum>BDCE44E6</checksum>
1380
1392
  </file>
1381
1393
  <file>
1382
1394
  <filename>README.md</filename>
1383
1395
  <filetype>md</filetype>
1384
1396
  <usage_type>readme</usage_type>
1385
- <checksum>1B1C70D8</checksum>
1386
- </file>
1387
- <file>
1388
- <filename>LICENSE.md</filename>
1389
- <filetype>md</filetype>
1390
- <usage_type>license</usage_type>
1391
- <checksum>A21A3ED2</checksum>
1392
- </file>
1393
- <file>
1394
- <version>
1395
- <software_program>OpenStudio</software_program>
1396
- <identifier>2.0.0</identifier>
1397
- <min_compatible>3.0.0</min_compatible>
1398
- </version>
1399
- <filename>measure.rb</filename>
1400
- <filetype>rb</filetype>
1401
- <usage_type>script</usage_type>
1402
- <checksum>1008A2B9</checksum>
1397
+ <checksum>7F39813C</checksum>
1403
1398
  </file>
1404
1399
  <file>
1405
1400
  <filename>create_typical_doe_building_from_model_test.rb</filename>
1406
1401
  <filetype>rb</filetype>
1407
1402
  <usage_type>test</usage_type>
1408
- <checksum>59AEB6FD</checksum>
1403
+ <checksum>2DF721BA</checksum>
1409
1404
  </file>
1410
1405
  <file>
1411
1406
  <filename>measure_test_hvac.rb</filename>
1412
1407
  <filetype>rb</filetype>
1413
1408
  <usage_type>test</usage_type>
1414
- <checksum>188F5F6B</checksum>
1409
+ <checksum>9B04EEB7</checksum>
1415
1410
  </file>
1416
1411
  <file>
1417
- <filename>Model.hvac.rb</filename>
1412
+ <version>
1413
+ <software_program>OpenStudio</software_program>
1414
+ <identifier>2.0.0</identifier>
1415
+ <min_compatible>3.0.0</min_compatible>
1416
+ </version>
1417
+ <filename>measure.rb</filename>
1418
1418
  <filetype>rb</filetype>
1419
- <usage_type>resource</usage_type>
1420
- <checksum>32C64B0B</checksum>
1419
+ <usage_type>script</usage_type>
1420
+ <checksum>72714DCB</checksum>
1421
1421
  </file>
1422
1422
  </files>
1423
1423
  </measure>
@@ -49,7 +49,7 @@ class DEERSpaceTypeAndConstructionSetWizard < OpenStudio::Measure::ModelMeasure
49
49
  # load OpenStudio measure libraries from openstudio-extension gem
50
50
  require 'openstudio-extension'
51
51
  require 'openstudio/extension/core/os_lib_helper_methods'
52
- require 'openstudio/extension/core/os_lib_model_generation.rb'
52
+ require 'openstudio/extension/core/os_lib_model_generation'
53
53
 
54
54
  # resource files used by measure
55
55
  include OsLib_HelperMethods
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</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>745737d5-1816-4dc6-8a95-0059b881b88a</version_id>
7
- <version_modified>20210423T142536Z</version_modified>
6
+ <version_id>ef3a2767-2503-4ef7-97aa-ad2e64a859a4</version_id>
7
+ <version_modified>20220505T182929Z</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>
@@ -363,7 +363,7 @@
363
363
  <filename>deer_space_type_and_construction_set_wizard_Test.rb</filename>
364
364
  <filetype>rb</filetype>
365
365
  <usage_type>test</usage_type>
366
- <checksum>854655C1</checksum>
366
+ <checksum>8B39BFC0</checksum>
367
367
  </file>
368
368
  <file>
369
369
  <version>
@@ -374,7 +374,7 @@
374
374
  <filename>measure.rb</filename>
375
375
  <filetype>rb</filetype>
376
376
  <usage_type>script</usage_type>
377
- <checksum>D6961EE1</checksum>
377
+ <checksum>B9BC7D57</checksum>
378
378
  </file>
379
379
  </files>
380
380
  </measure>
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</schema_version>
4
4
  <name>find_and_replace_in_all_thermal_zone_names</name>
5
5
  <uid>3573d81e-e7de-4949-be50-8abcd0f95a35</uid>
6
- <version_id>85da1815-b093-45ef-a399-1c8cc9b46956</version_id>
7
- <version_modified>20210423T142537Z</version_modified>
6
+ <version_id>aa8dce36-46c8-4bd1-a755-e5368218a0c1</version_id>
7
+ <version_modified>20220505T182935Z</version_modified>
8
8
  <xml_checksum>057E8D9D</xml_checksum>
9
9
  <class_name>FindAndReplaceInAllThermalZoneNames</class_name>
10
10
  <display_name>Find And Replace In All Thermal Zone Names</display_name>
@@ -85,7 +85,7 @@
85
85
  <filename>find_and_replace_in_all_thermal_zone_names_test.rb</filename>
86
86
  <filetype>rb</filetype>
87
87
  <usage_type>test</usage_type>
88
- <checksum>5EF10DDA</checksum>
88
+ <checksum>1ACD900C</checksum>
89
89
  </file>
90
90
  </files>
91
91
  </measure>
@@ -132,6 +132,7 @@ class MakeShadingSurfacesBasedOnZoneMultipliers < OpenStudio::Measure::ModelMeas
132
132
 
133
133
  space.surfaces.each do |surface|
134
134
  next if surface.outsideBoundaryCondition != 'Outdoors'
135
+
135
136
  surfaces_to_copy[surface] = multiplier
136
137
 
137
138
  # store vertices
@@ -157,6 +158,7 @@ class MakeShadingSurfacesBasedOnZoneMultipliers < OpenStudio::Measure::ModelMeas
157
158
 
158
159
  space.surfaces.each do |surface|
159
160
  next if surface.outsideBoundaryCondition != 'Outdoors'
161
+
160
162
  surfaces_to_copy[surface] = multiplier
161
163
 
162
164
  # store vertices
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</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>280fcc05-b5d1-4f95-9bc3-f0a426fa1a1f</version_id>
7
- <version_modified>20210423T142537Z</version_modified>
6
+ <version_id>b6f2e9fb-355d-4e3d-acee-3ec908d95ef3</version_id>
7
+ <version_modified>20220505T182926Z</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>
@@ -97,13 +97,13 @@
97
97
  <filename>measure.rb</filename>
98
98
  <filetype>rb</filetype>
99
99
  <usage_type>script</usage_type>
100
- <checksum>2A4A98D5</checksum>
100
+ <checksum>5DEA693D</checksum>
101
101
  </file>
102
102
  <file>
103
103
  <filename>make_shading_surfaces_based_on_zone_multipliers_test.rb</filename>
104
104
  <filetype>rb</filetype>
105
105
  <usage_type>test</usage_type>
106
- <checksum>E7C200C9</checksum>
106
+ <checksum>E4A4E702</checksum>
107
107
  </file>
108
108
  </files>
109
109
  </measure>
@@ -143,12 +143,14 @@ class MergeFloorspaceJsWithModel < OpenStudio::Measure::ModelMeasure
143
143
  fixed = false
144
144
  vertices.each do |vertex|
145
145
  next if fixed
146
+
146
147
  if array.include?(vertex)
147
148
  # create a new set of vertices
148
149
  new_vertices = OpenStudio::Point3dVector.new
149
150
  array_b = []
150
151
  surface.vertices.each do |vertex_b|
151
152
  next if array_b.include?(vertex_b)
153
+
152
154
  new_vertices << vertex_b
153
155
  array_b << vertex_b
154
156
  end
@@ -184,6 +186,7 @@ class MergeFloorspaceJsWithModel < OpenStudio::Measure::ModelMeasure
184
186
 
185
187
  surfaces_b.each do |surface_b|
186
188
  next if surface_a == surface_b # dont' test against same surface
189
+
187
190
  if surface_a.equalVertices(surface_b)
188
191
  runner.registerWarning("#{surface_a.name} and #{surface_b.name} in #{space.name} have duplicate geometry, removing #{surface_b.name}.")
189
192
  surface_b.remove
@@ -221,7 +224,7 @@ class MergeFloorspaceJsWithModel < OpenStudio::Measure::ModelMeasure
221
224
  json = JSON.parse(File.read(path.get.to_s))
222
225
 
223
226
  # error checking
224
- unless !json['space_types'].empty?
227
+ if json['space_types'].empty?
225
228
  runner.registerInfo('No space types were created.')
226
229
  end
227
230
 
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</schema_version>
4
4
  <name>merge_floorspace_js_with_model</name>
5
5
  <uid>16ef6369-6420-4f17-894c-a767895bcaa4</uid>
6
- <version_id>cd8c6e2c-6e2b-45d3-a9a2-aaccb5dd38a9</version_id>
7
- <version_modified>20210423T142537Z</version_modified>
6
+ <version_id>e9c8d42e-69b7-4d09-9cf8-9090ce62e4e2</version_id>
7
+ <version_modified>20220505T182931Z</version_modified>
8
8
  <xml_checksum>0AD1E2E2</xml_checksum>
9
9
  <class_name>MergeFloorspaceJsWithModel</class_name>
10
10
  <display_name>Merge FloorspaceJs with Model</display_name>
@@ -98,13 +98,13 @@
98
98
  <filename>measure.rb</filename>
99
99
  <filetype>rb</filetype>
100
100
  <usage_type>script</usage_type>
101
- <checksum>B66DBC8C</checksum>
101
+ <checksum>66A3D44B</checksum>
102
102
  </file>
103
103
  <file>
104
104
  <filename>merge_floorspace_js_with_model_test.rb</filename>
105
105
  <filetype>rb</filetype>
106
106
  <usage_type>test</usage_type>
107
- <checksum>33A937E8</checksum>
107
+ <checksum>F51D04E3</checksum>
108
108
  </file>
109
109
  </files>
110
110
  </measure>
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</schema_version>
4
4
  <name>merge_spaces_from_external_file</name>
5
5
  <uid>e439a1a9-d075-4a25-9f83-2dca79d2826e</uid>
6
- <version_id>d727f4c4-a1b5-485f-8ed0-984dc2083fc0</version_id>
7
- <version_modified>20210423T142538Z</version_modified>
6
+ <version_id>407db88d-c74e-4220-b538-cd528b293e2e</version_id>
7
+ <version_modified>20220505T182935Z</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>
@@ -238,7 +238,7 @@
238
238
  <filename>merge_spaces_from_external_file_test.rb</filename>
239
239
  <filetype>rb</filetype>
240
240
  <usage_type>test</usage_type>
241
- <checksum>9AAAEDBF</checksum>
241
+ <checksum>2D93C8DF</checksum>
242
242
  </file>
243
243
  </files>
244
244
  </measure>