openstudio-analysis 0.3.7 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -6
  3. data/README.md +55 -7
  4. data/Rakefile +10 -0
  5. data/lib/openstudio/analysis/algorithm_attributes.rb +22 -0
  6. data/lib/openstudio/analysis/formulation.rb +174 -0
  7. data/lib/openstudio/analysis/translator/excel.rb +65 -48
  8. data/lib/openstudio/analysis/version.rb +1 -1
  9. data/lib/openstudio/analysis/workflow.rb +197 -0
  10. data/lib/openstudio/analysis/workflow_step.rb +312 -0
  11. data/lib/openstudio/analysis.rb +8 -0
  12. data/lib/openstudio/helpers/string.rb +22 -22
  13. data/lib/openstudio/templates/analysis.json.erb +0 -1
  14. data/lib/openstudio-analysis.rb +9 -0
  15. data/spec/files/0_1_09_small_list_incomplete.xlsx +0 -0
  16. data/spec/files/0_2_0_template_simpletest.xlsx +0 -0
  17. data/spec/files/0_4_0_lhs_discrete_continuous.xlsx +0 -0
  18. data/spec/files/analysis/example_analysis_api.json +656 -0
  19. data/spec/files/analysis/examples/discrete_lhs_example.json +809 -0
  20. data/spec/files/analysis/examples/medium_office_example.json +1673 -0
  21. data/spec/files/analysis/lhs_discrete_and_continuous_variables_api.json +1230 -0
  22. data/spec/files/analysis/medium_office.json +91 -92
  23. data/spec/files/analysis/medium_office.zip +0 -0
  24. data/spec/files/analysis/name_goes_here_api.json +1681 -0
  25. data/spec/files/analysis/output_vars_api.json +632 -0
  26. data/spec/files/analysis/preflight_api.json +1518 -0
  27. data/spec/files/analysis/simple_test_api.json +519 -0
  28. data/spec/files/analysis/test_model_api.json +493 -0
  29. data/spec/files/export/analysis/0_1_09_outputvars.json +38 -39
  30. data/spec/files/export/analysis/0_1_09_outputvars.zip +0 -0
  31. data/spec/files/export/analysis/0_1_11_discrete_variables.json +46 -47
  32. data/spec/files/export/analysis/0_1_11_discrete_variables.zip +0 -0
  33. data/spec/files/export/analysis/0_1_12_discrete_dynamic_columns.json +8 -9
  34. data/spec/files/export/analysis/0_1_12_discrete_dynamic_columns.zip +0 -0
  35. data/spec/files/export/analysis/0_2_0_template_simpletest.json +19 -14
  36. data/spec/files/export/analysis/0_2_0_template_simpletest.zip +0 -0
  37. data/spec/files/export/analysis/0_3_0_outputs.json +99 -100
  38. data/spec/files/export/analysis/0_3_0_outputs.zip +0 -0
  39. data/spec/files/export/analysis/{6d6a08db-fdf8-4bb5-8ad3-18c471418c72.json → 276ccf51-ed22-4604-a380-8985cec5efe8.json} +103 -104
  40. data/spec/files/export/analysis/{6d6a08db-fdf8-4bb5-8ad3-18c471418c72.zip → 276ccf51-ed22-4604-a380-8985cec5efe8.zip} +0 -0
  41. data/spec/files/export/analysis/{55086845-70cf-487f-87f6-7a147cbf1e72.json → 639cb8a5-cdbb-4b69-955a-cbb650f6872b.json} +107 -108
  42. data/spec/files/export/analysis/{55086845-70cf-487f-87f6-7a147cbf1e72.zip → 639cb8a5-cdbb-4b69-955a-cbb650f6872b.zip} +0 -0
  43. data/spec/files/export/analysis/{10c791ce-cba7-4506-a863-3fb15703889b.json → 9560f95b-5730-4038-a95b-328c825c596b.json} +99 -100
  44. data/spec/files/export/analysis/{10c791ce-cba7-4506-a863-3fb15703889b.zip → 9560f95b-5730-4038-a95b-328c825c596b.zip} +0 -0
  45. data/spec/files/export/analysis/{f028bfbe-e30e-488d-adad-a60a62bbf7e0.json → c50f0062-cdfb-4dec-bc02-215f6c29af3c.json} +107 -108
  46. data/spec/files/export/analysis/{f028bfbe-e30e-488d-adad-a60a62bbf7e0.zip → c50f0062-cdfb-4dec-bc02-215f6c29af3c.zip} +0 -0
  47. data/spec/files/export/analysis/discrete_lhs_example.json +1185 -0
  48. data/spec/files/export/analysis/discrete_lhs_example.zip +0 -0
  49. data/spec/files/export/analysis/small_seed.json +38 -39
  50. data/spec/files/export/analysis/small_seed.zip +0 -0
  51. data/spec/files/export/workflow/analysis.json +23 -0
  52. data/spec/files/measures/ActualMeasureNoJson/measure.json +25 -0
  53. data/spec/files/measures/ActualMeasureNoJson/measure.rb +80 -0
  54. data/spec/files/measures/ActualMeasureNoJson/measure.xml +2 -0
  55. data/spec/files/measures/SetThermostatSchedules/measure.json +63 -0
  56. data/spec/files/measures/SetThermostatSchedules/measure.rb +254 -0
  57. data/spec/files/measures/SetThermostatSchedules/measure.xml +2 -0
  58. data/spec/openstudio/excel_spec.rb +11 -11
  59. data/spec/openstudio/formulation_spec.rb +107 -0
  60. data/spec/openstudio/workflow_spec.rb +90 -0
  61. data/spec/openstudio/workflow_step_spec.rb +116 -0
  62. data/spec/reports/SPEC-OpenStudio-Analysis-Formulation.xml +28 -0
  63. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-object-instance.xml +2 -2
  64. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.xml +2 -2
  65. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.xml +1 -1
  66. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.xml +30 -4
  67. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.xml +11 -3
  68. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.xml +6 -6
  69. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.xml +2 -2
  70. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.xml +2 -2
  71. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.xml +52 -8
  72. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.xml +22 -5
  73. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.xml +2 -2
  74. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.xml +2 -2
  75. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.xml +28 -5
  76. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.xml +2 -2
  77. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.xml +3 -3
  78. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.xml +13 -6
  79. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.xml +55 -5
  80. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-dynamic-uuid-assignments.xml +9 -4
  81. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-measure-existence-checks.xml +8 -3
  82. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-objective-functions.xml +13 -5
  83. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.xml +9 -4
  84. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-5-and-measure-paths.xml +9 -4
  85. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-7-and-worker-init-final-scripts.0.xml +40 -2
  86. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-7-and-worker-init-final-scripts.xml +9 -4
  87. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.xml +1 -1
  88. data/spec/reports/SPEC-OpenStudio-Analysis-Workflow.xml +31 -0
  89. data/spec/reports/SPEC-OpenStudio-Analysis-WorkflowStep.xml +29 -0
  90. data/spec/spec_helper.rb +1 -1
  91. metadata +87 -18
@@ -0,0 +1,656 @@
1
+ {
2
+ "analysis": {
3
+ "display_name": "example_analysis",
4
+ "name": "example_analysis",
5
+ "output_variables": [
6
+
7
+ ],
8
+ "problem": {
9
+ "analysis_type": null,
10
+ "algorithm": {
11
+ "objective_functions": [
12
+
13
+ ]
14
+ },
15
+ "workflow": [
16
+ {
17
+ "name": "reduce_lighting_loads_by_percentage",
18
+ "display_name": "Reduce Lighting Loads by Percentage",
19
+ "measure_type": "RubyMeasure",
20
+ "measure_definition_class_name": "ReduceLightingLoadsByPercentage",
21
+ "measure_definition_directory": "./spec/files/measures/reduce_lighting_loads_by_percentage",
22
+ "measure_definition_display_name": "Reduce Lighting Loads by Percentage",
23
+ "measure_definition_name": "reduce_lighting_loads_by_percentage",
24
+ "measure_definition_name_xml": null,
25
+ "measure_definition_uuid": "4343635e-cec5-4b0a-b766-a1cc086e5c22",
26
+ "measure_definition_version_uuid": "b76f4ef6-c86d-477c-ba95-507b73ea4cfc",
27
+ "arguments": [
28
+ {
29
+ "display_name": "Apply the Measure to a Specific Space Type or to the Entire Model.",
30
+ "display_name_short": "Apply the Measure to a Specific Space Type or to the Entire Model.",
31
+ "name": "space_type",
32
+ "value_type": "string",
33
+ "default_value": "*Entire Building*",
34
+ "value": "*Entire Building*"
35
+ },
36
+ {
37
+ "display_name": "Increase in Material and Installation Cost for Lighting per Floor Area (%).",
38
+ "display_name_short": "Increase in Material and Installation Cost for Lighting per Floor Area (%).",
39
+ "name": "material_and_installation_cost",
40
+ "value_type": "double",
41
+ "default_value": 0.0,
42
+ "value": 0.0
43
+ },
44
+ {
45
+ "display_name": "Increase in Demolition Costs for Lighting per Floor Area (%).",
46
+ "display_name_short": "Increase in Demolition Costs for Lighting per Floor Area (%).",
47
+ "name": "demolition_cost",
48
+ "value_type": "double",
49
+ "default_value": 0.0,
50
+ "value": 0.0
51
+ },
52
+ {
53
+ "display_name": "Years Until Costs Start (whole years).",
54
+ "display_name_short": "Years Until Costs Start (whole years).",
55
+ "name": "years_until_costs_start",
56
+ "value_type": "integer",
57
+ "default_value": 0,
58
+ "value": 0
59
+ },
60
+ {
61
+ "display_name": "Demolition Costs Occur During Initial Construction?",
62
+ "display_name_short": "Demolition Costs Occur During Initial Construction?",
63
+ "name": "demo_cost_initial_const",
64
+ "value_type": "bool",
65
+ "default_value": true,
66
+ "value": true
67
+ },
68
+ {
69
+ "display_name": "Expected Life (whole years).",
70
+ "display_name_short": "Expected Life (whole years).",
71
+ "name": "expected_life",
72
+ "value_type": "integer",
73
+ "default_value": 15,
74
+ "value": 15
75
+ },
76
+ {
77
+ "display_name": "Increase O & M Costs for Lighting per Floor Area (%).",
78
+ "display_name_short": "Increase O & M Costs for Lighting per Floor Area (%).",
79
+ "name": "om_cost",
80
+ "value_type": "double",
81
+ "default_value": 0.0,
82
+ "value": 0.0
83
+ },
84
+ {
85
+ "display_name": "O & M Frequency (whole years).",
86
+ "display_name_short": "O & M Frequency (whole years).",
87
+ "name": "om_frequency",
88
+ "value_type": "integer",
89
+ "default_value": 1,
90
+ "value": 1
91
+ }
92
+ ],
93
+ "variables": [
94
+ {
95
+ "argument": {
96
+ "display_name": "Lighting Power Reduction",
97
+ "display_name_short": "Lighting Power Reduction",
98
+ "name": "lighting_power_reduction_percent",
99
+ "value_type": "double",
100
+ "default_value": 30.0,
101
+ "value": 30.0
102
+ },
103
+ "display_name": "Lighting Power Reduction",
104
+ "display_name_short": "Lighting Power Reduction",
105
+ "units": null,
106
+ "minimum": 0.0,
107
+ "maximum": 10.0,
108
+ "relation_to_output": null,
109
+ "uuid": "d7f8d65e-a307-4996-afe5-a86b85d36cc4",
110
+ "version_uuid": "cd75b679-78ae-408a-bdd1-ecc2c2e09fca",
111
+ "variable": true,
112
+ "static_value": 30.0,
113
+ "uncertainty_description": {
114
+ "type": "discrete_uncertain",
115
+ "attributes": [
116
+ {
117
+ "name": "discrete",
118
+ "values_and_weights": [
119
+ {
120
+ "value": 10,
121
+ "weight": 0.1
122
+ },
123
+ {
124
+ "value": 20,
125
+ "weight": 0.4
126
+ },
127
+ {
128
+ "value": 40,
129
+ "weight": 0.2
130
+ },
131
+ {
132
+ "value": 60,
133
+ "weight": 0.3
134
+ }
135
+ ]
136
+ },
137
+ {
138
+ "name": "lower_bounds",
139
+ "value": 0.0
140
+ },
141
+ {
142
+ "name": "upper_bounds",
143
+ "value": 10.0
144
+ },
145
+ {
146
+ "name": "modes",
147
+ "value": 5.0
148
+ }
149
+ ]
150
+ },
151
+ "workflow_index": 0
152
+ }
153
+ ],
154
+ "workflow_index": 0
155
+ },
156
+ {
157
+ "name": "reducespaceinfiltrationbypercentage",
158
+ "display_name": "ReduceSpaceInfiltrationByPercentage",
159
+ "measure_type": "RubyMeasure",
160
+ "measure_definition_class_name": "ExampleMeasureAutoDirectoryName",
161
+ "measure_definition_directory": "./spec/files/measures/example_measure_auto_directory_name",
162
+ "measure_definition_display_name": "ReduceSpaceInfiltrationByPercentage",
163
+ "measure_definition_name": "reducespaceinfiltrationbypercentage",
164
+ "measure_definition_name_xml": null,
165
+ "measure_definition_uuid": "18b41d4d-8958-46c6-b544-99d50d86cc62",
166
+ "measure_definition_version_uuid": "96254993-3917-4aee-98a0-3a93040e946f",
167
+ "arguments": [
168
+ {
169
+ "display_name": "Apply the Measure to a Specific Space Type or to the Entire Model.",
170
+ "display_name_short": "Apply the Measure to a Specific Space Type or to the Entire Model.",
171
+ "name": "space_type",
172
+ "value_type": "string",
173
+ "default_value": "*Entire Building*",
174
+ "value": "*Entire Building*"
175
+ },
176
+ {
177
+ "display_name": "Increase in Material and Installation Costs for Building per Affected Floor Area ($/ft^2).",
178
+ "display_name_short": "Increase in Material and Installation Costs for Building per Affected Floor Area ($/ft^2).",
179
+ "name": "material_and_installation_cost",
180
+ "value_type": "double",
181
+ "default_value": 0.0,
182
+ "value": 0.0
183
+ },
184
+ {
185
+ "display_name": "O & M Costs for Construction per Affected Floor Area ($/ft^2).",
186
+ "display_name_short": "O & M Costs for Construction per Affected Floor Area ($/ft^2).",
187
+ "name": "om_cost",
188
+ "value_type": "double",
189
+ "default_value": 0.0,
190
+ "value": 0.0
191
+ },
192
+ {
193
+ "display_name": "O & M Frequency (whole years).",
194
+ "display_name_short": "O & M Frequency (whole years).",
195
+ "name": "om_frequency",
196
+ "value_type": "integer",
197
+ "default_value": 1,
198
+ "value": 1
199
+ }
200
+ ],
201
+ "variables": [
202
+ {
203
+ "argument": {
204
+ "display_name": "Space Infiltration Power Reduction",
205
+ "display_name_short": "Space Infiltration Power Reduction",
206
+ "name": "space_infiltration_reduction_percent",
207
+ "value_type": "double",
208
+ "default_value": 30.0,
209
+ "value": 30.0
210
+ },
211
+ "display_name": "Space Infiltration Power Reduction",
212
+ "display_name_short": "Space Infiltration Power Reduction",
213
+ "units": null,
214
+ "minimum": 0.0,
215
+ "maximum": 30.0,
216
+ "relation_to_output": null,
217
+ "uuid": "c6d3b07e-3ab6-4047-b5de-cf2367fa5b99",
218
+ "version_uuid": "74c17b16-464a-4aaa-a67a-836cd7e046bb",
219
+ "variable": true,
220
+ "static_value": 30.0,
221
+ "uncertainty_description": {
222
+ "type": "uniform_uncertain",
223
+ "attributes": [
224
+ {
225
+ "name": "lower_bounds",
226
+ "value": 0.0
227
+ },
228
+ {
229
+ "name": "upper_bounds",
230
+ "value": 30.0
231
+ },
232
+ {
233
+ "name": "modes",
234
+ "value": 10.0
235
+ }
236
+ ]
237
+ },
238
+ "workflow_index": 0
239
+ }
240
+ ],
241
+ "workflow_index": 1
242
+ },
243
+ {
244
+ "name": "adjust_thermostat_setpoints_by_degrees",
245
+ "display_name": "Adjust Thermostat Setpoints by Degrees",
246
+ "measure_type": "RubyMeasure",
247
+ "measure_definition_class_name": "ExampleMeasureAutoDirectoryName",
248
+ "measure_definition_directory": "./spec/files/measures/example_measure_auto_directory_name",
249
+ "measure_definition_display_name": "Adjust Thermostat Setpoints by Degrees",
250
+ "measure_definition_name": "adjust_thermostat_setpoints_by_degrees",
251
+ "measure_definition_name_xml": null,
252
+ "measure_definition_uuid": "ad355edf-4e23-4e8f-b58c-e05e655a3193",
253
+ "measure_definition_version_uuid": "c95dec55-ffca-435f-a923-7f1e8db5d4a2",
254
+ "arguments": [
255
+
256
+ ],
257
+ "variables": [
258
+ {
259
+ "argument": {
260
+ "display_name": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
261
+ "display_name_short": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
262
+ "name": "cooling_adjustment",
263
+ "value_type": "double",
264
+ "default_value": 1.0,
265
+ "value": 1.0
266
+ },
267
+ "display_name": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
268
+ "display_name_short": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
269
+ "units": null,
270
+ "minimum": -4.0,
271
+ "maximum": 4.0,
272
+ "relation_to_output": null,
273
+ "uuid": "439adb6e-24a2-470b-aaa5-93f294d5198f",
274
+ "version_uuid": "e92d1a3f-54f2-4da0-a429-f668da083666",
275
+ "variable": true,
276
+ "static_value": 1.0,
277
+ "uncertainty_description": {
278
+ "type": "uniform_uncertain",
279
+ "attributes": [
280
+ {
281
+ "name": "lower_bounds",
282
+ "value": -4.0
283
+ },
284
+ {
285
+ "name": "upper_bounds",
286
+ "value": 4.0
287
+ },
288
+ {
289
+ "name": "modes",
290
+ "value": 0.0
291
+ }
292
+ ]
293
+ },
294
+ "workflow_index": 0
295
+ },
296
+ {
297
+ "argument": {
298
+ "display_name": "Degrees Fahrenheit to Adjust heating Setpoint By.",
299
+ "display_name_short": "Degrees Fahrenheit to Adjust heating Setpoint By.",
300
+ "name": "heating_adjustment",
301
+ "value_type": "double",
302
+ "default_value": -1.0,
303
+ "value": -1.0
304
+ },
305
+ "display_name": "Degrees Fahrenheit to Adjust heating Setpoint By.",
306
+ "display_name_short": "Degrees Fahrenheit to Adjust heating Setpoint By.",
307
+ "units": null,
308
+ "minimum": -4.0,
309
+ "maximum": 4.0,
310
+ "relation_to_output": null,
311
+ "uuid": "f453591b-90b5-4e79-aaa2-3a122ebe670b",
312
+ "version_uuid": "469e01a2-f09d-4025-b2d4-0e8c86a38499",
313
+ "variable": true,
314
+ "static_value": -1.0,
315
+ "uncertainty_description": {
316
+ "type": "uniform_uncertain",
317
+ "attributes": [
318
+ {
319
+ "name": "lower_bounds",
320
+ "value": -4.0
321
+ },
322
+ {
323
+ "name": "upper_bounds",
324
+ "value": 4.0
325
+ },
326
+ {
327
+ "name": "modes",
328
+ "value": 0.0
329
+ }
330
+ ]
331
+ },
332
+ "workflow_index": 1
333
+ },
334
+ {
335
+ "argument": {
336
+ "display_name": "Alter Design Day Thermostats?",
337
+ "display_name_short": "Alter Design Day Thermostats?",
338
+ "name": "alter_design_days",
339
+ "value_type": "bool",
340
+ "default_value": false,
341
+ "value": false
342
+ },
343
+ "display_name": "Alter Design Day Thermostats?",
344
+ "display_name_short": "Alter Design Day Thermostats?",
345
+ "units": null,
346
+ "minimum": true,
347
+ "maximum": true,
348
+ "relation_to_output": null,
349
+ "uuid": "63affb8f-dc93-4f3a-b8c7-045d7760f79b",
350
+ "version_uuid": "16b0aec8-bf39-4d0a-8c94-e447c47fbf80",
351
+ "variable": true,
352
+ "static_value": false,
353
+ "uncertainty_description": {
354
+ "type": "discrete_uncertain",
355
+ "attributes": [
356
+ {
357
+ "name": "discrete",
358
+ "values_and_weights": [
359
+ {
360
+ "value": true,
361
+ "weight": 0.8
362
+ },
363
+ {
364
+ "value": false,
365
+ "weight": 0.2
366
+ }
367
+ ]
368
+ },
369
+ {
370
+ "name": "lower_bounds",
371
+ "value": true
372
+ },
373
+ {
374
+ "name": "upper_bounds",
375
+ "value": true
376
+ },
377
+ {
378
+ "name": "modes",
379
+ "value": false
380
+ }
381
+ ]
382
+ },
383
+ "workflow_index": 2
384
+ }
385
+ ],
386
+ "workflow_index": 2
387
+ },
388
+ {
389
+ "name": "set_r_value_of_insulation_for_exterior_walls_to_a_specific_value",
390
+ "display_name": "Set R-value of Insulation for Exterior Walls to a Specific Value",
391
+ "measure_type": "RubyMeasure",
392
+ "measure_definition_class_name": "ExampleMeasureAutoDirectoryName",
393
+ "measure_definition_directory": "./spec/files/measures/example_measure_auto_directory_name",
394
+ "measure_definition_display_name": "Set R-value of Insulation for Exterior Walls to a Specific Value",
395
+ "measure_definition_name": "set_r_value_of_insulation_for_exterior_walls_to_a_specific_value",
396
+ "measure_definition_name_xml": null,
397
+ "measure_definition_uuid": "658a6e46-c859-4709-b21b-8c6ec18d7e6b",
398
+ "measure_definition_version_uuid": "b8684ae0-e3b4-47c0-85d0-551c70b79035",
399
+ "arguments": [
400
+ {
401
+ "display_name": "Increase in Material and Installation Costs for Construction per Area Used ($/ft^2).",
402
+ "display_name_short": "Increase in Material and Installation Costs for Construction per Area Used ($/ft^2).",
403
+ "name": "material_cost_increase_ip",
404
+ "value_type": "double",
405
+ "default_value": 0.0,
406
+ "value": 0.0
407
+ },
408
+ {
409
+ "display_name": "One Time Retrofit Cost to Add Insulation to Construction ($/ft^2).",
410
+ "display_name_short": "One Time Retrofit Cost to Add Insulation to Construction ($/ft^2).",
411
+ "name": "one_time_retrofit_cost_ip",
412
+ "value_type": "double",
413
+ "default_value": 0.0,
414
+ "value": 0.0
415
+ },
416
+ {
417
+ "display_name": "Year to Incur One Time Retrofit Cost (whole years).",
418
+ "display_name_short": "Year to Incur One Time Retrofit Cost (whole years).",
419
+ "name": "years_until_retrofit_cost",
420
+ "value_type": "integer",
421
+ "default_value": 0,
422
+ "value": 0
423
+ }
424
+ ],
425
+ "variables": [
426
+ {
427
+ "argument": {
428
+ "display_name": "Wall R Value",
429
+ "display_name_short": "Wall R Value",
430
+ "name": "r_value",
431
+ "value_type": "double",
432
+ "default_value": 5.0,
433
+ "value": 5.0
434
+ },
435
+ "display_name": "Wall R Value",
436
+ "display_name_short": "Wall R Value",
437
+ "units": null,
438
+ "minimum": 0.0,
439
+ "maximum": 5.0,
440
+ "relation_to_output": null,
441
+ "uuid": "09a4dde2-f472-45f5-a418-1dfc0ccecdca",
442
+ "version_uuid": "11bc9689-0c0c-48ad-ba92-06c98e28c59f",
443
+ "variable": true,
444
+ "static_value": 5.0,
445
+ "uncertainty_description": {
446
+ "type": "triangle_uncertain",
447
+ "attributes": [
448
+ {
449
+ "name": "lower_bounds",
450
+ "value": 0.0
451
+ },
452
+ {
453
+ "name": "upper_bounds",
454
+ "value": 5.0
455
+ },
456
+ {
457
+ "name": "modes",
458
+ "value": 2.5
459
+ },
460
+ {
461
+ "name": "delta_x",
462
+ "value": null
463
+ },
464
+ {
465
+ "name": "stddev",
466
+ "value": null
467
+ }
468
+ ]
469
+ },
470
+ "workflow_index": 0
471
+ }
472
+ ],
473
+ "workflow_index": 3
474
+ },
475
+ {
476
+ "name": "set_r_value_of_insulation_for_roofs_to_a_specific_value",
477
+ "display_name": "Set R-value of Insulation for Roofs to a Specific Value",
478
+ "measure_type": "RubyMeasure",
479
+ "measure_definition_class_name": "ExampleMeasureAutoDirectoryName",
480
+ "measure_definition_directory": "./spec/files/measures/example_measure_auto_directory_name",
481
+ "measure_definition_display_name": "Set R-value of Insulation for Roofs to a Specific Value",
482
+ "measure_definition_name": "set_r_value_of_insulation_for_roofs_to_a_specific_value",
483
+ "measure_definition_name_xml": null,
484
+ "measure_definition_uuid": "b5938b64-120e-460d-872e-4f41a844ef7f",
485
+ "measure_definition_version_uuid": "ddb32a0d-6b49-46a4-bae4-743c2508d495",
486
+ "arguments": [
487
+ {
488
+ "display_name": "Increase in Material and Installation Costs for Construction per Area Used ($/ft^2).",
489
+ "display_name_short": "Increase in Material and Installation Costs for Construction per Area Used ($/ft^2).",
490
+ "name": "material_cost_increase_ip",
491
+ "value_type": "double",
492
+ "default_value": 0.0,
493
+ "value": 0.0
494
+ },
495
+ {
496
+ "display_name": "One Time Retrofit Cost to Add Insulation to Construction ($/ft^2).",
497
+ "display_name_short": "One Time Retrofit Cost to Add Insulation to Construction ($/ft^2).",
498
+ "name": "one_time_retrofit_cost_ip",
499
+ "value_type": "double",
500
+ "default_value": 0.0,
501
+ "value": 0.0
502
+ },
503
+ {
504
+ "display_name": "Year to Incur One Time Retrofit Cost (whole years).",
505
+ "display_name_short": "Year to Incur One Time Retrofit Cost (whole years).",
506
+ "name": "years_until_retrofit_cost",
507
+ "value_type": "integer",
508
+ "default_value": 0,
509
+ "value": 0
510
+ }
511
+ ],
512
+ "variables": [
513
+ {
514
+ "argument": {
515
+ "display_name": "Roof R Value",
516
+ "display_name_short": "Roof R Value",
517
+ "name": "r_value",
518
+ "value_type": "double",
519
+ "default_value": 5.0,
520
+ "value": 5.0
521
+ },
522
+ "display_name": "Roof R Value",
523
+ "display_name_short": "Roof R Value",
524
+ "units": null,
525
+ "minimum": 0.0,
526
+ "maximum": 5.0,
527
+ "relation_to_output": null,
528
+ "uuid": "f0074799-b19f-4a2c-9d80-049c2b81a799",
529
+ "version_uuid": "22384044-3fc4-404d-81da-1ef13575d53b",
530
+ "variable": true,
531
+ "static_value": 5.0,
532
+ "uncertainty_description": {
533
+ "type": "triangle_uncertain",
534
+ "attributes": [
535
+ {
536
+ "name": "lower_bounds",
537
+ "value": 0.0
538
+ },
539
+ {
540
+ "name": "upper_bounds",
541
+ "value": 5.0
542
+ },
543
+ {
544
+ "name": "modes",
545
+ "value": 2.5
546
+ },
547
+ {
548
+ "name": "delta_x",
549
+ "value": null
550
+ },
551
+ {
552
+ "name": "stddev",
553
+ "value": null
554
+ }
555
+ ]
556
+ },
557
+ "workflow_index": 0
558
+ }
559
+ ],
560
+ "workflow_index": 4
561
+ },
562
+ {
563
+ "name": "reduce_ventilation_by_percentage",
564
+ "display_name": "Reduce Ventilation By Percentage",
565
+ "measure_type": "RubyMeasure",
566
+ "measure_definition_class_name": "ExampleMeasureAutoDirectoryName",
567
+ "measure_definition_directory": "./spec/files/measures/example_measure_auto_directory_name",
568
+ "measure_definition_display_name": "Reduce Ventilation By Percentage",
569
+ "measure_definition_name": "reduce_ventilation_by_percentage",
570
+ "measure_definition_name_xml": null,
571
+ "measure_definition_uuid": "40b77dbb-86be-4027-bd69-bd5a7ff670a9",
572
+ "measure_definition_version_uuid": "28149bbf-916d-4eb3-82c6-9dc14166e759",
573
+ "arguments": [
574
+ {
575
+ "display_name": "Apply the Measure to a Specific Space Type or to the Entire Model.",
576
+ "display_name_short": "Apply the Measure to a Specific Space Type or to the Entire Model.",
577
+ "name": "space_type",
578
+ "value_type": "string",
579
+ "default_value": "*Entire Building*",
580
+ "value": "*Entire Building*"
581
+ }
582
+ ],
583
+ "variables": [
584
+ {
585
+ "argument": {
586
+ "display_name": "Design Specification Outdoor Air Reduction (%).",
587
+ "display_name_short": "Design Specification Outdoor Air Reduction (%).",
588
+ "name": "design_spec_outdoor_air_reduction_percent",
589
+ "value_type": "double",
590
+ "default_value": 0.0,
591
+ "value": 0.0
592
+ },
593
+ "display_name": "Design Specification Outdoor Air Reduction (%).",
594
+ "display_name_short": "Design Specification Outdoor Air Reduction (%).",
595
+ "units": null,
596
+ "minimum": 0.0,
597
+ "maximum": 90.0,
598
+ "relation_to_output": null,
599
+ "uuid": "1e7e8310-a615-4cc1-8c25-211765ee4770",
600
+ "version_uuid": "5822a6e2-2a46-462e-b2b5-a8e3a1c9cad7",
601
+ "variable": true,
602
+ "static_value": 0.0,
603
+ "uncertainty_description": {
604
+ "type": "discrete_uncertain",
605
+ "attributes": [
606
+ {
607
+ "name": "discrete",
608
+ "values_and_weights": [
609
+ {
610
+ "value": 0,
611
+ "weight": 0.2
612
+ },
613
+ {
614
+ "value": 10,
615
+ "weight": 0.2
616
+ },
617
+ {
618
+ "value": 30,
619
+ "weight": 0.2
620
+ },
621
+ {
622
+ "value": 60,
623
+ "weight": 0.2
624
+ },
625
+ {
626
+ "value": 90,
627
+ "weight": 0.2
628
+ }
629
+ ]
630
+ },
631
+ {
632
+ "name": "lower_bounds",
633
+ "value": 0.0
634
+ },
635
+ {
636
+ "name": "upper_bounds",
637
+ "value": 90.0
638
+ },
639
+ {
640
+ "name": "modes",
641
+ "value": 45.0
642
+ }
643
+ ]
644
+ },
645
+ "workflow_index": 0
646
+ }
647
+ ],
648
+ "workflow_index": 5
649
+ }
650
+ ]
651
+ },
652
+ "seed": null,
653
+ "weather_file": null,
654
+ "file_format_version": 1
655
+ }
656
+ }