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,1673 @@
1
+ {
2
+ "analysis": {
3
+ "display_name": "Name goes here",
4
+ "name": "name_goes_here",
5
+ "output_variables": [
6
+ {
7
+ "display_name": "Total Natual Gas",
8
+ "display_name_short": "Total Natual Gas",
9
+ "metadata_id": null,
10
+ "name": "total_natural_gas",
11
+ "units": "MJ/m2",
12
+ "objective_function": true,
13
+ "objective_function_index": 0,
14
+ "objective_function_target": 330.7,
15
+ "scaling_factor": null,
16
+ "objective_function_group": "TRUE"
17
+ },
18
+ {
19
+ "display_name": "Total Electricity",
20
+ "display_name_short": "Total Electricity",
21
+ "metadata_id": null,
22
+ "name": "total_electricity",
23
+ "units": "MJ/m2",
24
+ "objective_function": true,
25
+ "objective_function_index": 1,
26
+ "objective_function_target": 496.5,
27
+ "scaling_factor": null,
28
+ "objective_function_group": "TRUE"
29
+ },
30
+ {
31
+ "display_name": "cooling_electricity_jan",
32
+ "display_name_short": "cooling_electricity_jan",
33
+ "metadata_id": null,
34
+ "name": "cooling_electricity_jan",
35
+ "units": "J",
36
+ "objective_function": true,
37
+ "objective_function_index": 2,
38
+ "objective_function_target": 63597914341.3388,
39
+ "scaling_factor": 463203800000.0,
40
+ "objective_function_group": "TRUE"
41
+ },
42
+ {
43
+ "display_name": "cooling_electricity_feb",
44
+ "display_name_short": "cooling_electricity_feb",
45
+ "metadata_id": null,
46
+ "name": "cooling_electricity_feb",
47
+ "units": "J",
48
+ "objective_function": true,
49
+ "objective_function_index": 3,
50
+ "objective_function_target": 58138465958.3439,
51
+ "scaling_factor": 463203800000.0,
52
+ "objective_function_group": "TRUE"
53
+ },
54
+ {
55
+ "display_name": "cooling_electricity_mar",
56
+ "display_name_short": "cooling_electricity_mar",
57
+ "metadata_id": null,
58
+ "name": "cooling_electricity_mar",
59
+ "units": "J",
60
+ "objective_function": true,
61
+ "objective_function_index": 4,
62
+ "objective_function_target": 301531761648.05,
63
+ "scaling_factor": 463203800000.0,
64
+ "objective_function_group": "TRUE"
65
+ },
66
+ {
67
+ "display_name": "cooling_electricity_apr",
68
+ "display_name_short": "cooling_electricity_apr",
69
+ "metadata_id": null,
70
+ "name": "cooling_electricity_apr",
71
+ "units": "J",
72
+ "objective_function": true,
73
+ "objective_function_index": 5,
74
+ "objective_function_target": 336163175378.778,
75
+ "scaling_factor": 463203800000.0,
76
+ "objective_function_group": "TRUE"
77
+ },
78
+ {
79
+ "display_name": "cooling_electricity_may",
80
+ "display_name_short": "cooling_electricity_may",
81
+ "metadata_id": null,
82
+ "name": "cooling_electricity_may",
83
+ "units": "J",
84
+ "objective_function": true,
85
+ "objective_function_index": 6,
86
+ "objective_function_target": 1412749721236.32,
87
+ "scaling_factor": 463203800000.0,
88
+ "objective_function_group": "TRUE"
89
+ },
90
+ {
91
+ "display_name": "cooling_electricity_jun",
92
+ "display_name_short": "cooling_electricity_jun",
93
+ "metadata_id": null,
94
+ "name": "cooling_electricity_jun",
95
+ "units": "J",
96
+ "objective_function": true,
97
+ "objective_function_index": 7,
98
+ "objective_function_target": 2327741408781.58,
99
+ "scaling_factor": 463203800000.0,
100
+ "objective_function_group": "TRUE"
101
+ },
102
+ {
103
+ "display_name": "cooling_electricity_jul",
104
+ "display_name_short": "cooling_electricity_jul",
105
+ "metadata_id": null,
106
+ "name": "cooling_electricity_jul",
107
+ "units": "J",
108
+ "objective_function": true,
109
+ "objective_function_index": 8,
110
+ "objective_function_target": 2402590637505.39,
111
+ "scaling_factor": 463203800000.0,
112
+ "objective_function_group": "TRUE"
113
+ },
114
+ {
115
+ "display_name": "cooling_electricity_aug",
116
+ "display_name_short": "cooling_electricity_aug",
117
+ "metadata_id": null,
118
+ "name": "cooling_electricity_aug",
119
+ "units": "J",
120
+ "objective_function": true,
121
+ "objective_function_index": 9,
122
+ "objective_function_target": 2472656245279.37,
123
+ "scaling_factor": 463203800000.0,
124
+ "objective_function_group": "TRUE"
125
+ },
126
+ {
127
+ "display_name": "cooling_electricity_sep",
128
+ "display_name_short": "cooling_electricity_sep",
129
+ "metadata_id": null,
130
+ "name": "cooling_electricity_sep",
131
+ "units": "J",
132
+ "objective_function": true,
133
+ "objective_function_index": 10,
134
+ "objective_function_target": 1807432185051.14,
135
+ "scaling_factor": 463203800000.0,
136
+ "objective_function_group": "TRUE"
137
+ },
138
+ {
139
+ "display_name": "cooling_electricity_oct",
140
+ "display_name_short": "cooling_electricity_oct",
141
+ "metadata_id": null,
142
+ "name": "cooling_electricity_oct",
143
+ "units": "J",
144
+ "objective_function": true,
145
+ "objective_function_index": 11,
146
+ "objective_function_target": 619615878181.616,
147
+ "scaling_factor": 463203800000.0,
148
+ "objective_function_group": "TRUE"
149
+ },
150
+ {
151
+ "display_name": "cooling_electricity_nov",
152
+ "display_name_short": "cooling_electricity_nov",
153
+ "metadata_id": null,
154
+ "name": "cooling_electricity_nov",
155
+ "units": "J",
156
+ "objective_function": true,
157
+ "objective_function_index": 12,
158
+ "objective_function_target": 117109844324.095,
159
+ "scaling_factor": 463203800000.0,
160
+ "objective_function_group": "TRUE"
161
+ },
162
+ {
163
+ "display_name": "cooling_electricity_dec",
164
+ "display_name_short": "cooling_electricity_dec",
165
+ "metadata_id": null,
166
+ "name": "cooling_electricity_dec",
167
+ "units": "J",
168
+ "objective_function": true,
169
+ "objective_function_index": 13,
170
+ "objective_function_target": 103360013175.794,
171
+ "scaling_factor": 463203800000.0,
172
+ "objective_function_group": "TRUE"
173
+ },
174
+ {
175
+ "display_name": "heating_gas_jan",
176
+ "display_name_short": "heating_gas_jan",
177
+ "metadata_id": null,
178
+ "name": "heating_gas_jan",
179
+ "units": "J",
180
+ "objective_function": true,
181
+ "objective_function_index": 14,
182
+ "objective_function_target": 2799558466140.68,
183
+ "scaling_factor": 463203800000.0,
184
+ "objective_function_group": "TRUE"
185
+ },
186
+ {
187
+ "display_name": "heating_gas_feb",
188
+ "display_name_short": "heating_gas_feb",
189
+ "metadata_id": null,
190
+ "name": "heating_gas_feb",
191
+ "units": "J",
192
+ "objective_function": true,
193
+ "objective_function_index": 15,
194
+ "objective_function_target": 2663349812763.18,
195
+ "scaling_factor": 463203800000.0,
196
+ "objective_function_group": "TRUE"
197
+ },
198
+ {
199
+ "display_name": "heating_gas_mar",
200
+ "display_name_short": "heating_gas_mar",
201
+ "metadata_id": null,
202
+ "name": "heating_gas_mar",
203
+ "units": "J",
204
+ "objective_function": true,
205
+ "objective_function_index": 16,
206
+ "objective_function_target": 1576136833664.73,
207
+ "scaling_factor": 463203800000.0,
208
+ "objective_function_group": "TRUE"
209
+ },
210
+ {
211
+ "display_name": "heating_gas_apr",
212
+ "display_name_short": "heating_gas_apr",
213
+ "metadata_id": null,
214
+ "name": "heating_gas_apr",
215
+ "units": "J",
216
+ "objective_function": true,
217
+ "objective_function_index": 17,
218
+ "objective_function_target": 1752794439290.69,
219
+ "scaling_factor": 463203800000.0,
220
+ "objective_function_group": "TRUE"
221
+ },
222
+ {
223
+ "display_name": "heating_gas_may",
224
+ "display_name_short": "heating_gas_may",
225
+ "metadata_id": null,
226
+ "name": "heating_gas_may",
227
+ "units": "J",
228
+ "objective_function": true,
229
+ "objective_function_index": 18,
230
+ "objective_function_target": 375145279804.892,
231
+ "scaling_factor": 463203800000.0,
232
+ "objective_function_group": "TRUE"
233
+ },
234
+ {
235
+ "display_name": "heating_gas_jun",
236
+ "display_name_short": "heating_gas_jun",
237
+ "metadata_id": null,
238
+ "name": "heating_gas_jun",
239
+ "units": "J",
240
+ "objective_function": true,
241
+ "objective_function_index": 19,
242
+ "objective_function_target": 32970706746.2053,
243
+ "scaling_factor": 463203800000.0,
244
+ "objective_function_group": "TRUE"
245
+ },
246
+ {
247
+ "display_name": "heating_gas_jul",
248
+ "display_name_short": "heating_gas_jul",
249
+ "metadata_id": null,
250
+ "name": "heating_gas_jul",
251
+ "units": "J",
252
+ "objective_function": true,
253
+ "objective_function_index": 20,
254
+ "objective_function_target": 50096876832.5083,
255
+ "scaling_factor": 463203800000.0,
256
+ "objective_function_group": "TRUE"
257
+ },
258
+ {
259
+ "display_name": "heating_gas_aug",
260
+ "display_name_short": "heating_gas_aug",
261
+ "metadata_id": null,
262
+ "name": "heating_gas_aug",
263
+ "units": "J",
264
+ "objective_function": true,
265
+ "objective_function_index": 21,
266
+ "objective_function_target": 32660740137.6019,
267
+ "scaling_factor": 463203800000.0,
268
+ "objective_function_group": "TRUE"
269
+ },
270
+ {
271
+ "display_name": "heating_gas_sep",
272
+ "display_name_short": "heating_gas_sep",
273
+ "metadata_id": null,
274
+ "name": "heating_gas_sep",
275
+ "units": "J",
276
+ "objective_function": true,
277
+ "objective_function_index": 22,
278
+ "objective_function_target": 144097879467.636,
279
+ "scaling_factor": 463203800000.0,
280
+ "objective_function_group": "TRUE"
281
+ },
282
+ {
283
+ "display_name": "heating_gas_oct",
284
+ "display_name_short": "heating_gas_oct",
285
+ "metadata_id": null,
286
+ "name": "heating_gas_oct",
287
+ "units": "J",
288
+ "objective_function": true,
289
+ "objective_function_index": 23,
290
+ "objective_function_target": 970975709027.067,
291
+ "scaling_factor": 463203800000.0,
292
+ "objective_function_group": "TRUE"
293
+ },
294
+ {
295
+ "display_name": "heating_gas_nov",
296
+ "display_name_short": "heating_gas_nov",
297
+ "metadata_id": null,
298
+ "name": "heating_gas_nov",
299
+ "units": "J",
300
+ "objective_function": true,
301
+ "objective_function_index": 24,
302
+ "objective_function_target": 2261115778226.24,
303
+ "scaling_factor": 463203800000.0,
304
+ "objective_function_group": "TRUE"
305
+ },
306
+ {
307
+ "display_name": "heating_gas_dec",
308
+ "display_name_short": "heating_gas_dec",
309
+ "metadata_id": null,
310
+ "name": "heating_gas_dec",
311
+ "units": "J",
312
+ "objective_function": true,
313
+ "objective_function_index": 25,
314
+ "objective_function_target": 2657735386128.84,
315
+ "scaling_factor": 463203800000.0,
316
+ "objective_function_group": "TRUE"
317
+ }
318
+ ],
319
+ "problem": {
320
+ "algorithm": {
321
+ "popsize": 30,
322
+ "generations": 5,
323
+ "waitgenerations": 2,
324
+ "bfgsburnin": 2,
325
+ "solutiontolerance": 0.01,
326
+ "epsilongradient": 0.01,
327
+ "pgtol": 0.01,
328
+ "factr": 45036000000000,
329
+ "maxit": 100,
330
+ "normtype": "minkowski",
331
+ "ppower": 2,
332
+ "objective_functions": [
333
+ "total_natural_gas",
334
+ "total_electricity",
335
+ "cooling_electricity_jan",
336
+ "cooling_electricity_feb",
337
+ "cooling_electricity_mar",
338
+ "cooling_electricity_apr",
339
+ "cooling_electricity_may",
340
+ "cooling_electricity_jun",
341
+ "cooling_electricity_jul",
342
+ "cooling_electricity_aug",
343
+ "cooling_electricity_sep",
344
+ "cooling_electricity_oct",
345
+ "cooling_electricity_nov",
346
+ "cooling_electricity_dec",
347
+ "heating_gas_jan",
348
+ "heating_gas_feb",
349
+ "heating_gas_mar",
350
+ "heating_gas_apr",
351
+ "heating_gas_may",
352
+ "heating_gas_jun",
353
+ "heating_gas_jul",
354
+ "heating_gas_aug",
355
+ "heating_gas_sep",
356
+ "heating_gas_oct",
357
+ "heating_gas_nov",
358
+ "heating_gas_dec"
359
+ ]
360
+ },
361
+ "workflow": [
362
+ {
363
+ "measure_definition_class_name": "ReduceLightingLoadsByPercentage",
364
+ "measure_definition_directory": "./measures/ReduceLightingLoadsByPercentage",
365
+ "measure_definition_display_name": "ReduceLightingLoadsByPercentage",
366
+ "measure_definition_uuid": "1f94e8e3-7a47-441b-ab9e-981ff411918c",
367
+ "measure_definition_version_uuid": "cfde8804-bb7b-4070-9c7e-5ac710db9611",
368
+ "measure_type": "RubyMeasure",
369
+ "arguments": [
370
+ {
371
+ "display_name": "Apply the Measure to a Specific Space Type or to the Entire Model.",
372
+ "display_name_short": "Apply the Measure to a Specific Space Type or to the Entire Model.",
373
+ "name": "space_type",
374
+ "value": "*Entire Building*",
375
+ "value_type": "choice"
376
+ },
377
+ {
378
+ "display_name": "Increase in Material and Installation Cost for Lighting per Floor Area (%).",
379
+ "display_name_short": "Increase in Material and Installation Cost for Lighting per Floor Area (%).",
380
+ "name": "material_and_installation_cost",
381
+ "value": 0.0,
382
+ "value_type": "double"
383
+ },
384
+ {
385
+ "display_name": "Increase in Demolition Costs for Lighting per Floor Area (%).",
386
+ "display_name_short": "Increase in Demolition Costs for Lighting per Floor Area (%).",
387
+ "name": "demolition_cost",
388
+ "value": 0.0,
389
+ "value_type": "double"
390
+ },
391
+ {
392
+ "display_name": "Years Until Costs Start (whole years).",
393
+ "display_name_short": "Years Until Costs Start (whole years).",
394
+ "name": "years_until_costs_start",
395
+ "value": 0,
396
+ "value_type": "integer"
397
+ },
398
+ {
399
+ "display_name": "Demolition Costs Occur During Initial Construction?",
400
+ "display_name_short": "Demolition Costs Occur During Initial Construction?",
401
+ "name": "demo_cost_initial_const",
402
+ "value": true,
403
+ "value_type": "bool"
404
+ },
405
+ {
406
+ "display_name": "Expected Life (whole years).",
407
+ "display_name_short": "Expected Life (whole years).",
408
+ "name": "expected_life",
409
+ "value": 15,
410
+ "value_type": "integer"
411
+ },
412
+ {
413
+ "display_name": "Increase O & M Costs for Lighting per Floor Area (%).",
414
+ "display_name_short": "Increase O & M Costs for Lighting per Floor Area (%).",
415
+ "name": "om_cost",
416
+ "value": 0.0,
417
+ "value_type": "double"
418
+ },
419
+ {
420
+ "display_name": "O & M Frequency (whole years).",
421
+ "display_name_short": "O & M Frequency (whole years).",
422
+ "name": "om_frequency",
423
+ "value": 1,
424
+ "value_type": "integer"
425
+ }
426
+ ],
427
+ "display_name": "Reduce Lighting Loads by Percentage",
428
+ "name": "reduce_lighting_loads_by_percentage",
429
+ "variables": [
430
+ {
431
+ "argument": {
432
+ "display_name": "Lighting Power Reduction",
433
+ "display_name_short": "Lighting Power Reduction",
434
+ "name": "lighting_power_reduction_percent",
435
+ "value_type": "double"
436
+ },
437
+ "display_name": "Lighting Power Reduction",
438
+ "display_name_short": "Lighting Power Reduction",
439
+ "maximum": 20.0,
440
+ "minimum": -20.0,
441
+ "relation_to_output": "",
442
+ "static_value": 0.0,
443
+ "uncertainty_description": {
444
+ "attributes": [
445
+ {
446
+ "name": "lower_bounds",
447
+ "value": -20.0
448
+ },
449
+ {
450
+ "name": "upper_bounds",
451
+ "value": 20.0
452
+ },
453
+ {
454
+ "name": "stddev",
455
+ "value": 6.666666666666667
456
+ },
457
+ {
458
+ "name": "delta_x",
459
+ "value": null
460
+ },
461
+ {
462
+ "name": "modes",
463
+ "value": -1.0
464
+ }
465
+ ],
466
+ "type": "triangle_uncertain"
467
+ },
468
+ "units": "",
469
+ "value_type": "double",
470
+ "variable": true,
471
+ "variable_type": "RubyContinuousVariable",
472
+ "uuid": "a36c2136-ced9-4d04-b18b-79aa1519fc47",
473
+ "version_uuid": "c1b21219-0c61-4fa2-9672-d98c9eaf8901"
474
+ }
475
+ ],
476
+ "workflow_index": 0,
477
+ "workflow_step_type": "Measure",
478
+ "uuid": "f5dbe06a-87c8-4617-8b2c-1ff2378dbf09",
479
+ "version_uuid": "3d7ffd00-26ff-4f49-a27c-f8ff4a53a842"
480
+ },
481
+ {
482
+ "measure_definition_class_name": "ReduceElectricEquipmentLoadsByPercentage",
483
+ "measure_definition_directory": "./measures/ExampleMeasure",
484
+ "measure_definition_display_name": "ReduceElectricEquipmentLoadsByPercentage",
485
+ "measure_definition_uuid": "8ccd35ad-2442-4861-9c8e-57248d1012a4",
486
+ "measure_definition_version_uuid": "9b299c5a-4fa0-4343-a5fc-27e806e4934e",
487
+ "measure_type": "RubyMeasure",
488
+ "arguments": [
489
+ {
490
+ "display_name": "Apply the Measure to a Specific Space Type or to the Entire Model.",
491
+ "display_name_short": "Apply the Measure to a Specific Space Type or to the Entire Model.",
492
+ "name": "space_type",
493
+ "value": "*Entire Building*",
494
+ "value_type": "choice"
495
+ },
496
+ {
497
+ "display_name": "Increase in Material and Installation Cost for Electric Equipment per Floor Area (%).",
498
+ "display_name_short": "Increase in Material and Installation Cost for Electric Equipment per Floor Area (%).",
499
+ "name": "material_and_installation_cost",
500
+ "value": 0.0,
501
+ "value_type": "double"
502
+ },
503
+ {
504
+ "display_name": "Increase in Demolition Costs for Electric Equipment per Floor Area (%).",
505
+ "display_name_short": "Increase in Demolition Costs for Electric Equipment per Floor Area (%).",
506
+ "name": "demolition_cost",
507
+ "value": 0.0,
508
+ "value_type": "double"
509
+ },
510
+ {
511
+ "display_name": "Years Until Costs Start (whole years).",
512
+ "display_name_short": "Years Until Costs Start (whole years).",
513
+ "name": "years_until_costs_start",
514
+ "value": 0,
515
+ "value_type": "integer"
516
+ },
517
+ {
518
+ "display_name": "Demolition Costs Occur During Initial Construction?",
519
+ "display_name_short": "Demolition Costs Occur During Initial Construction?",
520
+ "name": "demo_cost_initial_const",
521
+ "value": false,
522
+ "value_type": "bool"
523
+ },
524
+ {
525
+ "display_name": "Expected Life (whole years).",
526
+ "display_name_short": "Expected Life (whole years).",
527
+ "name": "expected_life",
528
+ "value": 15,
529
+ "value_type": "integer"
530
+ },
531
+ {
532
+ "display_name": "Increase O & M Costs for Electric Equipment per Floor Area (%).",
533
+ "display_name_short": "Increase O & M Costs for Electric Equipment per Floor Area (%).",
534
+ "name": "om_cost",
535
+ "value": 0.0,
536
+ "value_type": "double"
537
+ },
538
+ {
539
+ "display_name": "O & M Frequency (whole years).",
540
+ "display_name_short": "O & M Frequency (whole years).",
541
+ "name": "om_frequency",
542
+ "value": 1,
543
+ "value_type": "integer"
544
+ }
545
+ ],
546
+ "display_name": "Reduce Electric Equipment Loads by Percentage",
547
+ "name": "reduce_electric_equipment_loads_by_percentage",
548
+ "variables": [
549
+ {
550
+ "argument": {
551
+ "display_name": "Electric Equipment Power Reduction (%).",
552
+ "display_name_short": "Electric Equipment Power Reduction (%).",
553
+ "name": "elecequip_power_reduction_percent",
554
+ "value_type": "double"
555
+ },
556
+ "display_name": "Electric Equipment Power Reduction (%).",
557
+ "display_name_short": "Electric Equipment Power Reduction (%).",
558
+ "maximum": 30.0,
559
+ "minimum": -20.0,
560
+ "relation_to_output": "",
561
+ "static_value": 0.0,
562
+ "uncertainty_description": {
563
+ "attributes": [
564
+ {
565
+ "name": "lower_bounds",
566
+ "value": -20.0
567
+ },
568
+ {
569
+ "name": "upper_bounds",
570
+ "value": 30.0
571
+ },
572
+ {
573
+ "name": "stddev",
574
+ "value": 8.333333333333334
575
+ },
576
+ {
577
+ "name": "delta_x",
578
+ "value": null
579
+ },
580
+ {
581
+ "name": "modes",
582
+ "value": 0.0
583
+ }
584
+ ],
585
+ "type": "triangle_uncertain"
586
+ },
587
+ "units": "",
588
+ "value_type": "double",
589
+ "variable": true,
590
+ "variable_type": "RubyContinuousVariable",
591
+ "uuid": "0bcf3526-7376-43a7-ae5a-3855d9d11f25",
592
+ "version_uuid": "6d3807c3-e0a4-4953-89dd-8a289da4b025"
593
+ }
594
+ ],
595
+ "workflow_index": 1,
596
+ "workflow_step_type": "Measure",
597
+ "uuid": "e1e9a1e8-65df-426e-b9b1-f372660f0a28",
598
+ "version_uuid": "e0108fdb-2c6c-4471-8beb-e20a4dd17c1b"
599
+ },
600
+ {
601
+ "measure_definition_class_name": "ReduceSpaceInfiltrationByPercentage",
602
+ "measure_definition_directory": "./measures/ExampleMeasure",
603
+ "measure_definition_display_name": "ReduceSpaceInfiltrationByPercentage",
604
+ "measure_definition_uuid": "4d300b6b-f25e-4bc0-8965-5e4bd2e231dd",
605
+ "measure_definition_version_uuid": "c272ff8a-c277-456e-8e1a-afd4b6a447b7",
606
+ "measure_type": "RubyMeasure",
607
+ "arguments": [
608
+ {
609
+ "display_name": "Apply the Measure to a Specific Space Type or to the Entire Model.",
610
+ "display_name_short": "Apply the Measure to a Specific Space Type or to the Entire Model.",
611
+ "name": "space_type",
612
+ "value": "*Entire Building*",
613
+ "value_type": "choice"
614
+ },
615
+ {
616
+ "display_name": "Increase in Material and Installation Costs for Building per Affected Floor Area ($/ft^2).",
617
+ "display_name_short": "Increase in Material and Installation Costs for Building per Affected Floor Area ($/ft^2).",
618
+ "name": "material_and_installation_cost",
619
+ "value": 0.0,
620
+ "value_type": "double"
621
+ },
622
+ {
623
+ "display_name": "O & M Costs for Construction per Affected Floor Area ($/ft^2).",
624
+ "display_name_short": "O & M Costs for Construction per Affected Floor Area ($/ft^2).",
625
+ "name": "om_cost",
626
+ "value": 0.0,
627
+ "value_type": "double"
628
+ },
629
+ {
630
+ "display_name": "O & M Frequency (whole years).",
631
+ "display_name_short": "O & M Frequency (whole years).",
632
+ "name": "om_frequency",
633
+ "value": 1,
634
+ "value_type": "integer"
635
+ }
636
+ ],
637
+ "display_name": "ReduceSpaceInfiltrationByPercentage",
638
+ "name": "reducespaceinfiltrationbypercentage",
639
+ "variables": [
640
+ {
641
+ "argument": {
642
+ "display_name": "Space Infiltration Power Reduction",
643
+ "display_name_short": "Space Infiltration Power Reduction",
644
+ "name": "space_infiltration_reduction_percent",
645
+ "value_type": "double"
646
+ },
647
+ "display_name": "Space Infiltration Power Reduction",
648
+ "display_name_short": "Space Infiltration Power Reduction",
649
+ "maximum": 1.0,
650
+ "minimum": -100.0,
651
+ "relation_to_output": "",
652
+ "static_value": 0.0,
653
+ "uncertainty_description": {
654
+ "attributes": [
655
+ {
656
+ "name": "lower_bounds",
657
+ "value": -100.0
658
+ },
659
+ {
660
+ "name": "upper_bounds",
661
+ "value": 1.0
662
+ },
663
+ {
664
+ "name": "stddev",
665
+ "value": 16.833333333333332
666
+ },
667
+ {
668
+ "name": "delta_x",
669
+ "value": null
670
+ },
671
+ {
672
+ "name": "modes",
673
+ "value": -50.0
674
+ }
675
+ ],
676
+ "type": "uniform_uncertain"
677
+ },
678
+ "units": "",
679
+ "value_type": "double",
680
+ "variable": true,
681
+ "variable_type": "RubyContinuousVariable",
682
+ "uuid": "57db25e9-efa6-4b23-81b7-8843159a98ba",
683
+ "version_uuid": "3c3cdc0d-1f08-42e0-b599-3f02d79df10c"
684
+ }
685
+ ],
686
+ "workflow_index": 2,
687
+ "workflow_step_type": "Measure",
688
+ "uuid": "92649f03-347d-4d18-b80a-14ab54a42cbf",
689
+ "version_uuid": "23ab069d-cef9-48b3-a753-4c8e2d9d1bcf"
690
+ },
691
+ {
692
+ "measure_definition_class_name": "AdjustTheromstatSetpointsByDegrees",
693
+ "measure_definition_directory": "./measures/ExampleMeasure",
694
+ "measure_definition_display_name": "AdjustTheromstatSetpointsByDegrees",
695
+ "measure_definition_uuid": "98f04acd-6353-4812-bb41-87eb0cdef9aa",
696
+ "measure_definition_version_uuid": "74467764-bec4-4b43-bed1-eec9849781eb",
697
+ "measure_type": "RubyMeasure",
698
+ "arguments": [
699
+ {
700
+ "display_name": "Alter Design Day Thermostats?",
701
+ "display_name_short": "Alter Design Day Thermostats?",
702
+ "name": "alter_design_days",
703
+ "value": false,
704
+ "value_type": "bool"
705
+ }
706
+ ],
707
+ "display_name": "Adjust Thermostat Setpoints by Degrees",
708
+ "name": "adjust_thermostat_setpoints_by_degrees",
709
+ "variables": [
710
+ {
711
+ "argument": {
712
+ "display_name": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
713
+ "display_name_short": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
714
+ "name": "cooling_adjustment",
715
+ "value_type": "double"
716
+ },
717
+ "display_name": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
718
+ "display_name_short": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
719
+ "maximum": 2.0,
720
+ "minimum": -2.0,
721
+ "relation_to_output": "",
722
+ "static_value": 1.0,
723
+ "uncertainty_description": {
724
+ "attributes": [
725
+ {
726
+ "name": "lower_bounds",
727
+ "value": -2.0
728
+ },
729
+ {
730
+ "name": "upper_bounds",
731
+ "value": 2.0
732
+ },
733
+ {
734
+ "name": "stddev",
735
+ "value": 0.6666666666666666
736
+ },
737
+ {
738
+ "name": "delta_x",
739
+ "value": null
740
+ },
741
+ {
742
+ "name": "modes",
743
+ "value": 0.0
744
+ }
745
+ ],
746
+ "type": "uniform_uncertain"
747
+ },
748
+ "units": "",
749
+ "value_type": "double",
750
+ "variable": true,
751
+ "variable_type": "RubyContinuousVariable",
752
+ "uuid": "9fb8e6a8-d4e4-460a-81a8-7c82adaf3796",
753
+ "version_uuid": "89a84e90-5f3e-4296-80d0-c8d631d847c2"
754
+ },
755
+ {
756
+ "argument": {
757
+ "display_name": "Degrees Fahrenheit to Adjust heating Setpoint By.",
758
+ "display_name_short": "Degrees Fahrenheit to Adjust heating Setpoint By.",
759
+ "name": "heating_adjustment",
760
+ "value_type": "double"
761
+ },
762
+ "display_name": "Degrees Fahrenheit to Adjust heating Setpoint By.",
763
+ "display_name_short": "Degrees Fahrenheit to Adjust heating Setpoint By.",
764
+ "maximum": 2.0,
765
+ "minimum": -2.0,
766
+ "relation_to_output": "",
767
+ "static_value": -1.0,
768
+ "uncertainty_description": {
769
+ "attributes": [
770
+ {
771
+ "name": "lower_bounds",
772
+ "value": -2.0
773
+ },
774
+ {
775
+ "name": "upper_bounds",
776
+ "value": 2.0
777
+ },
778
+ {
779
+ "name": "stddev",
780
+ "value": 0.6666666666666666
781
+ },
782
+ {
783
+ "name": "delta_x",
784
+ "value": null
785
+ },
786
+ {
787
+ "name": "modes",
788
+ "value": 0.0
789
+ }
790
+ ],
791
+ "type": "uniform_uncertain"
792
+ },
793
+ "units": "",
794
+ "value_type": "double",
795
+ "variable": true,
796
+ "variable_type": "RubyContinuousVariable",
797
+ "uuid": "a27a863e-0358-4901-8128-5000f8f01fc1",
798
+ "version_uuid": "b873208d-fe8a-4e59-8e5f-24d72df55da7"
799
+ }
800
+ ],
801
+ "workflow_index": 3,
802
+ "workflow_step_type": "Measure",
803
+ "uuid": "a9c283b5-2629-46fd-ad84-ddcdf8f88623",
804
+ "version_uuid": "6bbd5bb2-ae7c-4870-b6c1-43f0b36949b8"
805
+ },
806
+ {
807
+ "measure_definition_class_name": "ReduceVentilationByPercentage",
808
+ "measure_definition_directory": "./measures/ExampleMeasure",
809
+ "measure_definition_display_name": "ReduceVentilationByPercentage",
810
+ "measure_definition_uuid": "02e71f48-0733-4310-8b62-03b32e5b6605",
811
+ "measure_definition_version_uuid": "b5e1b7a9-4913-4b22-bb89-0b1db97c5115",
812
+ "measure_type": "RubyMeasure",
813
+ "arguments": [
814
+ {
815
+ "display_name": "Apply the Measure to a Specific Space Type or to the Entire Model.",
816
+ "display_name_short": "Apply the Measure to a Specific Space Type or to the Entire Model.",
817
+ "name": "space_type",
818
+ "value": "*Entire Building*",
819
+ "value_type": "choice"
820
+ }
821
+ ],
822
+ "display_name": "Reduce Ventilation By Percentage",
823
+ "name": "reduce_ventilation_by_percentage",
824
+ "variables": [
825
+ {
826
+ "argument": {
827
+ "display_name": "Design Specification Outdoor Air Reduction (%).",
828
+ "display_name_short": "Design Specification Outdoor Air Reduction (%).",
829
+ "name": "design_spec_outdoor_air_reduction_percent",
830
+ "value_type": "double"
831
+ },
832
+ "display_name": "Design Specification Outdoor Air Reduction (%).",
833
+ "display_name_short": "Design Specification Outdoor Air Reduction (%).",
834
+ "maximum": 90.0,
835
+ "minimum": -90.0,
836
+ "relation_to_output": "",
837
+ "static_value": 0.0,
838
+ "uncertainty_description": {
839
+ "attributes": [
840
+ {
841
+ "name": "lower_bounds",
842
+ "value": -90.0
843
+ },
844
+ {
845
+ "name": "upper_bounds",
846
+ "value": 90.0
847
+ },
848
+ {
849
+ "name": "stddev",
850
+ "value": 30.0
851
+ },
852
+ {
853
+ "name": "delta_x",
854
+ "value": null
855
+ },
856
+ {
857
+ "name": "modes",
858
+ "value": -1.0
859
+ }
860
+ ],
861
+ "type": "triangle_uncertain"
862
+ },
863
+ "units": "",
864
+ "value_type": "double",
865
+ "variable": true,
866
+ "variable_type": "RubyContinuousVariable",
867
+ "uuid": "e4cf8bd4-28bd-4fd1-9a81-347323fc0ae7",
868
+ "version_uuid": "8ccd36a8-ae3a-4791-8947-92b3c625cb67"
869
+ }
870
+ ],
871
+ "workflow_index": 4,
872
+ "workflow_step_type": "Measure",
873
+ "uuid": "d4f5a0d2-17db-476d-8e58-4acc94be4275",
874
+ "version_uuid": "77afb120-1e8d-40d6-9bf6-58ef6dd0f647"
875
+ },
876
+ {
877
+ "measure_definition_class_name": "EnableEconomizerControl",
878
+ "measure_definition_directory": "./measures/ExampleMeasure",
879
+ "measure_definition_display_name": "EnableEconomizerControl",
880
+ "measure_definition_uuid": "efba115e-2fc9-46f2-bb4b-feac58a774a9",
881
+ "measure_definition_version_uuid": "aafc0236-a519-4100-b1d4-2e43bc1ed5eb",
882
+ "measure_type": "RubyMeasure",
883
+ "arguments": [
884
+ {
885
+ "display_name": "Choose an Air Loop to Alter.",
886
+ "display_name_short": "Choose an Air Loop to Alter.",
887
+ "name": "object",
888
+ "value": "*All Air Loops*",
889
+ "value_type": "choice"
890
+ },
891
+ {
892
+ "display_name": "Economizer Control Type.",
893
+ "display_name_short": "Economizer Control Type.",
894
+ "name": "economizer_type",
895
+ "value": "FixedDryBulb",
896
+ "value_type": "choice"
897
+ },
898
+ {
899
+ "display_name": "Economizer Maximum Enthalpy (Btu/lb).",
900
+ "display_name_short": "Economizer Maximum Enthalpy (Btu/lb).",
901
+ "name": "econoMaxEnthalpy",
902
+ "value": 28.0,
903
+ "value_type": "double"
904
+ },
905
+ {
906
+ "display_name": "Economizer Maximum Limit Dewpoint Temperature (F).",
907
+ "display_name_short": "Economizer Maximum Limit Dewpoint Temperature (F).",
908
+ "name": "econoMaxDewpointTemp",
909
+ "value": 55.0,
910
+ "value_type": "double"
911
+ },
912
+ {
913
+ "display_name": "Economizer Minimum Limit Dry-Bulb Temperature (F).",
914
+ "display_name_short": "Economizer Minimum Limit Dry-Bulb Temperature (F).",
915
+ "name": "econoMinDryBulbTemp",
916
+ "value": -148.0,
917
+ "value_type": "double"
918
+ },
919
+ {
920
+ "display_name": "Remove Baseline Costs From Effected AirLoopHVACOutdoorAirSystems?",
921
+ "display_name_short": "Remove Baseline Costs From Effected AirLoopHVACOutdoorAirSystems?",
922
+ "name": "remove_costs",
923
+ "value": false,
924
+ "value_type": "bool"
925
+ },
926
+ {
927
+ "display_name": "Material and Installation Costs per Air Loop to Enable Economizer ($).",
928
+ "display_name_short": "Material and Installation Costs per Air Loop to Enable Economizer ($).",
929
+ "name": "material_cost",
930
+ "value": 0.0,
931
+ "value_type": "double"
932
+ },
933
+ {
934
+ "display_name": "Demolition Costs per Air Loop to Enable Economizer ($).",
935
+ "display_name_short": "Demolition Costs per Air Loop to Enable Economizer ($).",
936
+ "name": "demolition_cost",
937
+ "value": 0.0,
938
+ "value_type": "double"
939
+ },
940
+ {
941
+ "display_name": "Years Until Costs Start (whole years).",
942
+ "display_name_short": "Years Until Costs Start (whole years).",
943
+ "name": "years_until_costs_start",
944
+ "value": 0,
945
+ "value_type": "integer"
946
+ },
947
+ {
948
+ "display_name": "Demolition Costs Occur During Initial Construction?",
949
+ "display_name_short": "Demolition Costs Occur During Initial Construction?",
950
+ "name": "demo_cost_initial_const",
951
+ "value": false,
952
+ "value_type": "bool"
953
+ },
954
+ {
955
+ "display_name": "Expected Life (whole years).",
956
+ "display_name_short": "Expected Life (whole years).",
957
+ "name": "expected_life",
958
+ "value": 20,
959
+ "value_type": "integer"
960
+ },
961
+ {
962
+ "display_name": "O & M Costs per Air Loop for Economizer ($).",
963
+ "display_name_short": "O & M Costs per Air Loop for Economizer ($).",
964
+ "name": "om_cost",
965
+ "value": 0.0,
966
+ "value_type": "double"
967
+ },
968
+ {
969
+ "display_name": "O & M Frequency (whole years).",
970
+ "display_name_short": "O & M Frequency (whole years).",
971
+ "name": "om_frequency",
972
+ "value": 1,
973
+ "value_type": "integer"
974
+ }
975
+ ],
976
+ "display_name": "Enable Economizer Control",
977
+ "name": "enable_economizer_control",
978
+ "variables": [
979
+ {
980
+ "argument": {
981
+ "display_name": "Economizer Maximum Limit Dry-Bulb Temperature (F).",
982
+ "display_name_short": "Economizer Maximum Limit Dry-Bulb Temperature (F).",
983
+ "name": "econoMaxDryBulbTemp",
984
+ "value_type": "double"
985
+ },
986
+ "display_name": "Economizer Maximum Limit Dry-Bulb Temperature (F).",
987
+ "display_name_short": "Economizer Maximum Limit Dry-Bulb Temperature (F).",
988
+ "maximum": 80.0,
989
+ "minimum": 76.0,
990
+ "relation_to_output": "",
991
+ "static_value": 79.0,
992
+ "uncertainty_description": {
993
+ "attributes": [
994
+ {
995
+ "name": "lower_bounds",
996
+ "value": 76.0
997
+ },
998
+ {
999
+ "name": "upper_bounds",
1000
+ "value": 80.0
1001
+ },
1002
+ {
1003
+ "name": "stddev",
1004
+ "value": 0.6666666666666666
1005
+ },
1006
+ {
1007
+ "name": "delta_x",
1008
+ "value": null
1009
+ },
1010
+ {
1011
+ "name": "modes",
1012
+ "value": 78.0
1013
+ }
1014
+ ],
1015
+ "type": "triangle_uncertain"
1016
+ },
1017
+ "units": "",
1018
+ "value_type": "double",
1019
+ "variable": true,
1020
+ "variable_type": "RubyContinuousVariable",
1021
+ "uuid": "c4b775dd-2b6b-4242-8e3c-274344153377",
1022
+ "version_uuid": "b52d2194-b65b-456b-96e3-037c8fa89d99"
1023
+ }
1024
+ ],
1025
+ "workflow_index": 5,
1026
+ "workflow_step_type": "Measure",
1027
+ "uuid": "2b596bed-b3f9-42ec-b2b6-3fe380ab63b9",
1028
+ "version_uuid": "85f13786-7d25-4dcd-bb56-c45b302e9ef4"
1029
+ },
1030
+ {
1031
+ "measure_definition_class_name": "SetBoilerThermalEfficiency",
1032
+ "measure_definition_directory": "./measures/ExampleMeasure",
1033
+ "measure_definition_display_name": "SetBoilerThermalEfficiency",
1034
+ "measure_definition_uuid": "ee772275-3fe4-4033-a77f-1f0e25ed0c50",
1035
+ "measure_definition_version_uuid": "8a76a465-1f38-4557-a0e7-1f5bc82b8016",
1036
+ "measure_type": "RubyMeasure",
1037
+ "arguments": [
1038
+ {
1039
+ "display_name": "Apply the measure to",
1040
+ "display_name_short": "Apply the measure to",
1041
+ "name": "boiler_widget",
1042
+ "value": "*All boilers*",
1043
+ "value_type": "choice"
1044
+ },
1045
+ {
1046
+ "display_name": "Option 1, set boiler nominal thermal efficiency to a user defined value",
1047
+ "display_name_short": "Option 1, set boiler nominal thermal efficiency to a user defined value",
1048
+ "name": "input_option_manual",
1049
+ "value": true,
1050
+ "value_type": "bool"
1051
+ },
1052
+ {
1053
+ "display_name": "Option 2, set boiler nominal thermal efficiency based on ASHRAE Standard 90.1 requirement",
1054
+ "display_name_short": "Option 2, set boiler nominal thermal efficiency based on ASHRAE Standard 90.1 requirement",
1055
+ "name": "input_option_standard",
1056
+ "value": false,
1057
+ "value_type": "bool"
1058
+ },
1059
+ {
1060
+ "display_name": "Boiler nominal capacity [W]",
1061
+ "display_name_short": "Boiler nominal capacity [W]",
1062
+ "name": "nominal_capacity",
1063
+ "value": 0.0,
1064
+ "value_type": "double"
1065
+ },
1066
+ {
1067
+ "display_name": "Fuel type",
1068
+ "display_name_short": "Fuel type",
1069
+ "name": "fuel_type_widget",
1070
+ "value": "0.0",
1071
+ "value_type": "choice"
1072
+ },
1073
+ {
1074
+ "display_name": "ASHRAE Standards 90.1",
1075
+ "display_name_short": "ASHRAE Standards 90.1",
1076
+ "name": "standards_widget",
1077
+ "value": "0.0",
1078
+ "value_type": "choice"
1079
+ }
1080
+ ],
1081
+ "display_name": "Set Boiler Thermal Efficiency",
1082
+ "name": "set_boiler_thermal_efficiency",
1083
+ "variables": [
1084
+ {
1085
+ "argument": {
1086
+ "display_name": "Boiler nominal thermal efficiency (between 0 and 1)",
1087
+ "display_name_short": "Boiler nominal thermal efficiency (between 0 and 1)",
1088
+ "name": "boiler_thermal_efficiency",
1089
+ "value_type": "double"
1090
+ },
1091
+ "display_name": "Boiler nominal thermal efficiency (between 0 and 1)",
1092
+ "display_name_short": "Boiler nominal thermal efficiency (between 0 and 1)",
1093
+ "maximum": 0.9,
1094
+ "minimum": 0.5,
1095
+ "relation_to_output": "",
1096
+ "static_value": 0.8,
1097
+ "uncertainty_description": {
1098
+ "attributes": [
1099
+ {
1100
+ "name": "lower_bounds",
1101
+ "value": 0.5
1102
+ },
1103
+ {
1104
+ "name": "upper_bounds",
1105
+ "value": 0.9
1106
+ },
1107
+ {
1108
+ "name": "stddev",
1109
+ "value": 0.06666666666666667
1110
+ },
1111
+ {
1112
+ "name": "delta_x",
1113
+ "value": null
1114
+ },
1115
+ {
1116
+ "name": "modes",
1117
+ "value": 0.75
1118
+ }
1119
+ ],
1120
+ "type": "triangle_uncertain"
1121
+ },
1122
+ "units": "",
1123
+ "value_type": "double",
1124
+ "variable": true,
1125
+ "variable_type": "RubyContinuousVariable",
1126
+ "uuid": "4b76bd7c-dd0b-47d3-a4c3-43944b6b1075",
1127
+ "version_uuid": "886d3b65-b08b-4e8f-9066-aa3f5fe4f15c"
1128
+ }
1129
+ ],
1130
+ "workflow_index": 6,
1131
+ "workflow_step_type": "Measure",
1132
+ "uuid": "a194ec5f-8f0d-4ce0-9083-0569a9065f0f",
1133
+ "version_uuid": "651daad9-8840-4d72-af65-f2f8b4ee444a"
1134
+ },
1135
+ {
1136
+ "measure_definition_class_name": "IncreaseInsulationRValueForExteriorWalls",
1137
+ "measure_definition_directory": "./measures/ExampleMeasure",
1138
+ "measure_definition_display_name": "IncreaseInsulationRValueForExteriorWalls",
1139
+ "measure_definition_uuid": "de84aba1-5f75-4438-ae03-08ffd9c12954",
1140
+ "measure_definition_version_uuid": "8bf5a2de-c73a-4b5f-80d3-41715ef2f9c4",
1141
+ "measure_type": "RubyMeasure",
1142
+ "arguments": [
1143
+ {
1144
+ "display_name": "Allow both increase and decrease in R-value to reach requested target?",
1145
+ "display_name_short": "Allow both increase and decrease in R-value to reach requested target?",
1146
+ "name": "allow_reduction",
1147
+ "value": true,
1148
+ "value_type": "bool"
1149
+ },
1150
+ {
1151
+ "display_name": "Increase in Material and Installation Costs for Construction per Area Used ($/ft^2).",
1152
+ "display_name_short": "Increase in Material and Installation Costs for Construction per Area Used ($/ft^2).",
1153
+ "name": "material_cost_increase_ip",
1154
+ "value": 0.0,
1155
+ "value_type": "double"
1156
+ },
1157
+ {
1158
+ "display_name": "One Time Retrofit Cost to Add Insulation to Construction ($/ft^2).",
1159
+ "display_name_short": "One Time Retrofit Cost to Add Insulation to Construction ($/ft^2).",
1160
+ "name": "one_time_retrofit_cost_ip",
1161
+ "value": 0.0,
1162
+ "value_type": "double"
1163
+ },
1164
+ {
1165
+ "display_name": "Year to Incur One Time Retrofit Cost (whole years).",
1166
+ "display_name_short": "Year to Incur One Time Retrofit Cost (whole years).",
1167
+ "name": "years_until_retrofit_cost",
1168
+ "value": 0,
1169
+ "value_type": "integer"
1170
+ }
1171
+ ],
1172
+ "display_name": "Set R-value of Insulation for Exterior Walls to a Specific Value",
1173
+ "name": "set_r_value_of_insulation_for_exterior_walls_to_a_specific_value",
1174
+ "variables": [
1175
+ {
1176
+ "argument": {
1177
+ "display_name": "Insulation R-value (ft^2*h*R/Btu).",
1178
+ "display_name_short": "Insulation R-value (ft^2*h*R/Btu).",
1179
+ "name": "r_value",
1180
+ "value_type": "double"
1181
+ },
1182
+ "display_name": "Insulation R-value (ft^2*h*R/Btu).",
1183
+ "display_name_short": "Insulation R-value (ft^2*h*R/Btu).",
1184
+ "maximum": 5.0,
1185
+ "minimum": 1.0,
1186
+ "relation_to_output": "",
1187
+ "static_value": 5.0,
1188
+ "uncertainty_description": {
1189
+ "attributes": [
1190
+ {
1191
+ "name": "lower_bounds",
1192
+ "value": 1.0
1193
+ },
1194
+ {
1195
+ "name": "upper_bounds",
1196
+ "value": 5.0
1197
+ },
1198
+ {
1199
+ "name": "stddev",
1200
+ "value": 0.6666666666666666
1201
+ },
1202
+ {
1203
+ "name": "delta_x",
1204
+ "value": null
1205
+ },
1206
+ {
1207
+ "name": "modes",
1208
+ "value": 2.5
1209
+ }
1210
+ ],
1211
+ "type": "triangle_uncertain"
1212
+ },
1213
+ "units": "",
1214
+ "value_type": "double",
1215
+ "variable": true,
1216
+ "variable_type": "RubyContinuousVariable",
1217
+ "uuid": "539774fe-5468-4517-b0a5-dcf3fb524e0c",
1218
+ "version_uuid": "47dde188-b93d-4d77-a806-546f47ef11e6"
1219
+ }
1220
+ ],
1221
+ "workflow_index": 7,
1222
+ "workflow_step_type": "Measure",
1223
+ "uuid": "729b7975-6dd2-4a53-8ca5-373247a9bcdd",
1224
+ "version_uuid": "30a3f0a4-1dd0-4ea0-9e56-7989230c7390"
1225
+ },
1226
+ {
1227
+ "measure_definition_class_name": "SetChillerCOP",
1228
+ "measure_definition_directory": "./measures/ExampleMeasure",
1229
+ "measure_definition_display_name": "SetChillerCOP",
1230
+ "measure_definition_uuid": "02c5f4d2-58b8-4723-b55a-dc74efab6b7c",
1231
+ "measure_definition_version_uuid": "b4cf324d-af0d-4923-81ec-8808910be926",
1232
+ "measure_type": "RubyMeasure",
1233
+ "arguments": [
1234
+ {
1235
+ "display_name": "Apply the measure to",
1236
+ "display_name_short": "Apply the measure to",
1237
+ "name": "chiller_widget",
1238
+ "value": "*All chillers*",
1239
+ "value_type": "choice"
1240
+ }
1241
+ ],
1242
+ "display_name": "SetChillerCOP",
1243
+ "name": "setchillercop",
1244
+ "variables": [
1245
+ {
1246
+ "argument": {
1247
+ "display_name": "Chiller Rated COP (more than 0)",
1248
+ "display_name_short": "Chiller Rated COP (more than 0)",
1249
+ "name": "chiller_thermal_efficiency",
1250
+ "value_type": "double"
1251
+ },
1252
+ "display_name": "Chiller Rated COP (more than 0)",
1253
+ "display_name_short": "Chiller Rated COP (more than 0)",
1254
+ "maximum": 5.5,
1255
+ "minimum": 2.5,
1256
+ "relation_to_output": "",
1257
+ "static_value": 3.0,
1258
+ "uncertainty_description": {
1259
+ "attributes": [
1260
+ {
1261
+ "name": "lower_bounds",
1262
+ "value": 2.5
1263
+ },
1264
+ {
1265
+ "name": "upper_bounds",
1266
+ "value": 5.5
1267
+ },
1268
+ {
1269
+ "name": "stddev",
1270
+ "value": 0.5
1271
+ },
1272
+ {
1273
+ "name": "delta_x",
1274
+ "value": null
1275
+ },
1276
+ {
1277
+ "name": "modes",
1278
+ "value": 3.5
1279
+ }
1280
+ ],
1281
+ "type": "triangle_uncertain"
1282
+ },
1283
+ "units": "",
1284
+ "value_type": "double",
1285
+ "variable": true,
1286
+ "variable_type": "RubyContinuousVariable",
1287
+ "uuid": "c4f7e5be-4893-434a-95f5-494d5b0bd927",
1288
+ "version_uuid": "c636f5ad-6f1d-4cb1-b1e7-3585125cda00"
1289
+ }
1290
+ ],
1291
+ "workflow_index": 8,
1292
+ "workflow_step_type": "Measure",
1293
+ "uuid": "6ad2752c-56b9-4342-9d11-9fb8123dc686",
1294
+ "version_uuid": "ed80b633-4a56-4136-81ef-6bbf897a4343"
1295
+ },
1296
+ {
1297
+ "measure_definition_class_name": "SetHeatingandCoolingSizingFactors",
1298
+ "measure_definition_directory": "./measures/ExampleMeasure",
1299
+ "measure_definition_display_name": "SetHeatingandCoolingSizingFactors",
1300
+ "measure_definition_uuid": "3b5adf5e-86b2-427d-b6af-f169c1ddf6bd",
1301
+ "measure_definition_version_uuid": "9628e7a3-16f8-4520-88f5-ce53f11e93c6",
1302
+ "measure_type": "RubyMeasure",
1303
+ "arguments": [
1304
+
1305
+ ],
1306
+ "display_name": "Set Heating and Cooling Sizing Factors",
1307
+ "name": "set_heating_and_cooling_sizing_factors",
1308
+ "variables": [
1309
+ {
1310
+ "argument": {
1311
+ "display_name": "Heating Sizing Factor (eg 1.25 = 125% of required heating capacity.",
1312
+ "display_name_short": "Heating Sizing Factor (eg 1.25 = 125% of required heating capacity.",
1313
+ "name": "htg_sz_factor",
1314
+ "value_type": "double"
1315
+ },
1316
+ "display_name": "Heating Sizing Factor (eg 1.25 = 125% of required heating capacity.",
1317
+ "display_name_short": "Heating Sizing Factor (eg 1.25 = 125% of required heating capacity.",
1318
+ "maximum": 1.5,
1319
+ "minimum": 1.0,
1320
+ "relation_to_output": "",
1321
+ "static_value": 1.25,
1322
+ "uncertainty_description": {
1323
+ "attributes": [
1324
+ {
1325
+ "name": "lower_bounds",
1326
+ "value": 1.0
1327
+ },
1328
+ {
1329
+ "name": "upper_bounds",
1330
+ "value": 1.5
1331
+ },
1332
+ {
1333
+ "name": "stddev",
1334
+ "value": 0.08333333333333333
1335
+ },
1336
+ {
1337
+ "name": "delta_x",
1338
+ "value": null
1339
+ },
1340
+ {
1341
+ "name": "modes",
1342
+ "value": 1.25
1343
+ }
1344
+ ],
1345
+ "type": "triangle_uncertain"
1346
+ },
1347
+ "units": "",
1348
+ "value_type": "double",
1349
+ "variable": true,
1350
+ "variable_type": "RubyContinuousVariable",
1351
+ "uuid": "640893ee-47f1-41dc-8766-83eeef8513ff",
1352
+ "version_uuid": "787a6e37-911d-4266-ba20-33b5bc5b793f"
1353
+ },
1354
+ {
1355
+ "argument": {
1356
+ "display_name": "Coolinig Sizing Factor (eg 1.15 = 115% of required cooling capacity.",
1357
+ "display_name_short": "Coolinig Sizing Factor (eg 1.15 = 115% of required cooling capacity.",
1358
+ "name": "clg_sz_factor",
1359
+ "value_type": "double"
1360
+ },
1361
+ "display_name": "Coolinig Sizing Factor (eg 1.15 = 115% of required cooling capacity.",
1362
+ "display_name_short": "Coolinig Sizing Factor (eg 1.15 = 115% of required cooling capacity.",
1363
+ "maximum": 1.5,
1364
+ "minimum": 1.0,
1365
+ "relation_to_output": "",
1366
+ "static_value": 1.15,
1367
+ "uncertainty_description": {
1368
+ "attributes": [
1369
+ {
1370
+ "name": "lower_bounds",
1371
+ "value": 1.0
1372
+ },
1373
+ {
1374
+ "name": "upper_bounds",
1375
+ "value": 1.5
1376
+ },
1377
+ {
1378
+ "name": "stddev",
1379
+ "value": 0.08333333333333333
1380
+ },
1381
+ {
1382
+ "name": "delta_x",
1383
+ "value": null
1384
+ },
1385
+ {
1386
+ "name": "modes",
1387
+ "value": 1.15
1388
+ }
1389
+ ],
1390
+ "type": "triangle_uncertain"
1391
+ },
1392
+ "units": "",
1393
+ "value_type": "double",
1394
+ "variable": true,
1395
+ "variable_type": "RubyContinuousVariable",
1396
+ "uuid": "0656bd9f-c3c7-44e4-85c4-c6b1f84c1f60",
1397
+ "version_uuid": "080d3152-31b0-4c63-b0cd-60f525a31dd8"
1398
+ }
1399
+ ],
1400
+ "workflow_index": 9,
1401
+ "workflow_step_type": "Measure",
1402
+ "uuid": "f30a1787-d861-4ba2-9a15-1dbac1133806",
1403
+ "version_uuid": "1aded70c-811b-4eb0-ba5a-88f63fa76ece"
1404
+ },
1405
+ {
1406
+ "measure_definition_class_name": "SetChilledWaterLoopTemperature",
1407
+ "measure_definition_directory": "./measures/ExampleMeasure",
1408
+ "measure_definition_display_name": "SetChilledWaterLoopTemperature",
1409
+ "measure_definition_uuid": "fae758d9-7fea-42ab-ae7a-0a5fc00e9295",
1410
+ "measure_definition_version_uuid": "b9478c40-19e1-4a2a-90f3-0bd881ebea4c",
1411
+ "measure_type": "RubyMeasure",
1412
+ "arguments": [
1413
+
1414
+ ],
1415
+ "display_name": "Set Chilled Water Loop Temperature",
1416
+ "name": "set_chilled_water_loop_temperature",
1417
+ "variables": [
1418
+ {
1419
+ "argument": {
1420
+ "display_name": "Desired chilled water setpoint (F)",
1421
+ "display_name_short": "Desired chilled water setpoint (F)",
1422
+ "name": "cw_temp_f",
1423
+ "value_type": "double"
1424
+ },
1425
+ "display_name": "Desired chilled water setpoint (F)",
1426
+ "display_name_short": "Desired chilled water setpoint (F)",
1427
+ "maximum": 46.0,
1428
+ "minimum": 42.0,
1429
+ "relation_to_output": "",
1430
+ "static_value": 44.0,
1431
+ "uncertainty_description": {
1432
+ "attributes": [
1433
+ {
1434
+ "name": "lower_bounds",
1435
+ "value": 42.0
1436
+ },
1437
+ {
1438
+ "name": "upper_bounds",
1439
+ "value": 46.0
1440
+ },
1441
+ {
1442
+ "name": "stddev",
1443
+ "value": 0.6666666666666666
1444
+ },
1445
+ {
1446
+ "name": "delta_x",
1447
+ "value": null
1448
+ },
1449
+ {
1450
+ "name": "modes",
1451
+ "value": 44.0
1452
+ }
1453
+ ],
1454
+ "type": "triangle_uncertain"
1455
+ },
1456
+ "units": "",
1457
+ "value_type": "double",
1458
+ "variable": true,
1459
+ "variable_type": "RubyContinuousVariable",
1460
+ "uuid": "d5a838ba-6371-4402-96cf-e0aefe42083a",
1461
+ "version_uuid": "6ee18afc-92c9-485a-861e-5e37a897a085"
1462
+ }
1463
+ ],
1464
+ "workflow_index": 10,
1465
+ "workflow_step_type": "Measure",
1466
+ "uuid": "38263a9a-25dd-4d3f-bb70-8fcb9d0d0d71",
1467
+ "version_uuid": "427b4a13-bb80-499e-af8a-d9ec0623bd37"
1468
+ },
1469
+ {
1470
+ "measure_definition_class_name": "SetHotWaterLoopTemperature",
1471
+ "measure_definition_directory": "./measures/ExampleMeasure",
1472
+ "measure_definition_display_name": "SetHotWaterLoopTemperature",
1473
+ "measure_definition_uuid": "a97acd58-bf40-41e7-937b-0967dd118a00",
1474
+ "measure_definition_version_uuid": "1a80c759-1ec0-4f5f-ae15-d5c53e08336c",
1475
+ "measure_type": "RubyMeasure",
1476
+ "arguments": [
1477
+
1478
+ ],
1479
+ "display_name": "Set Hot Water Loop Temperature",
1480
+ "name": "set_hot_water_loop_temperature",
1481
+ "variables": [
1482
+ {
1483
+ "argument": {
1484
+ "display_name": "Desired hot water setpoint (F)",
1485
+ "display_name_short": "Desired hot water setpoint (F)",
1486
+ "name": "hw_temp_f",
1487
+ "value_type": "double"
1488
+ },
1489
+ "display_name": "Desired hot water setpoint (F)",
1490
+ "display_name_short": "Desired hot water setpoint (F)",
1491
+ "maximum": 122.0,
1492
+ "minimum": 118.0,
1493
+ "relation_to_output": "",
1494
+ "static_value": 120.0,
1495
+ "uncertainty_description": {
1496
+ "attributes": [
1497
+ {
1498
+ "name": "lower_bounds",
1499
+ "value": 118.0
1500
+ },
1501
+ {
1502
+ "name": "upper_bounds",
1503
+ "value": 122.0
1504
+ },
1505
+ {
1506
+ "name": "stddev",
1507
+ "value": 0.6666666666666666
1508
+ },
1509
+ {
1510
+ "name": "delta_x",
1511
+ "value": null
1512
+ },
1513
+ {
1514
+ "name": "modes",
1515
+ "value": 120.0
1516
+ }
1517
+ ],
1518
+ "type": "triangle_uncertain"
1519
+ },
1520
+ "units": "",
1521
+ "value_type": "double",
1522
+ "variable": true,
1523
+ "variable_type": "RubyContinuousVariable",
1524
+ "uuid": "f2c42cf6-5355-40d9-8a91-e2da0e4b43c7",
1525
+ "version_uuid": "fece63c3-a96d-4258-8bcd-dee0778b5031"
1526
+ }
1527
+ ],
1528
+ "workflow_index": 11,
1529
+ "workflow_step_type": "Measure",
1530
+ "uuid": "17bf0aab-a38f-4a1c-99ea-bce47bb6a0d1",
1531
+ "version_uuid": "d63d1cfe-79ce-40b9-af92-84dcea33d5f2"
1532
+ },
1533
+ {
1534
+ "measure_definition_class_name": "SetMinimumVAVTerminalFlowFraction",
1535
+ "measure_definition_directory": "./measures/ExampleMeasure",
1536
+ "measure_definition_display_name": "SetMinimumVAVTerminalFlowFraction",
1537
+ "measure_definition_uuid": "42c4422c-512b-4e69-8f0f-c829eb1f16e0",
1538
+ "measure_definition_version_uuid": "e134d04e-76f6-490c-bc5b-4eb1d26ecc25",
1539
+ "measure_type": "RubyMeasure",
1540
+ "arguments": [
1541
+
1542
+ ],
1543
+ "display_name": "Set Minimum VAV Terminal Flow Fraction",
1544
+ "name": "set_minimum_vav_terminal_flow_fraction",
1545
+ "variables": [
1546
+ {
1547
+ "argument": {
1548
+ "display_name": "Minimum VAV Terminal Flow Fraction (%)",
1549
+ "display_name_short": "Minimum VAV Terminal Flow Fraction (%)",
1550
+ "name": "min_vav_frac",
1551
+ "value_type": "double"
1552
+ },
1553
+ "display_name": "Minimum VAV Terminal Flow Fraction (%)",
1554
+ "display_name_short": "Minimum VAV Terminal Flow Fraction (%)",
1555
+ "maximum": 60.0,
1556
+ "minimum": 0.0,
1557
+ "relation_to_output": "",
1558
+ "static_value": 30.0,
1559
+ "uncertainty_description": {
1560
+ "attributes": [
1561
+ {
1562
+ "name": "lower_bounds",
1563
+ "value": 0.0
1564
+ },
1565
+ {
1566
+ "name": "upper_bounds",
1567
+ "value": 60.0
1568
+ },
1569
+ {
1570
+ "name": "stddev",
1571
+ "value": 10.0
1572
+ },
1573
+ {
1574
+ "name": "delta_x",
1575
+ "value": null
1576
+ },
1577
+ {
1578
+ "name": "modes",
1579
+ "value": 30.0
1580
+ }
1581
+ ],
1582
+ "type": "triangle_uncertain"
1583
+ },
1584
+ "units": "",
1585
+ "value_type": "double",
1586
+ "variable": true,
1587
+ "variable_type": "RubyContinuousVariable",
1588
+ "uuid": "807a8596-1aef-46b0-8d40-41d443bde9bf",
1589
+ "version_uuid": "3bd36020-161a-4e8f-a799-bf5f75dfe4b5"
1590
+ }
1591
+ ],
1592
+ "workflow_index": 12,
1593
+ "workflow_step_type": "Measure",
1594
+ "uuid": "d44e1c1c-be8c-4728-b055-3a9c8a4de558",
1595
+ "version_uuid": "6d8c8536-95cf-4483-9702-c439bfee173c"
1596
+ },
1597
+ {
1598
+ "measure_definition_class_name": "ModifyEnergyPlusFanVariableVolumeObjects",
1599
+ "measure_definition_directory": "./measures/ExampleMeasure",
1600
+ "measure_definition_display_name": "ModifyEnergyPlusFanVariableVolumeObjects",
1601
+ "measure_definition_uuid": "9fdfea68-43ca-44c0-a97c-a27db07f6435",
1602
+ "measure_definition_version_uuid": "cd876ad7-5cd0-4932-9340-206aefef44fa",
1603
+ "measure_type": "EnergyPlusMeasure",
1604
+ "arguments": [
1605
+
1606
+ ],
1607
+ "display_name": "Modify EnergyPlus Fan Varaible Volume Objects",
1608
+ "name": "modify_energyplus_fan_varaible_volume_objects",
1609
+ "variables": [
1610
+ {
1611
+ "argument": {
1612
+ "display_name": "Pressure Rise (Pa).",
1613
+ "display_name_short": "Pressure Rise (Pa).",
1614
+ "name": "pressureRise",
1615
+ "value_type": "double"
1616
+ },
1617
+ "display_name": "Pressure Rise (Pa).",
1618
+ "display_name_short": "Pressure Rise (Pa).",
1619
+ "maximum": 700.0,
1620
+ "minimum": 400.0,
1621
+ "relation_to_output": "",
1622
+ "static_value": 500.0,
1623
+ "uncertainty_description": {
1624
+ "attributes": [
1625
+ {
1626
+ "name": "lower_bounds",
1627
+ "value": 400.0
1628
+ },
1629
+ {
1630
+ "name": "upper_bounds",
1631
+ "value": 700.0
1632
+ },
1633
+ {
1634
+ "name": "stddev",
1635
+ "value": 50.0
1636
+ },
1637
+ {
1638
+ "name": "delta_x",
1639
+ "value": 5.0
1640
+ },
1641
+ {
1642
+ "name": "modes",
1643
+ "value": 500.0
1644
+ }
1645
+ ],
1646
+ "type": "triangle_uncertain"
1647
+ },
1648
+ "units": "",
1649
+ "value_type": "double",
1650
+ "variable": true,
1651
+ "variable_type": "RubyContinuousVariable",
1652
+ "uuid": "31ac4d3b-97ea-4aab-bae4-b88bf73cdebf",
1653
+ "version_uuid": "4dbca1d1-09f0-4808-b652-fc5803c3b5df"
1654
+ }
1655
+ ],
1656
+ "workflow_index": 13,
1657
+ "workflow_step_type": "Measure",
1658
+ "uuid": "d92eca35-ca8e-464f-a2bc-842dfb2fecc6",
1659
+ "version_uuid": "480be4ef-bff8-49ff-98b3-2eeac8c0099a"
1660
+ }
1661
+ ],
1662
+ "analysis_type": "rgenoud"
1663
+ },
1664
+ "seed": {
1665
+ "file_type": "OSM",
1666
+ "path": "./seed/small_seed.osm"
1667
+ },
1668
+ "weather_file": {
1669
+ "file_type": "EPW",
1670
+ "path": "./weather/partial_weather.epw"
1671
+ }
1672
+ }
1673
+ }