openstudio-analysis 0.4.2 → 0.4.3

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.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +6 -1
  4. data/lib/openstudio-analysis.rb +4 -0
  5. data/lib/openstudio/analysis.rb +16 -0
  6. data/lib/openstudio/analysis/algorithm_attributes.rb +4 -0
  7. data/lib/openstudio/analysis/formulation.rb +115 -49
  8. data/lib/openstudio/analysis/server_api.rb +151 -12
  9. data/lib/openstudio/analysis/support_files.rb +21 -3
  10. data/lib/openstudio/analysis/translator/excel.rb +84 -299
  11. data/lib/openstudio/analysis/version.rb +1 -1
  12. data/lib/openstudio/analysis/workflow.rb +79 -33
  13. data/lib/openstudio/analysis/workflow_step.rb +165 -39
  14. data/lib/openstudio/helpers/string.rb +1 -1
  15. data/lib/openstudio/weather/epw.rb +193 -0
  16. data/spec/files/0_1_09_outputvars.xlsx +0 -0
  17. data/spec/files/0_1_09_setup_version_2.xlsx +0 -0
  18. data/spec/files/0_3_0_dynamic_uuids.xlsx +0 -0
  19. data/spec/files/0_3_0_outputs.xlsx +0 -0
  20. data/spec/files/0_3_3_short_names.xlsx +0 -0
  21. data/spec/files/0_3_5_multiple_measure_paths.xlsx +0 -0
  22. data/spec/files/0_3_7_unique_measure_names.xlsx +0 -0
  23. data/spec/files/0_3_7_worker_init_final.xlsx +0 -0
  24. data/spec/files/0_4_0_multiple_seeds.xlsx +0 -0
  25. data/spec/files/0_4_0_pivot_test.xlsx +0 -0
  26. data/spec/files/analysis/examples/medium_office_workflow.json +1298 -0
  27. data/spec/files/analysis/medium_office.json +666 -603
  28. data/spec/files/analysis/medium_office.zip +0 -0
  29. data/spec/files/analysis/name_goes_here.json +1752 -0
  30. data/spec/files/{export/analysis/small_seed.zip → analysis/name_goes_here.zip} +0 -0
  31. data/spec/files/export/analysis/0_1_09_outputvars.json +265 -230
  32. data/spec/files/export/analysis/0_1_09_outputvars.zip +0 -0
  33. data/spec/files/export/analysis/{71bebb0a-34b7-404b-b430-0ee7dab962ff.json → 0_3_0_dynamic_uuids.json} +684 -590
  34. data/spec/files/export/analysis/{67e3ba4a-2660-41b6-a7c5-d4457a4275c4.zip → 0_3_0_dynamic_uuids.zip} +0 -0
  35. data/spec/files/export/analysis/0_3_0_outputs.json +684 -590
  36. data/spec/files/export/analysis/0_3_0_outputs.zip +0 -0
  37. data/spec/files/export/analysis/{5b5264db-a31e-4bab-931b-94101bd23b80.json → 0_3_3_short_names.json} +697 -622
  38. data/spec/files/export/analysis/{1d8d62bb-f058-4c38-893b-8eaa7ceea254.zip → 0_3_3_short_names.zip} +0 -0
  39. data/spec/files/export/analysis/{1d8d62bb-f058-4c38-893b-8eaa7ceea254.json → 0_3_5_multiple_measure_paths.json} +717 -602
  40. data/spec/files/export/analysis/{5b5264db-a31e-4bab-931b-94101bd23b80.zip → 0_3_5_multiple_measure_paths.zip} +0 -0
  41. data/spec/files/export/analysis/{67e3ba4a-2660-41b6-a7c5-d4457a4275c4.json → 0_3_7_worker_init_final.json} +708 -613
  42. data/spec/files/export/analysis/{71bebb0a-34b7-404b-b430-0ee7dab962ff.zip → 0_3_7_worker_init_final.zip} +0 -0
  43. data/spec/files/export/analysis/{0_1_11_discrete_variables.json → example_analysis.json} +279 -214
  44. data/spec/files/export/analysis/{0_1_11_discrete_variables.zip → example_analysis.zip} +0 -0
  45. data/spec/files/export/analysis/{discrete_lhs_example.json → lhs_discrete_and_continuous_variables.json} +549 -436
  46. data/spec/files/export/analysis/{discrete_lhs_example.zip → lhs_discrete_and_continuous_variables.zip} +0 -0
  47. data/spec/files/export/analysis/lhs_discrete_and_continuous_variables_f4a73fc4-0514-4033-b54d-d1c58c77c724.json +1298 -0
  48. data/spec/files/export/analysis/lhs_discrete_and_continuous_variables_f4a73fc4-0514-4033-b54d-d1c58c77c724.zip +0 -0
  49. data/spec/files/export/analysis/lhs_discrete_and_continuous_variables_model_-_1.json +1298 -0
  50. data/spec/files/export/analysis/lhs_discrete_and_continuous_variables_model_-_1.zip +0 -0
  51. data/spec/files/export/analysis/lhs_discrete_and_continuous_variables_something_else.json +1298 -0
  52. data/spec/files/export/analysis/lhs_discrete_and_continuous_variables_something_else.zip +0 -0
  53. data/spec/files/export/analysis/pivot_test.json +1323 -0
  54. data/spec/files/export/analysis/pivot_test.zip +0 -0
  55. data/spec/files/export/analysis/{0_2_0_template_simpletest.json → simple_test.json} +201 -178
  56. data/spec/files/export/analysis/{0_2_0_template_simpletest.zip → simple_test.zip} +0 -0
  57. data/spec/files/export/analysis/{0_1_12_discrete_dynamic_columns.json → test_model.json} +189 -167
  58. data/spec/files/export/analysis/{0_1_12_discrete_dynamic_columns.zip → test_model.zip} +0 -0
  59. data/spec/files/export/weather/weather_out.epw +32 -0
  60. data/spec/files/export/weather/weather_out_appended.epw +56 -0
  61. data/spec/files/export/workflow/analysis.json +0 -1
  62. data/spec/files/measures/reduce_space_infiltration_by_percentage/measure.rb +5 -0
  63. data/spec/files/measures/reduce_space_infiltration_by_percentage/measure.xml +1 -0
  64. data/spec/files/measures/rotate_building/measure.rb +5 -0
  65. data/spec/files/measures/rotate_building/measure.xml +1 -0
  66. data/spec/files/measures/set_window_to_wall_ratio_by_facade/measure.rb +5 -0
  67. data/spec/files/measures/set_window_to_wall_ratio_by_facade/measure.xml +1 -0
  68. data/spec/files/partial_weather.epw +32 -32
  69. data/spec/openstudio/excel_spec.rb +103 -69
  70. data/spec/openstudio/formulation_spec.rb +28 -14
  71. data/spec/openstudio/support_files_spec.rb +2 -2
  72. data/spec/openstudio/weather_spec.rb +45 -0
  73. data/spec/openstudio/workflow_spec.rb +2 -1
  74. data/spec/openstudio/workflow_step_spec.rb +24 -22
  75. data/spec/reports/SPEC-OpenStudio-Analysis-Formulation.xml +59 -10
  76. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-object-instance.xml +2 -2
  77. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.xml +2 -2
  78. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.xml +1 -1
  79. data/spec/reports/SPEC-OpenStudio-Analysis-SupportFiles.xml +6 -6
  80. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.xml +25 -7
  81. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.xml +18 -5
  82. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.xml +5 -8
  83. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.xml +2 -2
  84. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.xml +2 -2
  85. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.xml +29 -12
  86. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.xml +5 -5
  87. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.xml +2 -2
  88. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.xml +2 -2
  89. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.xml +26 -9
  90. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.xml +2 -2
  91. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.xml +3 -7
  92. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.xml +20 -9
  93. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.xml +35 -10
  94. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-dynamic-uuid-assignments.xml +47 -5
  95. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-measure-existence-checks.xml +3 -6
  96. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-objective-functions.xml +48 -10
  97. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.xml +48 -6
  98. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-5-and-measure-paths.xml +48 -8
  99. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-7-and-worker-init-final-scripts.0.xml +55 -6
  100. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-7-and-worker-init-final-scripts.xml +51 -8
  101. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-4-0-multiple-seed-models.xml +165 -0
  102. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-4-0-pivot-test.xml +60 -0
  103. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.xml +1 -1
  104. data/spec/reports/SPEC-OpenStudio-Analysis-Workflow.xml +7 -7
  105. data/spec/reports/SPEC-OpenStudio-Analysis-WorkflowStep.xml +8 -14
  106. data/spec/reports/SPEC-OpenStudio-Weather-Epw.xml +9 -0
  107. metadata +97 -50
  108. data/spec/files/export/analysis/small_seed.json +0 -593
@@ -1,58 +1,59 @@
1
1
  {
2
2
  "analysis": {
3
- "display_name": "Output Vars",
4
- "name": "output_vars",
3
+ "display_name": "0_1_09_outputvars",
4
+ "name": "0_1_09_outputvars",
5
5
  "output_variables": [
6
6
  {
7
- "display_name": "Heating Natural Gas",
8
- "display_name_short": "Heating Natural Gas",
9
- "metadata_id": null,
10
- "name": "heating_natural_gas",
11
7
  "units": "MJ/m2",
12
8
  "objective_function": true,
13
9
  "objective_function_index": 0,
14
10
  "objective_function_target": 462.1635,
11
+ "objective_function_group": "TRUE",
15
12
  "scaling_factor": null,
16
- "objective_function_group": "TRUE"
13
+ "display_name": "Heating Natural Gas",
14
+ "display_name_short": "Heating Natural Gas",
15
+ "metadata_id": null,
16
+ "name": "heating_natural_gas"
17
17
  },
18
18
  {
19
- "display_name": "Cooling Electricity",
20
- "display_name_short": "Cooling Electricity",
21
- "metadata_id": null,
22
- "name": "Cooling Electricity",
23
19
  "units": "MJ/m3",
24
20
  "objective_function": true,
25
21
  "objective_function_index": 1,
26
22
  "objective_function_target": 84.16202,
23
+ "objective_function_group": "TRUE",
27
24
  "scaling_factor": null,
28
- "objective_function_group": "TRUE"
25
+ "display_name": "Cooling Electricity",
26
+ "display_name_short": "Cooling Electricity",
27
+ "metadata_id": null,
28
+ "name": "Cooling Electricity"
29
29
  },
30
30
  {
31
- "display_name": "Interior Equipment Electricity",
32
- "display_name_short": "Interior Equipment Electricity",
33
- "metadata_id": null,
34
- "name": "Interior Equipment Electricity",
35
31
  "units": "MJ/m4",
36
32
  "objective_function": true,
37
33
  "objective_function_index": 2,
38
34
  "objective_function_target": 121.9985,
35
+ "objective_function_group": "TRUE",
39
36
  "scaling_factor": null,
40
- "objective_function_group": "TRUE"
37
+ "display_name": "Interior Equipment Electricity",
38
+ "display_name_short": "Interior Equipment Electricity",
39
+ "metadata_id": null,
40
+ "name": "Interior Equipment Electricity"
41
41
  },
42
42
  {
43
- "display_name": "Fans Electricity",
44
- "display_name_short": "Fans Electricity",
45
- "metadata_id": null,
46
- "name": "fans_electricity",
47
43
  "units": "MJ/m5",
48
44
  "objective_function": true,
49
45
  "objective_function_index": 3,
50
46
  "objective_function_target": 87.92142,
47
+ "objective_function_group": "TRUE",
51
48
  "scaling_factor": null,
52
- "objective_function_group": "TRUE"
49
+ "display_name": "Fans Electricity",
50
+ "display_name_short": "Fans Electricity",
51
+ "metadata_id": null,
52
+ "name": "fans_electricity"
53
53
  }
54
54
  ],
55
55
  "problem": {
56
+ "analysis_type": "nsga",
56
57
  "algorithm": {
57
58
  "sample_method": "all_variables",
58
59
  "number_of_samples": 100,
@@ -66,87 +67,106 @@
66
67
  },
67
68
  "workflow": [
68
69
  {
70
+ "name": "reduce_lighting_loads_by_percentage",
71
+ "display_name": "Reduce Lighting Loads by Percentage",
72
+ "measure_type": "RubyMeasure",
69
73
  "measure_definition_class_name": "ReduceLightingLoadsByPercentage",
70
74
  "measure_definition_directory": "./measures/reduce_lighting_loads_by_percentage",
71
- "measure_definition_display_name": "ReduceLightingLoadsByPercentage",
72
- "measure_definition_uuid": "89019878-2c5a-4607-8b53-64d9268853c2",
73
- "measure_definition_version_uuid": "2119f946-afd5-42f2-9e9b-095140f06aed",
74
- "measure_type": "RubyMeasure",
75
+ "measure_definition_directory_local": "/Users/nlong/working/OpenStudio-analysis-gem/spec/files/measures/reduce_lighting_loads_by_percentage",
76
+ "measure_definition_display_name": "Reduce Lighting Loads by Percentage",
77
+ "measure_definition_name": "reduce_lighting_loads_by_percentage",
78
+ "measure_definition_name_xml": null,
79
+ "measure_definition_uuid": "dd3bc855-0fe9-45e3-aba6-f1f248fab4d6",
80
+ "measure_definition_version_uuid": "ee68b0bd-6066-441d-862c-dc31d2edc4dd",
75
81
  "arguments": [
76
82
  {
77
83
  "display_name": "Apply the Measure to a Specific Space Type or to the Entire Model.",
78
84
  "display_name_short": "Apply the Measure to a Specific Space Type or to the Entire Model.",
79
85
  "name": "space_type",
80
- "value": "*Entire Building*",
81
- "value_type": "choice"
86
+ "value_type": "string",
87
+ "default_value": "*Entire Building*",
88
+ "value": "*Entire Building*"
82
89
  },
83
90
  {
84
91
  "display_name": "Increase in Material and Installation Cost for Lighting per Floor Area (%).",
85
92
  "display_name_short": "Increase in Material and Installation Cost for Lighting per Floor Area (%).",
86
93
  "name": "material_and_installation_cost",
87
- "value": 0.0,
88
- "value_type": "double"
94
+ "value_type": "double",
95
+ "default_value": 0.0,
96
+ "value": 0.0
89
97
  },
90
98
  {
91
99
  "display_name": "Increase in Demolition Costs for Lighting per Floor Area (%).",
92
100
  "display_name_short": "Increase in Demolition Costs for Lighting per Floor Area (%).",
93
101
  "name": "demolition_cost",
94
- "value": 0.0,
95
- "value_type": "double"
102
+ "value_type": "double",
103
+ "default_value": 0.0,
104
+ "value": 0.0
96
105
  },
97
106
  {
98
107
  "display_name": "Years Until Costs Start (whole years).",
99
108
  "display_name_short": "Years Until Costs Start (whole years).",
100
109
  "name": "years_until_costs_start",
101
- "value": 0,
102
- "value_type": "integer"
110
+ "value_type": "integer",
111
+ "default_value": 0,
112
+ "value": 0
103
113
  },
104
114
  {
105
115
  "display_name": "Demolition Costs Occur During Initial Construction?",
106
116
  "display_name_short": "Demolition Costs Occur During Initial Construction?",
107
117
  "name": "demo_cost_initial_const",
108
- "value": true,
109
- "value_type": "bool"
118
+ "value_type": "bool",
119
+ "default_value": true,
120
+ "value": true
110
121
  },
111
122
  {
112
123
  "display_name": "Expected Life (whole years).",
113
124
  "display_name_short": "Expected Life (whole years).",
114
125
  "name": "expected_life",
115
- "value": 15,
116
- "value_type": "integer"
126
+ "value_type": "integer",
127
+ "default_value": 15,
128
+ "value": 15
117
129
  },
118
130
  {
119
131
  "display_name": "Increase O & M Costs for Lighting per Floor Area (%).",
120
132
  "display_name_short": "Increase O & M Costs for Lighting per Floor Area (%).",
121
133
  "name": "om_cost",
122
- "value": 0.0,
123
- "value_type": "double"
134
+ "value_type": "double",
135
+ "default_value": 0.0,
136
+ "value": 0.0
124
137
  },
125
138
  {
126
139
  "display_name": "O & M Frequency (whole years).",
127
140
  "display_name_short": "O & M Frequency (whole years).",
128
141
  "name": "om_frequency",
129
- "value": 1,
130
- "value_type": "integer"
142
+ "value_type": "integer",
143
+ "default_value": 1,
144
+ "value": 1
131
145
  }
132
146
  ],
133
- "display_name": "Reduce Lighting Loads by Percentage",
134
- "name": "reduce_lighting_loads_by_percentage",
135
147
  "variables": [
136
148
  {
137
149
  "argument": {
138
150
  "display_name": "Lighting Power Reduction",
139
151
  "display_name_short": "Lighting Power Reduction",
140
152
  "name": "lighting_power_reduction_percent",
141
- "value_type": "double"
153
+ "value_type": "double",
154
+ "default_value": 30.0,
155
+ "value": 30.0
142
156
  },
143
157
  "display_name": "Lighting Power Reduction",
144
158
  "display_name_short": "Lighting Power Reduction",
145
- "maximum": 50.0,
159
+ "variable_type": "variable",
160
+ "units": null,
146
161
  "minimum": 0.0,
147
- "relation_to_output": "",
162
+ "maximum": 50.0,
163
+ "relation_to_output": null,
148
164
  "static_value": 30.0,
165
+ "uuid": "61c59a25-ede1-45bc-a394-65fe032818cc",
166
+ "version_uuid": "f730ebf3-62a3-4b97-86a0-0cec00b6f588",
167
+ "variable": true,
149
168
  "uncertainty_description": {
169
+ "type": "triangle_uncertain",
150
170
  "attributes": [
151
171
  {
152
172
  "name": "lower_bounds",
@@ -157,87 +177,93 @@
157
177
  "value": 50.0
158
178
  },
159
179
  {
160
- "name": "stddev",
161
- "value": 8.333333333333334
180
+ "name": "modes",
181
+ "value": 40.0
162
182
  },
163
183
  {
164
184
  "name": "delta_x",
165
185
  "value": null
166
186
  },
167
187
  {
168
- "name": "modes",
169
- "value": 40.0
188
+ "name": "stddev",
189
+ "value": 8.333333333333334
170
190
  }
171
- ],
172
- "type": "triangle_uncertain"
191
+ ]
173
192
  },
174
- "units": "",
175
- "value_type": "double",
176
- "variable": true,
177
- "variable_type": "RubyContinuousVariable",
178
- "uuid": "4f4232d0-cbf6-4791-a3a5-cce3a047d10a",
179
- "version_uuid": "7f00769f-356f-49fa-9712-4f6c7f6c0f35"
193
+ "workflow_index": 0
180
194
  }
181
195
  ],
182
- "workflow_index": 0,
183
- "workflow_step_type": "Measure",
184
- "uuid": "d6ef39fd-05df-4073-aad7-cc55691873a5",
185
- "version_uuid": "9dfbb833-5098-4d0e-a8a9-20ccb1003f37"
196
+ "workflow_index": 0
186
197
  },
187
198
  {
199
+ "name": "reducespaceinfiltrationbypercentage",
200
+ "display_name": "ReduceSpaceInfiltrationByPercentage",
201
+ "measure_type": "RubyMeasure",
188
202
  "measure_definition_class_name": "ExampleMeasureAutoDirectoryName",
189
203
  "measure_definition_directory": "./measures/example_measure_auto_directory_name",
190
- "measure_definition_display_name": "ExampleMeasureAutoDirectoryName",
191
- "measure_definition_uuid": "d179b76f-ab27-4419-b676-93514981e156",
192
- "measure_definition_version_uuid": "8f46d623-4c04-4f6c-bba9-a45a216d8c33",
193
- "measure_type": "RubyMeasure",
204
+ "measure_definition_directory_local": "/Users/nlong/working/OpenStudio-analysis-gem/spec/files/measures/example_measure_auto_directory_name",
205
+ "measure_definition_display_name": "ReduceSpaceInfiltrationByPercentage",
206
+ "measure_definition_name": "reducespaceinfiltrationbypercentage",
207
+ "measure_definition_name_xml": null,
208
+ "measure_definition_uuid": "b53f8c47-591a-44aa-80fe-b709648bbadc",
209
+ "measure_definition_version_uuid": "2c7ecec7-9e4e-4133-afff-b0512f717427",
194
210
  "arguments": [
195
211
  {
196
212
  "display_name": "Apply the Measure to a Specific Space Type or to the Entire Model.",
197
213
  "display_name_short": "Apply the Measure to a Specific Space Type or to the Entire Model.",
198
214
  "name": "space_type",
199
- "value": "*Entire Building*",
200
- "value_type": "choice"
215
+ "value_type": "string",
216
+ "default_value": "*Entire Building*",
217
+ "value": "*Entire Building*"
201
218
  },
202
219
  {
203
220
  "display_name": "Increase in Material and Installation Costs for Building per Affected Floor Area ($/ft^2).",
204
221
  "display_name_short": "Increase in Material and Installation Costs for Building per Affected Floor Area ($/ft^2).",
205
222
  "name": "material_and_installation_cost",
206
- "value": 0.0,
207
- "value_type": "double"
223
+ "value_type": "double",
224
+ "default_value": 0.0,
225
+ "value": 0.0
208
226
  },
209
227
  {
210
228
  "display_name": "O & M Costs for Construction per Affected Floor Area ($/ft^2).",
211
229
  "display_name_short": "O & M Costs for Construction per Affected Floor Area ($/ft^2).",
212
230
  "name": "om_cost",
213
- "value": 0.0,
214
- "value_type": "double"
231
+ "value_type": "double",
232
+ "default_value": 0.0,
233
+ "value": 0.0
215
234
  },
216
235
  {
217
236
  "display_name": "O & M Frequency (whole years).",
218
237
  "display_name_short": "O & M Frequency (whole years).",
219
238
  "name": "om_frequency",
220
- "value": 1,
221
- "value_type": "integer"
239
+ "value_type": "integer",
240
+ "default_value": 1,
241
+ "value": 1
222
242
  }
223
243
  ],
224
- "display_name": "ReduceSpaceInfiltrationByPercentage",
225
- "name": "reducespaceinfiltrationbypercentage",
226
244
  "variables": [
227
245
  {
228
246
  "argument": {
229
247
  "display_name": "Space Infiltration Power Reduction",
230
248
  "display_name_short": "Space Infiltration Power Reduction",
231
249
  "name": "space_infiltration_reduction_percent",
232
- "value_type": "double"
250
+ "value_type": "double",
251
+ "default_value": 30.0,
252
+ "value": 30.0
233
253
  },
234
254
  "display_name": "Space Infiltration Power Reduction",
235
255
  "display_name_short": "Space Infiltration Power Reduction",
236
- "maximum": 30.0,
256
+ "variable_type": "variable",
257
+ "units": null,
237
258
  "minimum": 0.0,
238
- "relation_to_output": "",
259
+ "maximum": 30.0,
260
+ "relation_to_output": null,
239
261
  "static_value": 30.0,
262
+ "uuid": "116a41ea-48bd-46da-bb13-4ae3c56ae1fb",
263
+ "version_uuid": "3c23b676-6d0e-4c3e-9adf-aeae9c2c00a1",
264
+ "variable": true,
240
265
  "uncertainty_description": {
266
+ "type": "uniform_uncertain",
241
267
  "attributes": [
242
268
  {
243
269
  "name": "lower_bounds",
@@ -248,66 +274,69 @@
248
274
  "value": 30.0
249
275
  },
250
276
  {
251
- "name": "stddev",
252
- "value": 5.0
277
+ "name": "modes",
278
+ "value": 10.0
253
279
  },
254
280
  {
255
281
  "name": "delta_x",
256
282
  "value": null
257
283
  },
258
284
  {
259
- "name": "modes",
260
- "value": 10.0
285
+ "name": "stddev",
286
+ "value": 5.0
261
287
  }
262
- ],
263
- "type": "uniform_uncertain"
288
+ ]
264
289
  },
265
- "units": "",
266
- "value_type": "double",
267
- "variable": true,
268
- "variable_type": "RubyContinuousVariable",
269
- "uuid": "0cf96536-b19a-4053-9cbe-0f0b7e5b1d91",
270
- "version_uuid": "27d0436d-13a2-4b0f-ad11-fa9f5c8a4a55"
290
+ "workflow_index": 0
271
291
  }
272
292
  ],
273
- "workflow_index": 1,
274
- "workflow_step_type": "Measure",
275
- "uuid": "587a1e36-66bc-405b-9fcc-c62c4d85e3f9",
276
- "version_uuid": "f4f001e7-ae96-4b71-bb7c-f65cbd9cd208"
293
+ "workflow_index": 1
277
294
  },
278
295
  {
296
+ "name": "adjust_thermostat_setpoints_by_degrees",
297
+ "display_name": "Adjust Thermostat Setpoints by Degrees",
298
+ "measure_type": "RubyMeasure",
279
299
  "measure_definition_class_name": "ExampleMeasureAutoDirectoryName",
280
300
  "measure_definition_directory": "./measures/example_measure_auto_directory_name",
281
- "measure_definition_display_name": "ExampleMeasureAutoDirectoryName",
282
- "measure_definition_uuid": "32742374-a73a-41ff-b603-d3be9d4a7a49",
283
- "measure_definition_version_uuid": "7befb08e-556e-4200-bbe1-06a8382808b9",
284
- "measure_type": "RubyMeasure",
301
+ "measure_definition_directory_local": "/Users/nlong/working/OpenStudio-analysis-gem/spec/files/measures/example_measure_auto_directory_name",
302
+ "measure_definition_display_name": "Adjust Thermostat Setpoints by Degrees",
303
+ "measure_definition_name": "adjust_thermostat_setpoints_by_degrees",
304
+ "measure_definition_name_xml": null,
305
+ "measure_definition_uuid": "09493c77-9797-4ac5-a37c-f043f0ce73fd",
306
+ "measure_definition_version_uuid": "b143b32b-5d6d-4a6c-ab88-0b13a309dd4a",
285
307
  "arguments": [
286
308
  {
287
309
  "display_name": "Alter Design Day Thermostats?",
288
310
  "display_name_short": "Alter Design Day Thermostats?",
289
311
  "name": "alter_design_days",
290
- "value": false,
291
- "value_type": "bool"
312
+ "value_type": "bool",
313
+ "default_value": false,
314
+ "value": false
292
315
  }
293
316
  ],
294
- "display_name": "Adjust Thermostat Setpoints by Degrees",
295
- "name": "adjust_thermostat_setpoints_by_degrees",
296
317
  "variables": [
297
318
  {
298
319
  "argument": {
299
320
  "display_name": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
300
321
  "display_name_short": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
301
322
  "name": "cooling_adjustment",
302
- "value_type": "double"
323
+ "value_type": "double",
324
+ "default_value": 1.0,
325
+ "value": 1.0
303
326
  },
304
327
  "display_name": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
305
328
  "display_name_short": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
306
- "maximum": 4.0,
329
+ "variable_type": "variable",
330
+ "units": null,
307
331
  "minimum": -4.0,
308
- "relation_to_output": "",
332
+ "maximum": 4.0,
333
+ "relation_to_output": null,
309
334
  "static_value": 1.0,
335
+ "uuid": "62df977e-7717-4e8a-8e7a-340fba137ed1",
336
+ "version_uuid": "036c614b-b39c-48bc-8689-130c853e2017",
337
+ "variable": true,
310
338
  "uncertainty_description": {
339
+ "type": "uniform_uncertain",
311
340
  "attributes": [
312
341
  {
313
342
  "name": "lower_bounds",
@@ -318,41 +347,43 @@
318
347
  "value": 4.0
319
348
  },
320
349
  {
321
- "name": "stddev",
322
- "value": 1.3333333333333333
350
+ "name": "modes",
351
+ "value": 0.0
323
352
  },
324
353
  {
325
354
  "name": "delta_x",
326
355
  "value": null
327
356
  },
328
357
  {
329
- "name": "modes",
330
- "value": 0.0
358
+ "name": "stddev",
359
+ "value": 1.3333333333333333
331
360
  }
332
- ],
333
- "type": "uniform_uncertain"
361
+ ]
334
362
  },
335
- "units": "",
336
- "value_type": "double",
337
- "variable": true,
338
- "variable_type": "RubyContinuousVariable",
339
- "uuid": "e7d66cc3-9ee6-453a-b11c-83a6580b3f62",
340
- "version_uuid": "f81d73b9-a772-41c4-bd76-ad09d2f34612"
363
+ "workflow_index": 0
341
364
  },
342
365
  {
343
366
  "argument": {
344
367
  "display_name": "Degrees Fahrenheit to Adjust heating Setpoint By.",
345
368
  "display_name_short": "Degrees Fahrenheit to Adjust heating Setpoint By.",
346
369
  "name": "heating_adjustment",
347
- "value_type": "double"
370
+ "value_type": "double",
371
+ "default_value": -1.0,
372
+ "value": -1.0
348
373
  },
349
374
  "display_name": "Degrees Fahrenheit to Adjust heating Setpoint By.",
350
375
  "display_name_short": "Degrees Fahrenheit to Adjust heating Setpoint By.",
351
- "maximum": 4.0,
376
+ "variable_type": "variable",
377
+ "units": null,
352
378
  "minimum": -4.0,
353
- "relation_to_output": "",
379
+ "maximum": 4.0,
380
+ "relation_to_output": null,
354
381
  "static_value": -1.0,
382
+ "uuid": "8eed28e5-1939-4c44-8711-79fd6b799369",
383
+ "version_uuid": "6236e77b-6348-4711-91a6-bb74ceff310b",
384
+ "variable": true,
355
385
  "uncertainty_description": {
386
+ "type": "uniform_uncertain",
356
387
  "attributes": [
357
388
  {
358
389
  "name": "lower_bounds",
@@ -363,80 +394,85 @@
363
394
  "value": 4.0
364
395
  },
365
396
  {
366
- "name": "stddev",
367
- "value": 1.3333333333333333
397
+ "name": "modes",
398
+ "value": 0.0
368
399
  },
369
400
  {
370
401
  "name": "delta_x",
371
402
  "value": null
372
403
  },
373
404
  {
374
- "name": "modes",
375
- "value": 0.0
405
+ "name": "stddev",
406
+ "value": 1.3333333333333333
376
407
  }
377
- ],
378
- "type": "uniform_uncertain"
408
+ ]
379
409
  },
380
- "units": "",
381
- "value_type": "double",
382
- "variable": true,
383
- "variable_type": "RubyContinuousVariable",
384
- "uuid": "a77dabee-9b18-4991-a678-c4c14f935a85",
385
- "version_uuid": "428ba678-be83-4e16-a883-fbfe7cce2628"
410
+ "workflow_index": 1
386
411
  }
387
412
  ],
388
- "workflow_index": 2,
389
- "workflow_step_type": "Measure",
390
- "uuid": "ac058517-e95b-4052-a355-aa09390915ea",
391
- "version_uuid": "6667cfb7-5694-4eae-bde9-8800ecedcb88"
413
+ "workflow_index": 2
392
414
  },
393
415
  {
416
+ "name": "set_r_value_of_insulation_for_exterior_walls_to_a_specific_value",
417
+ "display_name": "Set R-value of Insulation for Exterior Walls to a Specific Value",
418
+ "measure_type": "RubyMeasure",
394
419
  "measure_definition_class_name": "ExampleMeasureAutoDirectoryName",
395
420
  "measure_definition_directory": "./measures/example_measure_auto_directory_name",
396
- "measure_definition_display_name": "ExampleMeasureAutoDirectoryName",
397
- "measure_definition_uuid": "0744ebae-ddf3-4f42-b3de-63d005ecbf8d",
398
- "measure_definition_version_uuid": "2b9476fa-d390-4437-abc3-b7cfe0ebe516",
399
- "measure_type": "RubyMeasure",
421
+ "measure_definition_directory_local": "/Users/nlong/working/OpenStudio-analysis-gem/spec/files/measures/example_measure_auto_directory_name",
422
+ "measure_definition_display_name": "Set R-value of Insulation for Exterior Walls to a Specific Value",
423
+ "measure_definition_name": "set_r_value_of_insulation_for_exterior_walls_to_a_specific_value",
424
+ "measure_definition_name_xml": null,
425
+ "measure_definition_uuid": "82457a6f-471a-4515-8017-6756c0015708",
426
+ "measure_definition_version_uuid": "d62e42a1-039c-42b6-8922-3dac93a806fa",
400
427
  "arguments": [
401
428
  {
402
429
  "display_name": "Increase in Material and Installation Costs for Construction per Area Used ($/ft^2).",
403
430
  "display_name_short": "Increase in Material and Installation Costs for Construction per Area Used ($/ft^2).",
404
431
  "name": "material_cost_increase_ip",
405
- "value": 0.0,
406
- "value_type": "double"
432
+ "value_type": "double",
433
+ "default_value": 0.0,
434
+ "value": 0.0
407
435
  },
408
436
  {
409
437
  "display_name": "One Time Retrofit Cost to Add Insulation to Construction ($/ft^2).",
410
438
  "display_name_short": "One Time Retrofit Cost to Add Insulation to Construction ($/ft^2).",
411
439
  "name": "one_time_retrofit_cost_ip",
412
- "value": 0.0,
413
- "value_type": "double"
440
+ "value_type": "double",
441
+ "default_value": 0.0,
442
+ "value": 0.0
414
443
  },
415
444
  {
416
445
  "display_name": "Year to Incur One Time Retrofit Cost (whole years).",
417
446
  "display_name_short": "Year to Incur One Time Retrofit Cost (whole years).",
418
447
  "name": "years_until_retrofit_cost",
419
- "value": 0,
420
- "value_type": "integer"
448
+ "value_type": "integer",
449
+ "default_value": 0,
450
+ "value": 0
421
451
  }
422
452
  ],
423
- "display_name": "Set R-value of Insulation for Exterior Walls to a Specific Value",
424
- "name": "set_r_value_of_insulation_for_exterior_walls_to_a_specific_value",
425
453
  "variables": [
426
454
  {
427
455
  "argument": {
428
456
  "display_name": "Wall R Value",
429
457
  "display_name_short": "Wall R Value",
430
458
  "name": "r_value",
431
- "value_type": "double"
459
+ "value_type": "double",
460
+ "default_value": 5.0,
461
+ "value": 5.0
432
462
  },
433
463
  "display_name": "Wall R Value",
434
464
  "display_name_short": "Wall R Value",
435
- "maximum": 5.0,
465
+ "variable_type": "variable",
466
+ "units": null,
436
467
  "minimum": 0.0,
437
- "relation_to_output": "",
468
+ "maximum": 5.0,
469
+ "relation_to_output": null,
438
470
  "static_value": 5.0,
471
+ "uuid": "28d1db3b-5bae-44ee-bd56-5c89138bb828",
472
+ "version_uuid": "be9a4bad-74dc-4f02-aa86-90bcd86585fb",
473
+ "variable": true,
439
474
  "uncertainty_description": {
475
+ "type": "triangle_uncertain",
440
476
  "attributes": [
441
477
  {
442
478
  "name": "lower_bounds",
@@ -447,80 +483,85 @@
447
483
  "value": 5.0
448
484
  },
449
485
  {
450
- "name": "stddev",
451
- "value": 0.8333333333333334
486
+ "name": "modes",
487
+ "value": 2.5
452
488
  },
453
489
  {
454
490
  "name": "delta_x",
455
491
  "value": null
456
492
  },
457
493
  {
458
- "name": "modes",
459
- "value": 2.5
494
+ "name": "stddev",
495
+ "value": 0.8333333333333334
460
496
  }
461
- ],
462
- "type": "triangle_uncertain"
497
+ ]
463
498
  },
464
- "units": "",
465
- "value_type": "double",
466
- "variable": true,
467
- "variable_type": "RubyContinuousVariable",
468
- "uuid": "92724e27-7661-453e-ac28-30a151787c1b",
469
- "version_uuid": "ce864576-0ad2-461d-91e1-14c55c53acd7"
499
+ "workflow_index": 0
470
500
  }
471
501
  ],
472
- "workflow_index": 3,
473
- "workflow_step_type": "Measure",
474
- "uuid": "bbe15750-74f9-4187-b193-c6082779a42b",
475
- "version_uuid": "57a82f85-b2c3-4150-8677-71ddb681b315"
502
+ "workflow_index": 3
476
503
  },
477
504
  {
505
+ "name": "set_r_value_of_insulation_for_roofs_to_a_specific_value",
506
+ "display_name": "Set R-value of Insulation for Roofs to a Specific Value",
507
+ "measure_type": "RubyMeasure",
478
508
  "measure_definition_class_name": "ExampleMeasureAutoDirectoryName",
479
509
  "measure_definition_directory": "./measures/example_measure_auto_directory_name",
480
- "measure_definition_display_name": "ExampleMeasureAutoDirectoryName",
481
- "measure_definition_uuid": "d7d4ac69-4506-42ec-bcce-1abb11226abc",
482
- "measure_definition_version_uuid": "f6ecfcee-76f9-42f1-b9ea-967bba9336dc",
483
- "measure_type": "RubyMeasure",
510
+ "measure_definition_directory_local": "/Users/nlong/working/OpenStudio-analysis-gem/spec/files/measures/example_measure_auto_directory_name",
511
+ "measure_definition_display_name": "Set R-value of Insulation for Roofs to a Specific Value",
512
+ "measure_definition_name": "set_r_value_of_insulation_for_roofs_to_a_specific_value",
513
+ "measure_definition_name_xml": null,
514
+ "measure_definition_uuid": "e1a5dac2-472c-4f55-b45b-db8456fb2bd4",
515
+ "measure_definition_version_uuid": "42a9cd59-128e-4a24-a19b-1ff81130f109",
484
516
  "arguments": [
485
517
  {
486
518
  "display_name": "Increase in Material and Installation Costs for Construction per Area Used ($/ft^2).",
487
519
  "display_name_short": "Increase in Material and Installation Costs for Construction per Area Used ($/ft^2).",
488
520
  "name": "material_cost_increase_ip",
489
- "value": 0.0,
490
- "value_type": "double"
521
+ "value_type": "double",
522
+ "default_value": 0.0,
523
+ "value": 0.0
491
524
  },
492
525
  {
493
526
  "display_name": "One Time Retrofit Cost to Add Insulation to Construction ($/ft^2).",
494
527
  "display_name_short": "One Time Retrofit Cost to Add Insulation to Construction ($/ft^2).",
495
528
  "name": "one_time_retrofit_cost_ip",
496
- "value": 0.0,
497
- "value_type": "double"
529
+ "value_type": "double",
530
+ "default_value": 0.0,
531
+ "value": 0.0
498
532
  },
499
533
  {
500
534
  "display_name": "Year to Incur One Time Retrofit Cost (whole years).",
501
535
  "display_name_short": "Year to Incur One Time Retrofit Cost (whole years).",
502
536
  "name": "years_until_retrofit_cost",
503
- "value": 0,
504
- "value_type": "integer"
537
+ "value_type": "integer",
538
+ "default_value": 0,
539
+ "value": 0
505
540
  }
506
541
  ],
507
- "display_name": "Set R-value of Insulation for Roofs to a Specific Value",
508
- "name": "set_r_value_of_insulation_for_roofs_to_a_specific_value",
509
542
  "variables": [
510
543
  {
511
544
  "argument": {
512
545
  "display_name": "Roof R Value",
513
546
  "display_name_short": "Roof R Value",
514
547
  "name": "r_value",
515
- "value_type": "double"
548
+ "value_type": "double",
549
+ "default_value": 5.0,
550
+ "value": 5.0
516
551
  },
517
552
  "display_name": "Roof R Value",
518
553
  "display_name_short": "Roof R Value",
519
- "maximum": 5.0,
554
+ "variable_type": "variable",
555
+ "units": null,
520
556
  "minimum": 0.0,
521
- "relation_to_output": "",
557
+ "maximum": 5.0,
558
+ "relation_to_output": null,
522
559
  "static_value": 5.0,
560
+ "uuid": "3c2298d5-52e4-42f5-bda5-241fe927e2ab",
561
+ "version_uuid": "5bf9f7e9-5a42-431d-8fa8-f0d1bafed8e2",
562
+ "variable": true,
523
563
  "uncertainty_description": {
564
+ "type": "triangle_uncertain",
524
565
  "attributes": [
525
566
  {
526
567
  "name": "lower_bounds",
@@ -531,66 +572,69 @@
531
572
  "value": 5.0
532
573
  },
533
574
  {
534
- "name": "stddev",
535
- "value": 0.8333333333333334
575
+ "name": "modes",
576
+ "value": 2.5
536
577
  },
537
578
  {
538
579
  "name": "delta_x",
539
580
  "value": null
540
581
  },
541
582
  {
542
- "name": "modes",
543
- "value": 2.5
583
+ "name": "stddev",
584
+ "value": 0.8333333333333334
544
585
  }
545
- ],
546
- "type": "triangle_uncertain"
586
+ ]
547
587
  },
548
- "units": "",
549
- "value_type": "double",
550
- "variable": true,
551
- "variable_type": "RubyContinuousVariable",
552
- "uuid": "f0b97647-f8da-43b5-9107-6cee42daefcc",
553
- "version_uuid": "425b8074-9071-4f92-bd76-a7fd6df62f46"
588
+ "workflow_index": 0
554
589
  }
555
590
  ],
556
- "workflow_index": 4,
557
- "workflow_step_type": "Measure",
558
- "uuid": "e3cc1019-b2cb-49a4-ad7f-0516b1fc23ad",
559
- "version_uuid": "e38441e7-8900-4fa6-b8f5-f3b44d7f3a91"
591
+ "workflow_index": 4
560
592
  },
561
593
  {
594
+ "name": "reduce_ventilation_by_percentage",
595
+ "display_name": "Reduce Ventilation By Percentage",
596
+ "measure_type": "RubyMeasure",
562
597
  "measure_definition_class_name": "ExampleMeasureAutoDirectoryName",
563
598
  "measure_definition_directory": "./measures/example_measure_auto_directory_name",
564
- "measure_definition_display_name": "ExampleMeasureAutoDirectoryName",
565
- "measure_definition_uuid": "4dd806fb-47e9-4e75-a6b6-2d9905e92f10",
566
- "measure_definition_version_uuid": "e1093ec0-b8a5-4f73-8dd1-21ba41968f63",
567
- "measure_type": "RubyMeasure",
599
+ "measure_definition_directory_local": "/Users/nlong/working/OpenStudio-analysis-gem/spec/files/measures/example_measure_auto_directory_name",
600
+ "measure_definition_display_name": "Reduce Ventilation By Percentage",
601
+ "measure_definition_name": "reduce_ventilation_by_percentage",
602
+ "measure_definition_name_xml": null,
603
+ "measure_definition_uuid": "8ca9f686-93f9-402a-9d03-d42d365e4c87",
604
+ "measure_definition_version_uuid": "899ba828-c604-4745-a580-db4ee69ccb30",
568
605
  "arguments": [
569
606
  {
570
607
  "display_name": "Apply the Measure to a Specific Space Type or to the Entire Model.",
571
608
  "display_name_short": "Apply the Measure to a Specific Space Type or to the Entire Model.",
572
609
  "name": "space_type",
573
- "value": "*Entire Building*",
574
- "value_type": "choice"
610
+ "value_type": "string",
611
+ "default_value": "*Entire Building*",
612
+ "value": "*Entire Building*"
575
613
  }
576
614
  ],
577
- "display_name": "Reduce Ventilation By Percentage",
578
- "name": "reduce_ventilation_by_percentage",
579
615
  "variables": [
580
616
  {
581
617
  "argument": {
582
618
  "display_name": "Design Specification Outdoor Air Reduction (%).",
583
619
  "display_name_short": "Design Specification Outdoor Air Reduction (%).",
584
620
  "name": "design_spec_outdoor_air_reduction_percent",
585
- "value_type": "double"
621
+ "value_type": "double",
622
+ "default_value": 0.0,
623
+ "value": 0.0
586
624
  },
587
625
  "display_name": "Design Specification Outdoor Air Reduction (%).",
588
626
  "display_name_short": "Design Specification Outdoor Air Reduction (%).",
589
- "maximum": 90.0,
627
+ "variable_type": "variable",
628
+ "units": null,
590
629
  "minimum": 0.0,
591
- "relation_to_output": "",
630
+ "maximum": 90.0,
631
+ "relation_to_output": null,
592
632
  "static_value": 0.0,
633
+ "uuid": "b3f5b348-0797-4acd-b556-579d7fe8b3d6",
634
+ "version_uuid": "11b80795-c06a-4e41-9a66-f23c9993ffaf",
635
+ "variable": true,
593
636
  "uncertainty_description": {
637
+ "type": "triangle_uncertain",
594
638
  "attributes": [
595
639
  {
596
640
  "name": "lower_bounds",
@@ -601,35 +645,25 @@
601
645
  "value": 90.0
602
646
  },
603
647
  {
604
- "name": "stddev",
605
- "value": 15.0
648
+ "name": "modes",
649
+ "value": 20.0
606
650
  },
607
651
  {
608
652
  "name": "delta_x",
609
653
  "value": null
610
654
  },
611
655
  {
612
- "name": "modes",
613
- "value": 20.0
656
+ "name": "stddev",
657
+ "value": 15.0
614
658
  }
615
- ],
616
- "type": "triangle_uncertain"
659
+ ]
617
660
  },
618
- "units": "",
619
- "value_type": "double",
620
- "variable": true,
621
- "variable_type": "RubyContinuousVariable",
622
- "uuid": "b219890b-0913-45f2-b1b7-12c969fcb883",
623
- "version_uuid": "faa685f7-73a1-4d01-bbb0-821f90d1b2c3"
661
+ "workflow_index": 0
624
662
  }
625
663
  ],
626
- "workflow_index": 5,
627
- "workflow_step_type": "Measure",
628
- "uuid": "f4440d81-9230-43c6-bc8a-ccd4e3877ff5",
629
- "version_uuid": "3683f60f-fbd1-4046-be22-7eacb684ba77"
664
+ "workflow_index": 5
630
665
  }
631
- ],
632
- "analysis_type": "nsga"
666
+ ]
633
667
  },
634
668
  "seed": {
635
669
  "file_type": "OSM",
@@ -638,6 +672,7 @@
638
672
  "weather_file": {
639
673
  "file_type": "EPW",
640
674
  "path": "./weather/partial_weather.epw"
641
- }
675
+ },
676
+ "file_format_version": 1
642
677
  }
643
678
  }