openstudio-analysis 1.0.0.rc6 → 1.0.0.rc7

Sign up to get free protection for your applications and to get access to all the features.
data/spec/schema/osa.json CHANGED
@@ -1,584 +1,584 @@
1
1
  {
2
- "$schema": "http://json-schema.org/draft-04/schema#",
3
- "description": "JSON Schema for the OpenStudioAnalysis File Type",
4
- "type": "object",
5
- "properties": {
6
- "analysis": {
7
- "$ref": "#/definitions/Analysis"
8
- }
9
- },
10
- "required": [
11
- "analysis"
12
- ],
13
- "additionalProperties": false,
14
- "definitions": {
15
- "Output": {
16
- "description": "Hash",
17
- "type": "object",
18
- "properties": {
19
- "units": {
20
- "description": "Haystack compliant unit string, or empty string if not applicable",
21
- "type": "string"
22
- },
23
- "objective_function": {
24
- "description": "Determines if output is part of an objective function",
25
- "type": "boolean"
26
- },
27
- "objective_function_index": {
28
- "description": "Key used to define multi-objective functions, null if not applicable",
29
- "type": "number"
30
- },
31
- "objective_function_target": {
32
- "description": "Key used to define target of the objective function, null if not applicable",
33
- "type": [
34
- "number",
35
- "null"
36
- ]
37
- },
38
- "objective_function_group": {
39
- "description": "Optional key used to define multi-objective functions",
40
- "type": "number"
41
- },
42
- "scaling_factor": {
43
- "description": "????",
44
- "type": "null"
45
- },
46
- "display_name": {
47
- "description": "User facing name of objective which must be unique",
48
- "type": "string"
49
- },
50
- "display_name_short": {
51
- "description": "User facing name less that 20 characters",
52
- "type": "string"
53
- },
54
- "metadata_id": {
55
- "description": "??????",
56
- "type": [
57
- "string",
58
- "null"
59
- ]
60
- },
61
- "name": {
62
- "description": "Snake cased output machine name",
63
- "type": "string"
64
- },
65
- "visualize": {
66
- "description": "Determines if variable will be include in plots on the server",
67
- "type": "boolean"
68
- },
69
- "export": {
70
- "description": "?????",
71
- "type": "boolean"
72
- },
73
- "variable_type": {
74
- "description": "Allowed values of 'string', 'bool', or 'number'",
75
- "type": "string"
76
- }
77
- },
78
- "required": [
79
- "units",
80
- "objective_function",
81
- "objective_function_index",
82
- "objective_function_target",
83
- "scaling_factor",
84
- "display_name",
85
- "metadata_id",
86
- "name"
87
- ],
88
- "additionalProperties": false
89
- },
90
- "Algorithm Attributes": {
91
- "title": "algorithm",
92
- "description": "Hash of attributes associated with the analysis_type",
93
- "type": "object",
94
- "additionalProperties": {
95
- "description": "Attributes defined by analysis type"
96
- }
97
- },
98
- "Argument": {
99
- "title": "argument",
100
- "description": "Individual argument instance",
101
- "type": "object",
102
- "properties": {
103
- "display_name": {
104
- "description": "User-facing display name which must be unique",
105
- "type": "string"
106
- },
107
- "display_name_short": {
108
- "description": "Optional user-facing display name under 20 characters",
109
- "type": "string"
110
- },
111
- "name": {
112
- "description": "Machine readable snake-cased name of argument as defined in the measure.xml",
113
- "type": "string"
114
- },
115
- "value_type": {
116
- "description": "Accepts inputs of 'string', 'bool', and 'number'",
117
- "type": "string"
118
- },
119
- "default_value": {
120
- "description": "Default value for argument, if defined in the measure.xml file",
121
- "type": [
122
- "string",
123
- "number",
124
- "boolean"
125
- ]
126
- },
127
- "value": {
128
- "description": "Value to set argument to in analysis",
129
- "type": [
130
- "string",
131
- "number",
132
- "boolean"
133
- ]
134
- },
135
- "machine_name": {
136
- "description": "????",
137
- "type": "string"
138
- },
139
- "uuid": {
140
- "description": "UUID for the measure from the measure.xml",
141
- "type": "string"
142
- },
143
- "version_uuid": {
144
- "description": "UUID for the measure version form the measure.xml",
145
- "type": "string"
146
- }
147
- },
148
- "required": [
149
- "display_name",
150
- "name",
151
- "value",
152
- "machine_name",
153
- "uuid",
154
- "version_uuid"
155
- ],
156
- "additionalProperties": false
157
- },
158
- "Workflow Step": {
159
- "description": "Individual measure definition",
160
- "type": "object",
161
- "properties": {
162
- "name": {
163
- "description": "Snake-cased machine readable measure name which must be unique",
164
- "type": "string"
165
- },
166
- "display_name": {
167
- "description": "User facing measure name which must also be unique",
168
- "type": "string"
169
- },
170
- "measure_type": {
171
- "description": "Accepts values of 'Ruby' 'EnergyPlus' and 'Reporting'",
172
- "type": "string"
173
- },
174
- "description": {
175
- "description": "Measure description",
176
- "type": "string"
177
- },
178
- "taxonomy": {
179
- "description": "Measure taxonomy tag",
180
- "type": "string"
181
- },
182
- "measure_definition_class_name": {
183
- "description": "Class name of measure.rb file",
184
- "type": "string"
185
- },
186
- "measure_definition_directory": {
187
- "description": "??",
188
- "type": "string"
189
- },
190
- "measure_definition_directory_local": {
191
- "description": "Local path to the measure directory",
192
- "type": "string"
193
- },
194
- "measure_definition_display_name": {
195
- "description": "?????",
196
- "type": "string"
197
- },
198
- "measure_definition_name": {
199
- "description": "?????",
200
- "type": "string"
201
- },
202
- "measure_definition_name_xml": {
203
- "description": "?????",
204
- "type": "null"
205
- },
206
- "measure_definition_uuid": {
207
- "description": "UUID of measure in measure.xml",
208
- "type": "string"
209
- },
210
- "measure_definition_version_uuid": {
211
- "description": "UUID of measure version in measure.xml",
212
- "type": "string"
213
- },
214
- "arguments": {
215
- "$ref": "#/definitions/Argument Array"
216
- },
217
- "variables": {
218
- "$ref": "#/definitions/Variable Array"
219
- },
220
- "workflow_index": {
221
- "description": "Index in workflow array, indexing from 0",
222
- "type": "number"
223
- },
224
- "workflow_step_type": {
225
- "description": "???????",
226
- "type": "string"
227
- },
228
- "version_uuid": {
229
- "description": "UUID of measure version from the measure.xml",
230
- "type": "string"
231
- },
232
- "uuid": {
233
- "description": "UUID of measure from the measure.xml",
234
- "type": "string"
235
- }
236
- },
237
- "required": [
238
- "name",
239
- "display_name",
240
- "measure_type",
241
- "measure_definition_class_name",
242
- "measure_definition_directory",
243
- "measure_definition_uuid",
244
- "measure_definition_version_uuid",
245
- "arguments",
246
- "variables",
247
- "workflow_index",
248
- "workflow_step_type",
249
- "version_uuid",
250
- "uuid"
251
- ],
252
- "additionalProperties": false
253
- },
254
- "Uncertainty Definition": {
255
- "title": "uncertainty_description",
256
- "description": "Set of attributes defining the variability of the input",
257
- "type": "object",
258
- "properties": {
259
- "type": {
260
- "description": "Uncertainty type, accepting values of 'triangle', 'uniform', 'discrete', and 'normal'",
261
- "type": "string",
262
- "oneof": [
263
- "triangle",
264
- "uniform",
265
- "normal",
266
- "discrete"
267
- ]
268
- },
269
- "attributes": {
270
- "$ref": "#/definitions/Distribution Definition"
271
- }
272
- },
273
- "required": [
274
- "type",
275
- "attributes"
276
- ],
277
- "additionalProperties": false
278
- },
279
- "Design Alternative": {
280
- "description": "Individual design alternative instance",
281
- "type": "object",
282
- "properties": {
283
- "name": {
284
- "description": "Name of design alternative",
285
- "type": "string"
286
- },
287
- "description" : {
288
- "description": "Description of design alternative",
289
- "type": "string"
290
- }
291
- },
292
- "required": [
293
- "name",
294
- "description"
295
- ],
296
- "additionalProperties": false
297
- },
298
- "Variable": {
299
- "description": "Individual variable instance",
300
- "type": "object",
301
- "properties": {
302
- "argument": {
303
- "$ref": "#/definitions/Argument"
304
- },
305
- "display_name": {
306
- "description": "User-facing display name which must be unique",
307
- "type": "string"
308
- },
309
- "display_name_short": {
310
- "description": "Optional user-facing name under 20 characters",
311
- "type": "string"
312
- },
313
- "variable_type": {
314
- "description": "Definition of variable type",
315
- "type": "string",
316
- "oneof": [
317
- "variable",
318
- "pivot"
319
- ]
320
- },
321
- "units": {
322
- "description": "Haystack compliant units with an empty string if not defined.",
323
- "type": "null"
324
- },
325
- "minimum": {
326
- "description": "????",
327
- "type": "number"
328
- },
329
- "maximum": {
330
- "description": "????",
331
- "type": "number"
332
- },
333
- "relation_to_output": {
334
- "description": "????",
335
- "type": "null"
336
- },
337
- "static_value": {
338
- "description": "Value to default to in the case of this variable not being perturbed in a datapoint",
339
- "type": "number"
340
- },
341
- "uuid": {
342
- "description": "Variable UUID to link against in the .osd file",
343
- "type": "string"
344
- },
345
- "version_uuid": {
346
- "description": "???",
347
- "type": "string"
348
- },
349
- "variable": {
350
- "description": "????",
351
- "type": "boolean"
352
- },
353
- "uncertainty_description": {
354
- "$ref": "#/definitions/Uncertainty Definition"
355
- },
356
- "workflow_index": {
357
- "description": "???????",
358
- "type": "number"
359
- },
360
- "machine_name": {
361
- "description": "???????",
362
- "type": "string"
363
- }
364
- },
365
- "required": [
366
- "argument",
367
- "display_name",
368
- "variable_type",
369
- "units",
370
- "static_value",
371
- "uuid",
372
- "version_uuid",
373
- "uncertainty_description",
374
- "machine_name"
375
- ],
376
- "additionalProperties": false
377
- },
378
- "Problem": {
379
- "title": "problem",
380
- "description": "Defines procedure for running the analysis",
381
- "type": "object",
382
- "properties": {
383
- "analysis_type": {
384
- "description": "Type of analysis to be run, e.g. LHS or nsga2",
385
- "type": "string",
386
- "oneof": [
387
- "morris",
388
- "lhs",
389
- "rgenound",
390
- "nsga_nrel",
391
- "spea",
392
- "sequential_search",
393
- "single_run",
394
- "batch_run",
395
- "doe",
396
- "repeat_run",
397
- "optim",
398
- "baseline_perturbation",
399
- "preflight"
400
- ]
401
- },
402
- "algorithm": {
403
- "$ref": "#/definitions/Algorithm Attributes"
404
- },
405
- "workflow": {
406
- "$ref": "#/definitions/Workflow"
407
- },
408
- "random_seed": {
409
- "description": "Random seed to set server to for the execution of the OSA file",
410
- "type": "number"
411
- },
412
- "name": {
413
- "description": "??????",
414
- "type": "string"
415
- },
416
- "Design Alternative Array": {
417
- "description": "Array of design alternative names and descriptions",
418
- "type": "array",
419
- "items": {
420
- "$ref": "#/definitions/Design Alternative"
421
- }
422
- }
423
- },
424
- "required": [
425
- "analysis_type",
426
- "algorithm",
427
- "workflow",
428
- "random_seed"
429
- ],
430
- "additionalProperties": false
431
- },
432
- "Output Array": {
433
- "description": "Array of objects which define user-desired outputs from the analysis ",
434
- "type": "array",
435
- "items": {
436
- "$ref": "#/definitions/Output"
437
- }
438
- },
439
- "Workflow": {
440
- "description": "Definition of measures to be applied in the analysis",
441
- "type": "array",
442
- "items": {
443
- "$ref": "#/definitions/Workflow Step"
444
- }
445
- },
446
- "Seed Object": {
447
- "title": "seed",
448
- "description": "Seed osm or idf file for default use",
449
- "type": "object",
450
- "properties": {
451
- "file_type": {
452
- "description": "Accepted values of 'osm' and 'idf'",
453
- "type": "string",
454
- "oneonf": [
455
- "osm",
456
- "idf"
457
- ]
458
- },
459
- "path": {
460
- "description": "Path to the seed file from the project directory",
461
- "type": "string"
462
- }
463
- },
464
- "required": [
465
- "file_type"
466
- ],
467
- "additionalProperties": false
468
- },
469
- "Weather File": {
470
- "title": "weather_file",
471
- "description": "Weather file for default use in the simulation",
472
- "type": "object",
473
- "properties": {
474
- "file_type": {
475
- "description": "Weather file type, e.g. TMY3",
476
- "type": "string"
477
- },
478
- "path": {
479
- "description": "Path to weather file from the project directory",
480
- "type": "string"
481
- }
482
- },
483
- "required": [
484
- "file_type",
485
- "path"
486
- ],
487
- "additionalProperties": false
488
- },
489
- "Analysis": {
490
- "title": "analysis",
491
- "description": "Analysis object",
492
- "type": "object",
493
- "properties": {
494
- "display_name": {
495
- "description": "User facing string, spaces & capitals allowed",
496
- "type": "string"
497
- },
498
- "name": {
499
- "description": "snake_cassed machine name",
500
- "type": "string"
501
- },
502
- "output_variables": {
503
- "$ref": "#/definitions/Output Array"
504
- },
505
- "problem": {
506
- "$ref": "#/definitions/Problem"
507
- },
508
- "seed": {
509
- "$ref": "#/definitions/Seed Object"
510
- },
511
- "weather_file": {
512
- "$ref": "#/definitions/Weather File"
513
- },
514
- "file_format_version": {
515
- "description": "1.0",
516
- "type": "number"
517
- },
518
- "_id": {
519
- "description": "UUID of the OSA file",
520
- "type": "string"
521
- },
522
- "uuid": {
523
- "description": "UUID of the OSA file",
524
- "type": "string"
525
- },
526
- "project_id": {
527
- "description": "?????",
528
- "type": "string"
529
- }
530
- },
531
- "required": [
532
- "output_variables",
533
- "problem",
534
- "seed",
535
- "weather_file",
536
- "_id",
537
- "uuid",
538
- "project_id"
539
- ],
540
- "additionalProperties": false
541
- },
542
- "Argument Array": {
543
- "description": "Array of fixed inputs for the measure",
544
- "type": "array",
545
- "items": {
546
- "$ref": "#/definitions/Argument"
547
- }
548
- },
549
- "Variable Array": {
550
- "description": "Array of variable inputs for the measure",
551
- "type": "array",
552
- "items": {
553
- "$ref": "#/definitions/Variable"
554
- }
555
- },
556
- "Distribution Definition": {
557
- "title": "attributes",
558
- "description": "Array of attributes defining the distribution type properties",
559
- "type": "array",
560
- "items": {
561
- "title": "Distribution Attributes",
562
- "type": "object",
563
- "properties": {
564
- "name": {
565
- "type": "string"
566
- },
567
- "value": {
568
- "type": [
569
- "array",
570
- "string",
571
- "number",
572
- "boolean"
573
- ]
574
- }
575
- },
576
- "required": [
577
- "name",
578
- "value"
579
- ],
580
- "additionalProperties": false
581
- }
582
- }
583
- }
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "description": "JSON Schema for the OpenStudioAnalysis File Type",
4
+ "type": "object",
5
+ "properties": {
6
+ "analysis": {
7
+ "$ref": "#/definitions/Analysis"
8
+ }
9
+ },
10
+ "required": [
11
+ "analysis"
12
+ ],
13
+ "additionalProperties": false,
14
+ "definitions": {
15
+ "Output": {
16
+ "description": "Hash",
17
+ "type": "object",
18
+ "properties": {
19
+ "units": {
20
+ "description": "Haystack compliant unit string, or empty string if not applicable",
21
+ "type": "string"
22
+ },
23
+ "objective_function": {
24
+ "description": "Determines if output is part of an objective function",
25
+ "type": "boolean"
26
+ },
27
+ "objective_function_index": {
28
+ "description": "Key used to define multi-objective functions, null if not applicable",
29
+ "type": "number"
30
+ },
31
+ "objective_function_target": {
32
+ "description": "Key used to define target of the objective function, null if not applicable",
33
+ "type": [
34
+ "number",
35
+ "null"
36
+ ]
37
+ },
38
+ "objective_function_group": {
39
+ "description": "Optional key used to define multi-objective functions",
40
+ "type": "number"
41
+ },
42
+ "scaling_factor": {
43
+ "description": "????",
44
+ "type": "null"
45
+ },
46
+ "display_name": {
47
+ "description": "User facing name of objective which must be unique",
48
+ "type": "string"
49
+ },
50
+ "display_name_short": {
51
+ "description": "User facing name less that 20 characters",
52
+ "type": "string"
53
+ },
54
+ "metadata_id": {
55
+ "description": "??????",
56
+ "type": [
57
+ "string",
58
+ "null"
59
+ ]
60
+ },
61
+ "name": {
62
+ "description": "Snake cased output machine name",
63
+ "type": "string"
64
+ },
65
+ "visualize": {
66
+ "description": "Determines if variable will be include in plots on the server",
67
+ "type": "boolean"
68
+ },
69
+ "export": {
70
+ "description": "?????",
71
+ "type": "boolean"
72
+ },
73
+ "variable_type": {
74
+ "description": "Allowed values of 'string', 'bool', or 'number'",
75
+ "type": "string"
76
+ }
77
+ },
78
+ "required": [
79
+ "units",
80
+ "objective_function",
81
+ "objective_function_index",
82
+ "objective_function_target",
83
+ "scaling_factor",
84
+ "display_name",
85
+ "metadata_id",
86
+ "name"
87
+ ],
88
+ "additionalProperties": false
89
+ },
90
+ "Algorithm Attributes": {
91
+ "title": "algorithm",
92
+ "description": "Hash of attributes associated with the analysis_type",
93
+ "type": "object",
94
+ "additionalProperties": {
95
+ "description": "Attributes defined by analysis type"
96
+ }
97
+ },
98
+ "Argument": {
99
+ "title": "argument",
100
+ "description": "Individual argument instance",
101
+ "type": "object",
102
+ "properties": {
103
+ "display_name": {
104
+ "description": "User-facing display name which must be unique",
105
+ "type": "string"
106
+ },
107
+ "display_name_short": {
108
+ "description": "Optional user-facing display name under 20 characters",
109
+ "type": "string"
110
+ },
111
+ "name": {
112
+ "description": "Machine readable snake-cased name of argument as defined in the measure.xml",
113
+ "type": "string"
114
+ },
115
+ "value_type": {
116
+ "description": "Accepts inputs of 'string', 'bool', and 'number'",
117
+ "type": "string"
118
+ },
119
+ "default_value": {
120
+ "description": "Default value for argument, if defined in the measure.xml file",
121
+ "type": [
122
+ "string",
123
+ "number",
124
+ "boolean"
125
+ ]
126
+ },
127
+ "value": {
128
+ "description": "Value to set argument to in analysis",
129
+ "type": [
130
+ "string",
131
+ "number",
132
+ "boolean"
133
+ ]
134
+ },
135
+ "machine_name": {
136
+ "description": "????",
137
+ "type": "string"
138
+ },
139
+ "uuid": {
140
+ "description": "UUID for the measure from the measure.xml",
141
+ "type": "string"
142
+ },
143
+ "version_uuid": {
144
+ "description": "UUID for the measure version form the measure.xml",
145
+ "type": "string"
146
+ }
147
+ },
148
+ "required": [
149
+ "display_name",
150
+ "name",
151
+ "value",
152
+ "machine_name",
153
+ "uuid",
154
+ "version_uuid"
155
+ ],
156
+ "additionalProperties": false
157
+ },
158
+ "Workflow Step": {
159
+ "description": "Individual measure definition",
160
+ "type": "object",
161
+ "properties": {
162
+ "name": {
163
+ "description": "Snake-cased machine readable measure name which must be unique",
164
+ "type": "string"
165
+ },
166
+ "display_name": {
167
+ "description": "User facing measure name which must also be unique",
168
+ "type": "string"
169
+ },
170
+ "measure_type": {
171
+ "description": "Accepts values of 'Ruby' 'EnergyPlus' and 'Reporting'",
172
+ "type": "string"
173
+ },
174
+ "description": {
175
+ "description": "Measure description",
176
+ "type": "string"
177
+ },
178
+ "taxonomy": {
179
+ "description": "Measure taxonomy tag",
180
+ "type": "string"
181
+ },
182
+ "measure_definition_class_name": {
183
+ "description": "Class name of measure.rb file",
184
+ "type": "string"
185
+ },
186
+ "measure_definition_directory": {
187
+ "description": "??",
188
+ "type": "string"
189
+ },
190
+ "measure_definition_directory_local": {
191
+ "description": "Local path to the measure directory",
192
+ "type": "string"
193
+ },
194
+ "measure_definition_display_name": {
195
+ "description": "?????",
196
+ "type": "string"
197
+ },
198
+ "measure_definition_name": {
199
+ "description": "?????",
200
+ "type": "string"
201
+ },
202
+ "measure_definition_name_xml": {
203
+ "description": "?????",
204
+ "type": "null"
205
+ },
206
+ "measure_definition_uuid": {
207
+ "description": "UUID of measure in measure.xml",
208
+ "type": "string"
209
+ },
210
+ "measure_definition_version_uuid": {
211
+ "description": "UUID of measure version in measure.xml",
212
+ "type": "string"
213
+ },
214
+ "arguments": {
215
+ "$ref": "#/definitions/Argument Array"
216
+ },
217
+ "variables": {
218
+ "$ref": "#/definitions/Variable Array"
219
+ },
220
+ "workflow_index": {
221
+ "description": "Index in workflow array, indexing from 0",
222
+ "type": "number"
223
+ },
224
+ "workflow_step_type": {
225
+ "description": "???????",
226
+ "type": "string"
227
+ },
228
+ "version_uuid": {
229
+ "description": "UUID of measure version from the measure.xml",
230
+ "type": "string"
231
+ },
232
+ "uuid": {
233
+ "description": "UUID of measure from the measure.xml",
234
+ "type": "string"
235
+ }
236
+ },
237
+ "required": [
238
+ "name",
239
+ "display_name",
240
+ "measure_type",
241
+ "measure_definition_class_name",
242
+ "measure_definition_directory",
243
+ "measure_definition_uuid",
244
+ "measure_definition_version_uuid",
245
+ "arguments",
246
+ "variables",
247
+ "workflow_index",
248
+ "workflow_step_type",
249
+ "version_uuid",
250
+ "uuid"
251
+ ],
252
+ "additionalProperties": false
253
+ },
254
+ "Uncertainty Definition": {
255
+ "title": "uncertainty_description",
256
+ "description": "Set of attributes defining the variability of the input",
257
+ "type": "object",
258
+ "properties": {
259
+ "type": {
260
+ "description": "Uncertainty type, accepting values of 'triangle', 'uniform', 'discrete', and 'normal'",
261
+ "type": "string",
262
+ "oneof": [
263
+ "triangle",
264
+ "uniform",
265
+ "normal",
266
+ "discrete"
267
+ ]
268
+ },
269
+ "attributes": {
270
+ "$ref": "#/definitions/Distribution Definition"
271
+ }
272
+ },
273
+ "required": [
274
+ "type",
275
+ "attributes"
276
+ ],
277
+ "additionalProperties": false
278
+ },
279
+ "Design Alternative": {
280
+ "description": "Individual design alternative instance",
281
+ "type": "object",
282
+ "properties": {
283
+ "name": {
284
+ "description": "Name of design alternative",
285
+ "type": "string"
286
+ },
287
+ "description": {
288
+ "description": "Description of design alternative",
289
+ "type": "string"
290
+ }
291
+ },
292
+ "required": [
293
+ "name",
294
+ "description"
295
+ ],
296
+ "additionalProperties": false
297
+ },
298
+ "Variable": {
299
+ "description": "Individual variable instance",
300
+ "type": "object",
301
+ "properties": {
302
+ "argument": {
303
+ "$ref": "#/definitions/Argument"
304
+ },
305
+ "display_name": {
306
+ "description": "User-facing display name which must be unique",
307
+ "type": "string"
308
+ },
309
+ "display_name_short": {
310
+ "description": "Optional user-facing name under 20 characters",
311
+ "type": "string"
312
+ },
313
+ "variable_type": {
314
+ "description": "Definition of variable type",
315
+ "type": "string",
316
+ "oneof": [
317
+ "variable",
318
+ "pivot"
319
+ ]
320
+ },
321
+ "units": {
322
+ "description": "Haystack compliant units with an empty string if not defined.",
323
+ "type": "null"
324
+ },
325
+ "minimum": {
326
+ "description": "????",
327
+ "type": "number"
328
+ },
329
+ "maximum": {
330
+ "description": "????",
331
+ "type": "number"
332
+ },
333
+ "relation_to_output": {
334
+ "description": "????",
335
+ "type": "null"
336
+ },
337
+ "static_value": {
338
+ "description": "Value to default to in the case of this variable not being perturbed in a datapoint",
339
+ "type": "number"
340
+ },
341
+ "uuid": {
342
+ "description": "Variable UUID to link against in the .osd file",
343
+ "type": "string"
344
+ },
345
+ "version_uuid": {
346
+ "description": "???",
347
+ "type": "string"
348
+ },
349
+ "variable": {
350
+ "description": "????",
351
+ "type": "boolean"
352
+ },
353
+ "uncertainty_description": {
354
+ "$ref": "#/definitions/Uncertainty Definition"
355
+ },
356
+ "workflow_index": {
357
+ "description": "???????",
358
+ "type": "number"
359
+ },
360
+ "machine_name": {
361
+ "description": "???????",
362
+ "type": "string"
363
+ }
364
+ },
365
+ "required": [
366
+ "argument",
367
+ "display_name",
368
+ "variable_type",
369
+ "units",
370
+ "static_value",
371
+ "uuid",
372
+ "version_uuid",
373
+ "uncertainty_description",
374
+ "machine_name"
375
+ ],
376
+ "additionalProperties": false
377
+ },
378
+ "Problem": {
379
+ "title": "problem",
380
+ "description": "Defines procedure for running the analysis",
381
+ "type": "object",
382
+ "properties": {
383
+ "analysis_type": {
384
+ "description": "Type of analysis to be run, e.g. LHS or nsga2",
385
+ "type": "string",
386
+ "oneof": [
387
+ "morris",
388
+ "lhs",
389
+ "rgenound",
390
+ "nsga_nrel",
391
+ "spea",
392
+ "sequential_search",
393
+ "single_run",
394
+ "batch_run",
395
+ "doe",
396
+ "repeat_run",
397
+ "optim",
398
+ "baseline_perturbation",
399
+ "preflight"
400
+ ]
401
+ },
402
+ "algorithm": {
403
+ "$ref": "#/definitions/Algorithm Attributes"
404
+ },
405
+ "workflow": {
406
+ "$ref": "#/definitions/Workflow"
407
+ },
408
+ "random_seed": {
409
+ "description": "Random seed to set server to for the execution of the OSA file",
410
+ "type": "number"
411
+ },
412
+ "name": {
413
+ "description": "??????",
414
+ "type": "string"
415
+ },
416
+ "design_alternatives": {
417
+ "description": "Array of design alternative names and descriptions",
418
+ "type": "array",
419
+ "items": {
420
+ "$ref": "#/definitions/Design Alternative"
421
+ }
422
+ }
423
+ },
424
+ "required": [
425
+ "analysis_type",
426
+ "algorithm",
427
+ "workflow",
428
+ "random_seed"
429
+ ],
430
+ "additionalProperties": false
431
+ },
432
+ "Output Array": {
433
+ "description": "Array of objects which define user-desired outputs from the analysis ",
434
+ "type": "array",
435
+ "items": {
436
+ "$ref": "#/definitions/Output"
437
+ }
438
+ },
439
+ "Workflow": {
440
+ "description": "Definition of measures to be applied in the analysis",
441
+ "type": "array",
442
+ "items": {
443
+ "$ref": "#/definitions/Workflow Step"
444
+ }
445
+ },
446
+ "Seed Object": {
447
+ "title": "seed",
448
+ "description": "Seed osm or idf file for default use",
449
+ "type": "object",
450
+ "properties": {
451
+ "file_type": {
452
+ "description": "Accepted values of 'osm' and 'idf'",
453
+ "type": "string",
454
+ "oneonf": [
455
+ "osm",
456
+ "idf"
457
+ ]
458
+ },
459
+ "path": {
460
+ "description": "Path to the seed file from the project directory",
461
+ "type": "string"
462
+ }
463
+ },
464
+ "required": [
465
+ "file_type"
466
+ ],
467
+ "additionalProperties": false
468
+ },
469
+ "Weather File": {
470
+ "title": "weather_file",
471
+ "description": "Weather file for default use in the simulation",
472
+ "type": "object",
473
+ "properties": {
474
+ "file_type": {
475
+ "description": "Weather file type, e.g. TMY3",
476
+ "type": "string"
477
+ },
478
+ "path": {
479
+ "description": "Path to weather file from the project directory",
480
+ "type": "string"
481
+ }
482
+ },
483
+ "required": [
484
+ "file_type",
485
+ "path"
486
+ ],
487
+ "additionalProperties": false
488
+ },
489
+ "Analysis": {
490
+ "title": "analysis",
491
+ "description": "Analysis object",
492
+ "type": "object",
493
+ "properties": {
494
+ "display_name": {
495
+ "description": "User facing string, spaces & capitals allowed",
496
+ "type": "string"
497
+ },
498
+ "name": {
499
+ "description": "snake_cassed machine name",
500
+ "type": "string"
501
+ },
502
+ "output_variables": {
503
+ "$ref": "#/definitions/Output Array"
504
+ },
505
+ "problem": {
506
+ "$ref": "#/definitions/Problem"
507
+ },
508
+ "seed": {
509
+ "$ref": "#/definitions/Seed Object"
510
+ },
511
+ "weather_file": {
512
+ "$ref": "#/definitions/Weather File"
513
+ },
514
+ "file_format_version": {
515
+ "description": "1.0",
516
+ "type": "number"
517
+ },
518
+ "_id": {
519
+ "description": "UUID of the OSA file",
520
+ "type": "string"
521
+ },
522
+ "uuid": {
523
+ "description": "UUID of the OSA file",
524
+ "type": "string"
525
+ },
526
+ "project_id": {
527
+ "description": "?????",
528
+ "type": "string"
529
+ }
530
+ },
531
+ "required": [
532
+ "output_variables",
533
+ "problem",
534
+ "seed",
535
+ "weather_file",
536
+ "_id",
537
+ "uuid",
538
+ "project_id"
539
+ ],
540
+ "additionalProperties": false
541
+ },
542
+ "Argument Array": {
543
+ "description": "Array of fixed inputs for the measure",
544
+ "type": "array",
545
+ "items": {
546
+ "$ref": "#/definitions/Argument"
547
+ }
548
+ },
549
+ "Variable Array": {
550
+ "description": "Array of variable inputs for the measure",
551
+ "type": "array",
552
+ "items": {
553
+ "$ref": "#/definitions/Variable"
554
+ }
555
+ },
556
+ "Distribution Definition": {
557
+ "title": "attributes",
558
+ "description": "Array of attributes defining the distribution type properties",
559
+ "type": "array",
560
+ "items": {
561
+ "title": "Distribution Attributes",
562
+ "type": "object",
563
+ "properties": {
564
+ "name": {
565
+ "type": "string"
566
+ },
567
+ "value": {
568
+ "type": [
569
+ "array",
570
+ "string",
571
+ "number",
572
+ "boolean"
573
+ ]
574
+ }
575
+ },
576
+ "required": [
577
+ "name",
578
+ "value"
579
+ ],
580
+ "additionalProperties": false
581
+ }
582
+ }
583
+ }
584
584
  }