urbanopt-reporting 0.7.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/nightly_ci_build.yml +57 -0
  3. data/CHANGELOG.md +17 -0
  4. data/CONTRIBUTING.md +2 -2
  5. data/Gemfile +5 -0
  6. data/LICENSE.md +16 -11
  7. data/README.md +1 -0
  8. data/Rakefile +2 -37
  9. data/building_loads.csv +52561 -0
  10. data/doc_templates/LICENSE.md +16 -11
  11. data/doc_templates/copyright_erb.txt +22 -16
  12. data/doc_templates/copyright_js.txt +2 -2
  13. data/doc_templates/copyright_ruby.txt +2 -37
  14. data/docs/package-lock.json +3992 -3566
  15. data/lib/measures/.rubocop.yml +1 -2
  16. data/lib/measures/default_feature_reports/LICENSE.md +23 -18
  17. data/lib/measures/default_feature_reports/README.md +43 -5
  18. data/lib/measures/default_feature_reports/measure.rb +21 -59
  19. data/lib/measures/default_feature_reports/measure.xml +38 -46
  20. data/lib/measures/export_modelica_loads/LICENSE.md +23 -18
  21. data/lib/measures/export_modelica_loads/measure.rb +25 -64
  22. data/lib/measures/export_modelica_loads/measure.xml +31 -31
  23. data/lib/measures/export_time_series_modelica/LICENSE.md +23 -18
  24. data/lib/measures/export_time_series_modelica/measure.rb +2 -37
  25. data/lib/measures/export_time_series_modelica/measure.xml +48 -42
  26. data/lib/measures/export_time_series_modelica/resources/os_lib_helper_methods.rb +2 -37
  27. data/lib/urbanopt/reporting/default_reports/construction_cost.rb +2 -37
  28. data/lib/urbanopt/reporting/default_reports/date.rb +2 -37
  29. data/lib/urbanopt/reporting/default_reports/distributed_generation.rb +2 -37
  30. data/lib/urbanopt/reporting/default_reports/end_use.rb +2 -37
  31. data/lib/urbanopt/reporting/default_reports/end_uses.rb +2 -37
  32. data/lib/urbanopt/reporting/default_reports/extension.rb +2 -37
  33. data/lib/urbanopt/reporting/default_reports/feature_report.rb +2 -37
  34. data/lib/urbanopt/reporting/default_reports/generator.rb +2 -37
  35. data/lib/urbanopt/reporting/default_reports/location.rb +2 -37
  36. data/lib/urbanopt/reporting/default_reports/logger.rb +2 -37
  37. data/lib/urbanopt/reporting/default_reports/power_distribution.rb +10 -38
  38. data/lib/urbanopt/reporting/default_reports/program.rb +2 -37
  39. data/lib/urbanopt/reporting/default_reports/qaqc_flags.rb +9 -44
  40. data/lib/urbanopt/reporting/default_reports/reporting_period.rb +6 -41
  41. data/lib/urbanopt/reporting/default_reports/scenario_power_distribution.rb +2 -37
  42. data/lib/urbanopt/reporting/default_reports/scenario_power_distribution_cost.rb +5 -40
  43. data/lib/urbanopt/reporting/default_reports/scenario_report.rb +2 -37
  44. data/lib/urbanopt/reporting/default_reports/schema/scenario_schema.json +1543 -1515
  45. data/lib/urbanopt/reporting/default_reports/solar_pv.rb +2 -37
  46. data/lib/urbanopt/reporting/default_reports/storage.rb +2 -37
  47. data/lib/urbanopt/reporting/default_reports/thermal_storage.rb +2 -37
  48. data/lib/urbanopt/reporting/default_reports/timeseries_csv.rb +2 -37
  49. data/lib/urbanopt/reporting/default_reports/validator.rb +2 -37
  50. data/lib/urbanopt/reporting/default_reports/wind.rb +2 -37
  51. data/lib/urbanopt/reporting/default_reports.rb +2 -37
  52. data/lib/urbanopt/reporting/derived_extension.rb +2 -37
  53. data/lib/urbanopt/reporting/version.rb +3 -38
  54. data/lib/urbanopt/reporting.rb +2 -37
  55. data/urbanopt-reporting-gem.gemspec +5 -5
  56. metadata +16 -16
  57. data/.github/workflows/nightly_build.yml +0 -41
  58. data/Jenkinsfile +0 -10
@@ -1,1516 +1,1544 @@
1
1
  {
2
- "$schema": "http://json-schema.org/draft-04/schema#",
3
- "description": "Comment describing your JSON Schema",
4
- "type": "object",
5
- "properties": {
6
- "scenario_report": {
7
- "$ref": "#/definitions/ScenarioReport"
8
- },
9
- "feature_reports": {
10
- "description": "features of each data point in the scenario",
11
- "type": "array",
12
- "items": {
13
- "$ref": "#/definitions/FeatureReport"
14
- }
15
- }
16
- },
17
- "required": [
18
- "scenario_report"
19
- ],
20
- "additionalProperties": false,
21
- "definitions": {
22
- "ScenarioReport": {
23
- "type": "object",
24
- "properties": {
25
- "id": {
26
- "type": "string"
27
- },
28
- "name": {
29
- "type": "string"
30
- },
31
- "directory_name": {
32
- "type": "string"
33
- },
34
- "timesteps_per_hour": {
35
- "$ref": "#/definitions/TimestepsPerHour"
36
- },
37
- "number_of_not_started_simulations": {
38
- "type": "number"
39
- },
40
- "number_of_started_simulations": {
41
- "type": "number"
42
- },
43
- "number_of_complete_simulations": {
44
- "type": "number"
45
- },
46
- "number_of_failed_simulations": {
47
- "type": "number"
48
- },
49
- "location": {
50
- "$ref": "#/definitions/Location"
51
- },
52
- "timeseries_csv": {
53
- "$ref": "#/definitions/TimeseriesCSV"
54
- },
55
- "program": {
56
- "$ref": "#/definitions/Program"
57
- },
58
- "construction_costs": {
59
- "$ref": "#/definitions/ConstructionCosts"
60
- },
61
- "reporting_periods": {
62
- "$ref": "#/definitions/ReportingPeriods"
63
- },
64
- "distributed_generation": {
65
- "$ref": "#/definitions/DistributedGeneration"
66
- },
67
- "thermal_storage": {
68
- "$ref": "#/definitions/ThermalStorage"
69
- },
70
- "rnm_results": {
71
- "$ref": "#definitions/RnmResults"
72
- },
73
- "scenario_power_distribution": {
74
- "$ref": "#definitions/ScenarioPowerDistribution"
75
- },
76
- "scenario_power_distribution_cost": {
77
- "$ref": "#definitions/ScenarioPowerDistributionCost"
78
- },
79
- "qaqc_flags": {
80
- "$ref": "#/definitions/qaqc_flags"
81
- }
82
- },
83
- "required": [
84
- "id",
85
- "name",
86
- "directory_name",
87
- "timesteps_per_hour",
88
- "number_of_not_started_simulations",
89
- "number_of_started_simulations",
90
- "number_of_complete_simulations",
91
- "number_of_failed_simulations",
92
- "program"
93
- ],
94
- "additionalProperties": false
95
- },
96
- "ScenarioPowerDistribution": {
97
- "type": "object",
98
- "properties": {
99
- "substations": {
100
- "description": "Array of electrical substations",
101
- "type": "array",
102
- "items": {
103
- "type": "object",
104
- "properties": {
105
- "nominal_voltage": {
106
- "description": "Nominal Voltage (V)",
107
- "type": "number"
108
- }
109
- }
110
- }
111
- },
112
- "distribution_lines": {
113
- "description": "Array of distribution lines",
114
- "type": "array",
115
- "items": {
116
- "type": "object",
117
- "properties": {
118
- "length": {
119
- "description": "Length of the line (m)",
120
- "type": "number"
121
- },
122
- "ampacity": {
123
- "description": "Maximum ampacity of the line (A)",
124
- "type": "number"
125
- },
126
- "commercial_line_type": {
127
- "description": "Array of the wire types that make up the line",
128
- "type": "array",
129
- "items": {
130
- "type": "string"
131
- }
132
- }
133
- }
134
- }
135
- }
136
- }
137
- },
138
- "ScenarioPowerDistributionCost": {
139
- "type": "object",
140
- "properties": {
141
- "title": "UpgradeParamsBaseModel",
142
- "description": "Contains results from all jobs in the simulation.",
143
- "type": "object",
144
- "properties": {
145
- "results": {
146
- "title": "results",
147
- "description": "Results summary for each job",
148
- "type": "array",
149
- "items": {}
150
- },
151
- "outputs": {
152
- "title": "outputs",
153
- "description": "Outputs for each job in the simulation.",
154
- "allOf": [{
155
- "$ref": "#/definitions/UpgradeSimulationOutputModel"
156
- }]
157
- },
158
- "violation_summary": {
159
- "title": "upgrade_summary",
160
- "description": "Contains thermal or voltage upgrade results for each job",
161
- "type": "array",
162
- "items": {
163
- "$ref": "#/definitions/UpgradeViolationResultModel"
164
- }
165
- },
166
- "costs_per_equipment": {
167
- "title": "costs_per_equipment",
168
- "description": "Contains upgrade cost information for each job by equipment type",
169
- "type": "array",
170
- "items": {
171
- "$ref": "#/definitions/TotalUpgradeCostsResultModel"
172
- }
173
- },
174
- "equipment": {
175
- "title": "equipment",
176
- "description": "Contains equipment information for each job",
177
- "type": "array",
178
- "items": {}
179
- }
180
- },
181
- "additionalProperties": false,
182
- "definitions": {
183
- "UpgradeJobOutputModel": {
184
- "title": "UpgradeParamsBaseModel",
185
- "description": "Contains outputs from one job.",
186
- "type": "object",
187
- "properties": {
188
- "upgraded_opendss_model_file": {
189
- "title": "upgraded_opendss_model_file",
190
- "description": "Path to file that will load the upgraded network.",
191
- "type": "string"
192
- },
193
- "feeder_stats": {
194
- "title": "feeder_stats",
195
- "description": "Path to file containing feeder metadata and equipment details before and after upgrades.",
196
- "type": "string"
197
- },
198
- "return_code": {
199
- "title": "return_code",
200
- "description": "Return code from process. Zero is success, non-zero is a failure.",
201
- "type": "integer"
202
- }
203
- },
204
- "required": [
205
- "upgraded_opendss_model_file",
206
- "feeder_stats",
207
- "return_code"
208
- ],
209
- "additionalProperties": false
210
- },
211
- "UpgradeSimulationOutputModel": {
212
- "title": "UpgradeParamsBaseModel",
213
- "description": "Contains outputs from all jobs in the simulation.",
214
- "type": "object",
215
- "properties": {
216
- "log_file": {
217
- "title": "log_file",
218
- "description": "Path to log file for the simulation.",
219
- "type": "string"
220
- },
221
- "jobs": {
222
- "title": "jobs",
223
- "description": "Outputs for each job in the simulation.",
224
- "type": "array",
225
- "items": {
226
- "$ref": "#/definitions/UpgradeJobOutputModel"
227
- }
228
- }
229
- },
230
- "required": [
231
- "log_file",
232
- "jobs"
233
- ],
234
- "additionalProperties": false
235
- },
236
- "UpgradeViolationResultModel": {
237
- "title": "UpgradeParamsBaseModel",
238
- "description": "Defines result parameters for thermal upgrades.",
239
- "type": "object",
240
- "properties": {
241
- "name": {
242
- "title": "name",
243
- "description": "Job name that produced the result",
244
- "type": "string"
245
- },
246
- "scenario": {
247
- "title": "scenario",
248
- "description": "Simulation scenario describing the controls being used",
249
- "default": "control_mode",
250
- "type": "string"
251
- },
252
- "stage": {
253
- "title": "stage",
254
- "description": "Stage of upgrades: initial (before upgrades) or final (after upgrades)",
255
- "type": "string"
256
- },
257
- "upgrade_type": {
258
- "title": "upgrade_type",
259
- "description": "Type of upgrade: thermal or voltage",
260
- "type": "string"
261
- },
262
- "simulation_time_s": {
263
- "title": "simulation_time_s",
264
- "description": "Simulation time to perform upgrades (seconds)",
265
- "type": "number"
266
- },
267
- "thermal_violations_present": {
268
- "title": "thermal_violations_present",
269
- "description": "Flag indicating whether thermal violations are present",
270
- "type": "boolean"
271
- },
272
- "voltage_violations_present": {
273
- "title": "voltage_violations_present",
274
- "description": "Flag indicating whether voltage violations are present",
275
- "type": "boolean"
276
- },
277
- "max_bus_voltage": {
278
- "title": "max_bus_voltage",
279
- "description": "Maximum voltage recorded on any bus",
280
- "units": "pu",
281
- "type": "number"
282
- },
283
- "min_bus_voltage": {
284
- "title": "min_bus_voltage",
285
- "description": "Minimum voltage recorded on any bus",
286
- "units": "pu",
287
- "type": "number"
288
- },
289
- "num_voltage_violation_buses": {
290
- "title": "num_voltage_violation_buses",
291
- "description": "Number of buses with voltage violations",
292
- "type": "integer"
293
- },
294
- "num_overvoltage_violation_buses": {
295
- "title": "num_overvoltage_violation_buses",
296
- "description": "Number of buses with voltage above voltage_upper_limit",
297
- "type": "integer"
298
- },
299
- "voltage_upper_limit": {
300
- "title": "voltage_upper_limit",
301
- "description": "Voltage upper limit, the threshold considered for determining overvoltages",
302
- "units": "pu",
303
- "type": "number"
304
- },
305
- "num_undervoltage_violation_buses": {
306
- "title": "num_undervoltage_violation_buses",
307
- "description": "Number of buses with voltage below voltage_lower_limit",
308
- "type": "integer"
309
- },
310
- "voltage_lower_limit": {
311
- "title": "voltage_lower_limit",
312
- "description": "Voltage lower limit, the threshold considered for determining undervoltages",
313
- "units": "pu",
314
- "type": "number"
315
- },
316
- "max_line_loading": {
317
- "title": "max_line_loading",
318
- "description": "Maximum line loading",
319
- "units": "pu",
320
- "type": "number"
321
- },
322
- "max_transformer_loading": {
323
- "title": "max_transformer_loading",
324
- "description": "Maximum transformer loading",
325
- "units": "pu",
326
- "type": "number"
327
- },
328
- "num_line_violations": {
329
- "title": "num_line_violations",
330
- "description": "Number of lines with loading above line upper limit",
331
- "type": "integer"
332
- },
333
- "line_upper_limit": {
334
- "title": "line_upper_limit",
335
- "description": "Line upper limit, the threshold considered for determining line overloading",
336
- "units": "pu",
337
- "type": "number"
338
- },
339
- "num_transformer_violations": {
340
- "title": "num_transformer_violations",
341
- "description": "Number of transformers with loading above transformer upper limit",
342
- "type": "integer"
343
- },
344
- "transformer_upper_limit": {
345
- "title": "transformer_upper_limit",
346
- "description": "Transformer upper limit, the threshold considered for determining transformer overloading",
347
- "units": "pu",
348
- "type": "number"
349
- }
350
- },
351
- "required": [
352
- "name",
353
- "stage",
354
- "upgrade_type",
355
- "simulation_time_s",
356
- "thermal_violations_present",
357
- "voltage_violations_present",
358
- "max_bus_voltage",
359
- "min_bus_voltage",
360
- "num_voltage_violation_buses",
361
- "num_overvoltage_violation_buses",
362
- "voltage_upper_limit",
363
- "num_undervoltage_violation_buses",
364
- "voltage_lower_limit",
365
- "max_line_loading",
366
- "max_transformer_loading",
367
- "num_line_violations",
368
- "line_upper_limit",
369
- "num_transformer_violations",
370
- "transformer_upper_limit"
371
- ],
372
- "additionalProperties": false
373
- },
374
- "TotalUpgradeCostsResultModel": {
375
- "title": "UpgradeParamsBaseModel",
376
- "description": "Provides total output costs for upgrading a type of equipment.",
377
- "type": "object",
378
- "properties": {
379
- "name": {
380
- "title": "name",
381
- "description": "Job name",
382
- "type": "string"
383
- },
384
- "type": {
385
- "title": "type",
386
- "description": "Equipment type",
387
- "type": "string"
388
- },
389
- "count": {
390
- "title": "count",
391
- "description": "Count of upgraded equipment",
392
- "type": "integer"
393
- },
394
- "total_cost_usd": {
395
- "title": "total_cost_usd",
396
- "description": "Total cost in US dollars",
397
- "units": "dollars",
398
- "type": "number"
399
- }
400
- },
401
- "required": [
402
- "name",
403
- "type",
404
- "count",
405
- "total_cost_usd"
406
- ],
407
- "additionalProperties": false
408
- }
409
- }
410
- }
411
-
412
- },
413
- "DistributedGeneration": {
414
- "type": "object",
415
- "properties": {
416
- "reopt_assumptions_file_path": {
417
- "description": "File path of REopt assumptions file used to generate results, if known",
418
- "type": "string"
419
- },
420
- "annual_renewable_electricity_pct": {
421
- "description": "Percentage of annual renewable electricity generation",
422
- "type": "number"
423
- },
424
- "lcc_us_dollars": {
425
- "description": "Optimal lifecycle cost",
426
- "type": "number"
427
- },
428
- "npv_us_dollars": {
429
- "description": "Net present value of savings realized by the project",
430
- "type": "number"
431
- },
432
- "year_one_energy_cost_us_dollars": {
433
- "description": "Optimal year one utility energy cost",
434
- "type": "number"
435
- },
436
- "year_one_demand_cost_us_dollars": {
437
- "description": "Optimal year one utility demand cost",
438
- "type": "number"
439
- },
440
- "year_one_bill_us_dollars": {
441
- "description": "Optimal year one utility bill",
442
- "type": "number"
443
- },
444
- "total_energy_cost_us_dollars": {
445
- "description": "Total utility energy cost over the lifecycle, after-tax",
446
- "type": "number"
447
- },
448
- "SolarPV": {
449
- "$ref": "#/definitions/SolarPV"
450
- },
451
- "Wind": {
452
- "$ref": "#/definitions/Wind"
453
- },
454
- "Generator": {
455
- "$ref": "#/definitions/Generator"
456
- },
457
- "Storage": {
458
- "$ref": "#/definitions/Storage"
459
- }
460
- }
461
- },
462
- "SolarPV": {
463
- "type": "object",
464
- "properties": {
465
- "size_kw": {
466
- "description": "rated power in kW",
467
- "type": "number"
468
- },
469
- "location": {
470
- "description": "Location of PV. Available options are roof, ground or both.",
471
- "type": "string",
472
- "enum": [
473
- "roof",
474
- "ground",
475
- "both"
476
- ]
477
- },
478
- "tilt": {
479
- "description": "PV system tilt",
480
- "type": "number"
481
- },
482
- "azimuth": {
483
- "description": "PV azimuth angle",
484
- "type": "number"
485
- }
486
- }
487
- },
488
- "Wind": {
489
- "type": "object",
490
- "properties": {
491
- "size_kw": {
492
- "description": "rated power in kW",
493
- "type": "number"
494
- },
495
- "average_yearly_energy_produced_kwh": {
496
- "description": "average yearly energy produced in kWh",
497
- "type": "number"
498
- },
499
- "size_class": {
500
- "description": "Turbine size-class. One of [residential, commercial, medium, large]",
501
- "type": "string"
502
- }
503
- }
504
- },
505
- "Generator": {
506
- "type": "object",
507
- "properties": {
508
- "size_kw": {
509
- "description": "rated power in kW",
510
- "type": "number"
511
- }
512
- }
513
- },
514
- "Storage": {
515
- "type": "object",
516
- "properties": {
517
- "size_kw": {
518
- "description": "rated power in kW",
519
- "type": "number"
520
- },
521
- "size_kwh": {
522
- "description": "rated capacity in kWh",
523
- "type": "number"
524
- }
525
- }
526
- },
527
- "RnmResults": {
528
- "type": "object",
529
- "properties": {
530
- "demand_generation_planning": {
531
- "description": "Demand generation planning",
532
- "type": "array",
533
- "items": {
534
- "$ref": "#/definitions/DemandGenPlanning"
535
- }
536
- },
537
- "electrical_lines_length": {
538
- "$ref": "#/definitions/LineLength"
539
- },
540
- "distribution_transformers_capacity_kva": {
541
- "description": "Distribution transformers capacity in kVA",
542
- "type": "number"
543
- },
544
- "costs": {
545
- "description": "Costs",
546
- "type": "object",
547
- "properties": {
548
- "investment": {
549
- "$ref": "#/definitions/RnmCost"
550
- },
551
- "yearly_maintenance": {
552
- "$ref": "#/definitions/RnmCost"
553
- }
554
- }
555
- },
556
- "reliability_indexes": {
557
- "description": "Reliability Indexes",
558
- "type": "object",
559
- "properties": {
560
- "SAIDI": {
561
- "description": "System Average Interruption Duration Index",
562
- "type": "number"
563
- },
564
- "SAIFI": {
565
- "description": "System Average Interruption Frequency Index",
566
- "type": "number"
567
- }
568
- }
569
- }
570
- }
571
- },
572
- "DemandGenPlanning": {
573
- "type": "object",
574
- "properties": {
575
- "type": {
576
- "description": "Type of demand generation planning",
577
- "type": "string",
578
- "enum": [
579
- "Low Voltage (LV) Consumers",
580
- "Medium Voltage (MV) Consumers",
581
- "Low Voltage (LV) Distributed generators",
582
- "Medium Voltage (MV) Distributed generators"
583
- ]
584
- },
585
- "peak_demand_kw": {
586
- "description": "Peak demand in kw for this type",
587
- "type": "number"
588
- },
589
- "number_of_nodes_in_network": {
590
- "description": "Number of nodes of this type in the network",
591
- "type": "number"
592
- }
593
- }
594
- },
595
- "LineLength": {
596
- "overhead_mi": {
597
- "description": "Length of overhead lines (miles)",
598
- "type": "number"
599
- },
600
- "underground_mi": {
601
- "description": "Length of underground lines (miles)",
602
- "type": "number"
603
- },
604
- "type": "object",
605
- "properties": {
606
- "overhead_mi": {
607
- "description": "Length of overhead lines (miles)",
608
- "type": "number"
609
- },
610
- "underground_mi": {
611
- "description": "Length of underground lines (miles)",
612
- "type": "number"
613
- }
614
- }
615
- },
616
- "RnmCost": {
617
- "low_voltage_network": {
618
- "description": "Low Voltage Network Cost ($)",
619
- "type": "number"
620
- },
621
- "distribution_transformers": {
622
- "description": "Distribution Transformers Cost ($)",
623
- "type": "number"
624
- },
625
- "medium_voltage_network": {
626
- "description": "Medium Voltage Network Cost ($)",
627
- "type": "number"
628
- },
629
- "primary_substations": {
630
- "description": "Primary Substations Cost ($)",
631
- "type": "number"
632
- },
633
- "total": {
634
- "description": "Total Cost ($)",
635
- "type": "number"
636
- },
637
- "type": "object",
638
- "properties": {
639
- "low_voltage_network": {
640
- "description": "Low Voltage Network Cost ($)",
641
- "type": "number"
642
- },
643
- "distribution_transformers": {
644
- "description": "Distribution Transformers Cost ($)",
645
- "type": "number"
646
- },
647
- "medium_voltage_network": {
648
- "description": "Medium Voltage Network Cost ($)",
649
- "type": "number"
650
- },
651
- "primary_substations": {
652
- "description": "Primary Substations Cost ($)",
653
- "type": "number"
654
- },
655
- "total": {
656
- "description": "TOtal Cost ($)",
657
- "type": "number"
658
- }
659
- }
660
- },
661
- "qaqc_flags": {
662
- "type": "object",
663
- "properties": {
664
- "eui_reasonableness": {
665
- "description": "Whether the EUI is within ASHRAE 90.1-2013 bounds for that building type",
666
- "type": ["integer", "null"]
667
- },
668
- "end_use_by_category": {
669
- "description": "Whether building energy use is within ASHRAE 90.1-2013 bounds for that building type",
670
- "type": ["integer", "null"]
671
- },
672
- "mechanical_system_part_load_efficiency": {
673
- "description": "Whether 40% & 80% heating and cooling efficiency is within ASHRAE 90.1-2013 bounds for that building type",
674
- "type": ["integer", "null"]
675
- },
676
- "simultaneous_heating_and_cooling": {
677
- "description": "Whether heating and cooling are occuring during the same hour when cooling load exists",
678
- "type": ["integer", "null"]
679
- },
680
- "internal_loads": {
681
- "description": "Whether lighting, plug, and equipment use is within ASHRAE 90.1-2013 bounds for that building type",
682
- "type": ["integer", "null"]
683
- },
684
- "schedules": {
685
- "description": "Whether lighting, ventilation, occupant, plug, and equipment schedules are within ASHRAE 90.1-2013 bounds for that building type",
686
- "type": ["integer", "null"]
687
- },
688
- "envelope_r_value": {
689
- "description": "Whether building envelope is within ASHRAE 90.1-2013 bounds for that building type",
690
- "type": ["integer", "null"]
691
- },
692
- "domestic_hot_water": {
693
- "description": "Whether DHW energy use is within 2011 ASHRAE handbook bounds for that building type",
694
- "type": ["integer", "null"]
695
- },
696
- "mechanical_system_efficiency": {
697
- "description": "Whether heating and cooling efficiency is within ASHRAE 90.1-2013 bounds for that building type",
698
- "type": ["integer", "null"]
699
- },
700
- "supply_and_zone_air_temperature": {
701
- "description": "Whether fan effectiveness is within ASHRAE 90.1-2013 bounds for that building type",
702
- "type": ["integer", "null"]
703
- },
704
- "total_qaqc_flags": {
705
- "description": "How many QAQC flags have been raised for this feature or scenario",
706
- "type": ["integer", "null"]
707
- }
708
- }
709
- },
710
- "FeatureReport": {
711
- "type": "object",
712
- "properties": {
713
- "id": {
714
- "description": "Id refers to the id of a building/feature",
715
- "type": "string"
716
- },
717
- "name": {
718
- "description": "name refers to the name of the feature (eg. Building 1, tranformer 5)",
719
- "type": "string"
720
- },
721
- "directory_name": {
722
- "type": "string"
723
- },
724
- "feature_type": {
725
- "type": "string",
726
- "enum": [
727
- "Building",
728
- "District System",
729
- "Transformer"
730
- ]
731
- },
732
- "timesteps_per_hour": {
733
- "$ref": "#/definitions/TimestepsPerHour"
734
- },
735
- "simulation_status": {
736
- "type": "string",
737
- "enum": [
738
- "Not Started",
739
- "Started",
740
- "Complete",
741
- "Failed"
742
- ]
743
- },
744
- "timeseries_csv": {
745
- "$ref": "#/definitions/TimeseriesCSV"
746
- },
747
- "location": {
748
- "$ref": "#/definitions/Location"
749
- },
750
- "program": {
751
- "$ref": "#/definitions/Program"
752
- },
753
- "design_parameters": {
754
- "$ref": "#/definitions/DesignParameters"
755
- },
756
- "construction_costs": {
757
- "$ref": "#/definitions/ConstructionCosts"
758
- },
759
- "reporting_periods": {
760
- "$ref": "#/definitions/ReportingPeriods"
761
- },
762
- "distributed_generation": {
763
- "$ref": "#/definitions/DistributedGeneration"
764
- },
765
- "power_distribution": {
766
- "$ref": "#/definitions/PowerDistribution"
767
- },
768
- "thermal_storage": {
769
- "$ref": "#/definitions/ThermalStorage"
770
- },
771
- "qaqc_flags": {
772
- "$ref": "#/definitions/qaqc_flags"
773
- }
774
- },
775
- "required": [
776
- "id",
777
- "name",
778
- "directory_name",
779
- "feature_type",
780
- "timesteps_per_hour",
781
- "simulation_status"
782
- ],
783
- "additionalProperties": false
784
- },
785
- "ReportingPeriods": {
786
- "type": "array",
787
- "items": {
788
- "$ref": "#/definitions/ReportingPeriod"
789
- }
790
- },
791
- "ReportingPeriod": {
792
- "description": "Non-overlapping reporting periods",
793
- "type": "object",
794
- "properties": {
795
- "id": {
796
- "description": "Id refers to the id of the reporting period. Ids of reporting periods are matched across simulations, so the same period of time gets the same id for all simulations.",
797
- "type": "number"
798
- },
799
- "name": {
800
- "description": "name refers to the name of the reporting period(eg. Annual, January)",
801
- "type": "string"
802
- },
803
- "multiplier": {
804
- "description": "Multiplier used if this reporting period is representative of mulitple periods. For example one week simulation that represents entire month.",
805
- "type": "number",
806
- "default": 1
807
- },
808
- "start_date": {
809
- "$ref": "#/definitions/Date"
810
- },
811
- "end_date": {
812
- "$ref": "#/definitions/Date"
813
- },
814
- "total_site_energy_kwh": {
815
- "description": "Total energy used on site, does not include generation (kWh)",
816
- "type": "number"
817
- },
818
- "total_source_energy_kwh": {
819
- "description": "Total source energy used, does not include generation (kWh)",
820
- "type": "number"
821
- },
822
- "site_EUI_kwh_per_m2": {
823
- "type": "number"
824
- },
825
- "site_EUI_kBtu_per_ft2": {
826
- "type": "number"
827
- },
828
- "source_EUI_kwh_per_m2": {
829
- "type": "number"
830
- },
831
- "source_EUI_kBtu_per_ft2": {
832
- "type": "number"
833
- },
834
- "net_site_energy_kwh": {
835
- "description": "Net site energy (kWh)",
836
- "type": "number"
837
- },
838
- "net_source_energy_kwh": {
839
- "description": "Net source energy (kWh)",
840
- "type": "number"
841
- },
842
- "total_utility_cost_dollar": {
843
- "description": "Total utility cost ($)",
844
- "type": "number"
845
- },
846
- "net_utility_cost_dollar": {
847
- "description": "Net utility cost for reporting period includes generation ($)",
848
- "type": "number"
849
- },
850
- "utility_costs_dollar": {
851
- "type": "array",
852
- "items": {
853
- "$ref": "#/definitions/UtilityCost"
854
- }
855
- },
856
- "electricity_kwh": {
857
- "description": "Sum of all electricity used, does not include electricity produced (kWh)",
858
- "type": "number"
859
- },
860
- "natural_gas_kwh": {
861
- "description": "Sum of all natural gas end uses consumption (kWh)",
862
- "type": "number"
863
- },
864
- "propane_kwh": {
865
- "description": "Sum of all propane end uses consumption (kWh)",
866
- "type": "number"
867
- },
868
- "fuel_oil_kwh": {
869
- "description": "Sum of all fuel oil #2 end uses consumption (kWh)",
870
- "type": "number"
871
- },
872
- "other_fuels_kwh": {
873
- "description": "Sum of all other (fuel oil #1, diesel, gasoline, coal, steam) fuel end uses consumption (kWh)",
874
- "type": "number"
875
- },
876
- "district_cooling_kwh": {
877
- "description": "Sum of all distric cooling end uses consumption (kWh)",
878
- "type": "number"
879
- },
880
- "district_heating_kwh": {
881
- "description": "Sum of all distric heating end uses consumption (kWh)",
882
- "type": "number"
883
- },
884
- "water_qbft": {
885
- "description": "Sum of all water end uses consumption (ft^3)",
886
- "type": "number"
887
- },
888
- "electricity_produced_kwh": {
889
- "description": "Sum of all electricity produced (kWh)",
890
- "type": "number"
891
- },
892
- "end_uses": {
893
- "$ref": "#/definitions/EndUses"
894
- },
895
- "energy_production_kwh": {
896
- "description": "Energy produced for reporting period. Water reported in m^3, all others in kWh.",
897
- "type": "object",
898
- "properties": {
899
- "electricity_produced": {
900
- "type": "object",
901
- "properties": {
902
- "photovoltaic": {
903
- "type": "number"
904
- }
905
- },
906
- "additionalProperties": false
907
- }
908
- },
909
- "additionalProperties": false
910
- },
911
- "comfort_result": {
912
- "$ref": "#/definitions/ComfortResult"
913
- },
914
- "emissions": {
915
- "type": "object",
916
- "properties": {
917
- "future_annual_electricity_emissions_mt": {
918
- "description": "Future emissions in metric ton (mt) calculated based on an annual emission factor value for the selected future year",
919
- "type": "number"
920
- },
921
- "future_hourly_electricity_emissions_mt": {
922
- "description": "Future emissions in metric ton (mt) calculated based on hourly emission factor values for the selected future year",
923
- "type": "number"
924
- },
925
- "historical_annual_electricity_emissions_mt": {
926
- "description": "Historical emissions in metric ton (mt) calculated based on an annual emission factor value for the selected historical year",
927
- "type": "number"
928
- },
929
- "historical_hourly_electricity_emissions_mt": {
930
- "description": "Historical emissions in metric ton (mt) calculated based on hourly emission factor values for the selected historical year",
931
- "type": "number"
932
- },
933
- "future_annual_electricity_emissions_intensity_kg_per_ft2": {
934
- "description": "Future emissions intensity in kg/ft2 calculated based on an annual emission factor value for the selected future year",
935
- "type": "number"
936
- },
937
- "future_hourly_electricity_emissions_intensity_kg_per_ft2": {
938
- "description": "Future emissions intensity in kg/ft2 calculated based on hourly emission factor values for the selected future year",
939
- "type": "number"
940
- },
941
- "historical_annual_electricity_emissions_intensity_kg_per_ft2": {
942
- "description": "Historical emissions intensity in kg/ft2 calculated based on an annual emission factor value for the selected historical year",
943
- "type": "number"
944
- },
945
- "historical_hourly_electricity_emissions_intensity_kg_per_ft2": {
946
- "description": "Historical emissions intensity in kg/ft2 calculated based on hourly emission factor values for the selected historical year",
947
- "type": "number"
948
- },
949
- "natural_gas_emissions_mt": {
950
- "description": "Natural Gas emissions in mt calculated based on EPA eGRID data and calculated using 20-year GWP horizon based on ASHRAE 189.1",
951
- "type": "number"
952
- },
953
- "natural_gas_emissions_intensity_kg_per_ft2": {
954
- "description": "Natural Gas emissions intensity in kg/ft2 calculated based on EPA eGRID data and calculated using 20-year GWP horizon based on ASHRAE 189.1",
955
- "type": "number"
956
- },
957
- "propane_emissions_mt": {
958
- "description": "Propane emissions in mt calculated based on EPA eGRID data and calculated using 20-year GWP horizon based on ASHRAE 189.1",
959
- "type": "number"
960
- },
961
- "propane_emissions_intensity_kg_per_ft2": {
962
- "description": "Propane emissions intensity in kg/ft2 calculated based on EPA eGRID data and calculated using 20-year GWP horizon based on ASHRAE 189.1",
963
- "type": "number"
964
- },
965
- "fueloil_no2_emissions_mt": {
966
- "description": "FuelOilNo2 emissions in mt calculated based on EPA eGRID data and calculated using 20-year GWP horizon based on ASHRAE 189.1",
967
- "type": "number"
968
- },
969
- "fueloil_no2_emissions_intensity_kg_per_ft2": {
970
- "description": "FuelOilNo2 emissions intensity in kg/ft2 calculated based on EPA eGRID data and calculated using 20-year GWP horizon based on ASHRAE 189.1",
971
- "type": "number"
972
- }
973
- }
974
- }
975
- },
976
- "additionalProperties": false
977
- },
978
- "Date": {
979
- "type": "object",
980
- "properties": {
981
- "month": {
982
- "type": "integer"
983
- },
984
- "day_of_month": {
985
- "type": "integer"
986
- },
987
- "year": {
988
- "type": "integer"
989
- }
990
- },
991
- "additionalProperties": false
992
- },
993
- "EndUses": {
994
- "description": "End uses for reporting period. Does not include energy produced. Water reported in m^3, all others in kWh.",
995
- "type": "object",
996
- "properties": {
997
- "electricity_kwh": {
998
- "$ref": "#/definitions/EndUse"
999
- },
1000
- "natural_gas_kwh": {
1001
- "$ref": "#/definitions/EndUse"
1002
- },
1003
- "propane_kwh": {
1004
- "$ref": "#/definitions/EndUse"
1005
- },
1006
- "fuel_oil_kwh": {
1007
- "$ref": "#/definitions/EndUse"
1008
- },
1009
- "other_fuels_kwh": {
1010
- "$ref": "#/definitions/EndUse"
1011
- },
1012
- "district_cooling_kwh": {
1013
- "$ref": "#/definitions/EndUse"
1014
- },
1015
- "district_heating_kwh": {
1016
- "$ref": "#/definitions/EndUse"
1017
- },
1018
- "water_qbft": {
1019
- "$ref": "#/definitions/EndUse"
1020
- }
1021
- },
1022
- "additionalProperties": false
1023
- },
1024
- "EndUse": {
1025
- "type": "object",
1026
- "properties": {
1027
- "heating": {
1028
- "type": "number"
1029
- },
1030
- "cooling": {
1031
- "type": "number"
1032
- },
1033
- "interior_lighting": {
1034
- "type": "number"
1035
- },
1036
- "exterior_lighting": {
1037
- "type": "number"
1038
- },
1039
- "interior_equipment": {
1040
- "type": "number"
1041
- },
1042
- "exterior_equipment": {
1043
- "type": "number"
1044
- },
1045
- "electric_vehicles": {
1046
- "type": "number"
1047
- },
1048
- "fans": {
1049
- "type": "number"
1050
- },
1051
- "pumps": {
1052
- "type": "number"
1053
- },
1054
- "heat_rejection": {
1055
- "type": "number"
1056
- },
1057
- "humidification": {
1058
- "type": "number"
1059
- },
1060
- "heat_recovery": {
1061
- "type": "number"
1062
- },
1063
- "water_systems": {
1064
- "type": "number"
1065
- },
1066
- "refrigeration": {
1067
- "type": "number"
1068
- },
1069
- "generators": {
1070
- "type": "number"
1071
- }
1072
- },
1073
- "additionalProperties": false
1074
- },
1075
- "ComfortResult": {
1076
- "type": "object",
1077
- "properties": {
1078
- "time_setpoint_not_met_during_occupied_cooling": {
1079
- "description": "(hrs)",
1080
- "type": "number"
1081
- },
1082
- "time_setpoint_not_met_during_occupied_heating": {
1083
- "description": "(hrs)",
1084
- "type": "number"
1085
- },
1086
- "time_setpoint_not_met_during_occupied_hours": {
1087
- "description": "(hrs)",
1088
- "type": "number"
1089
- },
1090
- "hours_out_of_comfort_bounds_PMV": {
1091
- "type": "number"
1092
- },
1093
- "hours_out_of_comfort_bounds_PPD": {
1094
- "type": "number"
1095
- }
1096
- },
1097
- "additionalProperties": false
1098
- },
1099
- "ConstructionCosts": {
1100
- "type": "array",
1101
- "items": {
1102
- "$ref": "#/definitions/ConstructionCost"
1103
- }
1104
- },
1105
- "ConstructionCost": {
1106
- "description": "Program related information, does not change in time",
1107
- "type": "object",
1108
- "properties": {
1109
- "category": {
1110
- "type": "string",
1111
- "enum": [
1112
- "Construction",
1113
- "Building",
1114
- "Space",
1115
- "ThermalZone",
1116
- "AirLoop",
1117
- "PlantLoop",
1118
- "ZoneHVAC",
1119
- "Lights",
1120
- "Luminaire",
1121
- "Equipment",
1122
- "HVACComponent",
1123
- "ZoneHVACComponent"
1124
- ]
1125
- },
1126
- "item_name": {
1127
- "description": "Name of the item being costed, e.g. the name of the exterior wall construction",
1128
- "type": "string"
1129
- },
1130
- "unit_cost": {
1131
- "description": "Cost per unit of item, e.g. cost per area of construction. This can be adjusted in post processing.",
1132
- "type": "number"
1133
- },
1134
- "cost_units": {
1135
- "description": "Unit of cost for this item",
1136
- "type": "string",
1137
- "enum": [
1138
- "CostPerEach",
1139
- "CostPerFt2",
1140
- "CostPerKW",
1141
- "CostPerCFM"
1142
- ]
1143
- },
1144
- "item_quantity": {
1145
- "description": "Amount of the item in units corresponding to cost_units",
1146
- "type": "number"
1147
- },
1148
- "total_cost": {
1149
- "description": "Total cost is unit_cost multiplied by item_quantity. Can be updated if unit_cost is changed.",
1150
- "type": "number"
1151
- }
1152
- },
1153
- "additionalProperties": false
1154
- },
1155
- "UtilityCost": {
1156
- "type": "object",
1157
- "properties": {
1158
- "fuel_type": {
1159
- "type": "string",
1160
- "enum": [
1161
- "Electricity",
1162
- "Natural Gas",
1163
- "Propane",
1164
- "Fuel Oil",
1165
- "District Cooling",
1166
- "District Heating",
1167
- "Other Fuels",
1168
- "Water"
1169
- ]
1170
- },
1171
- "total_cost": {
1172
- "description": "($)",
1173
- "type": "number"
1174
- },
1175
- "usage_cost": {
1176
- "description": "($)",
1177
- "type": "number"
1178
- },
1179
- "demand_cost": {
1180
- "description": "($)",
1181
- "type": "number"
1182
- }
1183
- },
1184
- "additionalProperties": false
1185
- },
1186
- "Location": {
1187
- "type": "object",
1188
- "properties": {
1189
- "latitude_deg": {
1190
- "description": "latitude for the centroid of the feature (deg)",
1191
- "type": "number"
1192
- },
1193
- "longitude_deg": {
1194
- "description": "longitude for the centroid of the feature (deg)",
1195
- "type": "number"
1196
- },
1197
- "surface_elevation_ft": {
1198
- "description": "The surface elevation (above NAVD88 datum) (ft).",
1199
- "type": "number"
1200
- },
1201
- "weather_filename": {
1202
- "description": "Name of EPW weather file.",
1203
- "type": "string"
1204
- }
1205
- },
1206
- "additionalProperties": false
1207
- },
1208
- "TimestepsPerHour": {
1209
- "type": "integer",
1210
- "minimum": 1,
1211
- "maximum": 60
1212
- },
1213
- "Program": {
1214
- "type": "object",
1215
- "properties": {
1216
- "site_area_sqft": {
1217
- "description": "Area of the entire site or lot (ft^2)",
1218
- "type": "number"
1219
- },
1220
- "floor_area_sqft": {
1221
- "description": "Building gross floor area (ft^2)",
1222
- "type": "number"
1223
- },
1224
- "conditioned_area_sqft": {
1225
- "description": "Building conditioned floor area (ft^2)",
1226
- "type": "number"
1227
- },
1228
- "unconditioned_area_sqft": {
1229
- "description": "Building unconditioned floor area (ft^2)",
1230
- "type": "number"
1231
- },
1232
- "footprint_area_sqft": {
1233
- "description": "Building floorprint area (ft^2)",
1234
- "type": "number"
1235
- },
1236
- "maximum_roof_height_ft": {
1237
- "description": "Maximum height of the roof relative to surface elevation (ft)",
1238
- "type": "number"
1239
- },
1240
- "maximum_number_of_stories": {
1241
- "description": "The maximum number of building stories, sum of number of above and below ground stories.",
1242
- "type": "number"
1243
- },
1244
- "maximum_number_of_stories_above_ground": {
1245
- "description": "The maximum number of building stories above ground",
1246
- "type": "number"
1247
- },
1248
- "parking_area_sqft": {
1249
- "description": "Parking gross area (ft^2)",
1250
- "type": "number"
1251
- },
1252
- "number_of_parking_spaces": {
1253
- "description": "Number of parking spaces",
1254
- "type": "number"
1255
- },
1256
- "number_of_parking_spaces_charging": {
1257
- "description": "Number of parking spaces with electric vehicle charging",
1258
- "type": "number"
1259
- },
1260
- "parking_footprint_area_sqft": {
1261
- "description": "Parking floorprint area (ft^2)",
1262
- "type": "number"
1263
- },
1264
- "maximum_parking_height_ft": {
1265
- "description": "Maximum height of the parking structure relative to surface elevation (ft)",
1266
- "type": "number"
1267
- },
1268
- "maximum_number_of_parking_stories": {
1269
- "description": "The maximum number of parking stories, sum of number of above and below ground stories.",
1270
- "type": "number"
1271
- },
1272
- "maximum_number_of_parking_stories_above_ground": {
1273
- "description": "The maximum number of parking stories above ground",
1274
- "type": "number"
1275
- },
1276
- "number_of_residential_units": {
1277
- "description": "Total number of residential units.",
1278
- "type": "integer"
1279
- },
1280
- "building_types": {
1281
- "type": "array",
1282
- "items": {
1283
- "$ref": "#/definitions/BuildingType"
1284
- }
1285
- },
1286
- "window_area_sqft": {
1287
- "description": "Exterior windows gross area (ft^2)",
1288
- "type": "object",
1289
- "properties": {
1290
- "north_window_area_sqft": {
1291
- "type": "number"
1292
- },
1293
- "south_window_area_sqft": {
1294
- "type": "number"
1295
- },
1296
- "east_window_area_sqft": {
1297
- "type": "number"
1298
- },
1299
- "west_window_area_sqft": {
1300
- "type": "number"
1301
- },
1302
- "total_window_area_sqft": {
1303
- "type": "number"
1304
- }
1305
- },
1306
- "required": [
1307
- "total_window_area_sqft"
1308
- ],
1309
- "additionalProperties": false
1310
- },
1311
- "wall_area_sqft": {
1312
- "description": "exterior walls gross area (ft^2)",
1313
- "type": "object",
1314
- "properties": {
1315
- "north_wall_area_sqft": {
1316
- "type": "number"
1317
- },
1318
- "south_wall_area_sqft": {
1319
- "type": "number"
1320
- },
1321
- "east_wall_area_sqft": {
1322
- "type": "number"
1323
- },
1324
- "west_wall_area_sqft": {
1325
- "type": "number"
1326
- },
1327
- "total_wall_area_sqft": {
1328
- "type": "number"
1329
- }
1330
- },
1331
- "required": [
1332
- "north_wall_area_sqft",
1333
- "south_wall_area_sqft",
1334
- "east_wall_area_sqft",
1335
- "west_wall_area_sqft",
1336
- "total_wall_area_sqft"
1337
- ],
1338
- "additionalProperties": false
1339
- },
1340
- "roof_area_sqft": {
1341
- "type": "object",
1342
- "properties": {
1343
- "equipment_roof_area_sqft": {
1344
- "type": "number"
1345
- },
1346
- "photovoltaic_roof_area_sqft": {
1347
- "type": "number"
1348
- },
1349
- "available_roof_area_sqft": {
1350
- "description": "gross roof area (ft^2)",
1351
- "type": "number"
1352
- },
1353
- "total_roof_area_sqft": {
1354
- "description": "Exterior roofs gross area (ft^2)",
1355
- "type": "number"
1356
- }
1357
- },
1358
- "required": [
1359
- "total_roof_area_sqft"
1360
- ],
1361
- "additionalProperties": false
1362
- },
1363
- "orientation_deg": {
1364
- "description": "Rotation of longest axis from East-West,about up axis (deg)",
1365
- "type": "number"
1366
- },
1367
- "aspect_ratio": {
1368
- "description": "Ratio of longest to shortest axis",
1369
- "type": "number"
1370
- },
1371
- "total_construction_cost_dollar": {
1372
- "description": "total construction cost calculated from the defined cost per floor area ($)",
1373
- "type": "number"
1374
- }
1375
- },
1376
- "required": [
1377
- "floor_area_sqft",
1378
- "conditioned_area_sqft",
1379
- "unconditioned_area_sqft",
1380
- "footprint_area_sqft",
1381
- "maximum_roof_height_ft",
1382
- "number_of_residential_units",
1383
- "building_types",
1384
- "window_area_sqft",
1385
- "wall_area_sqft",
1386
- "roof_area_sqft"
1387
- ],
1388
- "additionalProperties": false
1389
- },
1390
- "BuildingType": {
1391
- "type": "object",
1392
- "properties": {
1393
- "building_type": {
1394
- "description": "Primary building space type",
1395
- "type": "string",
1396
- "enum": [
1397
- "Single-Family",
1398
- "Multifamily (2 to 4 units)",
1399
- "Multifamily (5 or more units)",
1400
- "Mobile Home",
1401
- "Vacant",
1402
- "Office",
1403
- "Laboratory",
1404
- "Nonrefrigerated warehouse",
1405
- "Food sales",
1406
- "Public order and safety",
1407
- "Outpatient health care",
1408
- "Refrigerated warehouse",
1409
- "Religious worship",
1410
- "Public assembly",
1411
- "Education",
1412
- "Food service",
1413
- "Inpatient health care",
1414
- "Nursing",
1415
- "Lodging",
1416
- "Strip shopping mall",
1417
- "Enclosed mall",
1418
- "Retail other than mall",
1419
- "Service"
1420
- ]
1421
- },
1422
- "maximum_occupancy": {
1423
- "description": "Maximum number of occupants ",
1424
- "type": "number"
1425
- },
1426
- "floor_area": {
1427
- "description": "Building gross floor area of this type (ft^2)",
1428
- "type": "number"
1429
- }
1430
- },
1431
- "required": [
1432
- "building_type",
1433
- "maximum_occupancy",
1434
- "floor_area"
1435
- ],
1436
- "additionalProperties": false
1437
- },
1438
- "DesignParameters": {
1439
- "type": "object",
1440
- "properties": {
1441
- "district_cooling_chilled_water_rate": {
1442
- "type": "number"
1443
- },
1444
- "district_cooling_mass_flow_rate": {
1445
- "type": "number"
1446
- },
1447
- "district_cooling_inlet_temperature": {
1448
- "type": "number"
1449
- },
1450
- "district_cooling_outlet_temperature": {
1451
- "type": "number"
1452
- },
1453
- "district_heating_hot_water_rate": {
1454
- "type": "number"
1455
- },
1456
- "district_heating_mass_flow_rate": {
1457
- "type": "number"
1458
- },
1459
- "district_heating_inlet_temperature": {
1460
- "type": "number"
1461
- },
1462
- "district_heating_outlet_temperature": {
1463
- "type": "number"
1464
- }
1465
- },
1466
- "additionalProperties": false
1467
- },
1468
- "TimeseriesCSV": {
1469
- "type": "object",
1470
- "properties": {
1471
- "path": {
1472
- "type": "string"
1473
- },
1474
- "first_report_datetime": {
1475
- "type": "string"
1476
- },
1477
- "column_names": {
1478
- "type": "array",
1479
- "items": {
1480
- "type": "string"
1481
- }
1482
- }
1483
- },
1484
- "required": [
1485
- "path",
1486
- "first_report_datetime",
1487
- "column_names"
1488
- ],
1489
- "additionalProperties": false
1490
- },
1491
- "PowerDistribution": {
1492
- "type": "object",
1493
- "properties": {
1494
- "over_voltage_hours": {
1495
- "type": "number"
1496
- },
1497
- "under_voltage_hours": {
1498
- "type": "number"
1499
- }
1500
- }
1501
- },
1502
- "ThermalStorage": {
1503
- "type": "object",
1504
- "properties": {
1505
- "its_size": {
1506
- "description": "Total central plant TES capacity in kWh",
1507
- "type": "number"
1508
- },
1509
- "ptes_size": {
1510
- "description": "Total distributed/packaged TES capacity in kWh",
1511
- "type": "number"
1512
- }
1513
- }
1514
- }
1515
- }
1516
- }
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "description": "Comment describing your JSON Schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "scenario_report": {
7
+ "$ref": "#/definitions/ScenarioReport"
8
+ },
9
+ "feature_reports": {
10
+ "description": "features of each data point in the scenario",
11
+ "type": "array",
12
+ "items": {
13
+ "$ref": "#/definitions/FeatureReport"
14
+ }
15
+ }
16
+ },
17
+ "additionalProperties": false,
18
+ "definitions": {
19
+ "ScenarioReport": {
20
+ "type": "object",
21
+ "properties": {
22
+ "id": {
23
+ "type": "string"
24
+ },
25
+ "name": {
26
+ "type": "string"
27
+ },
28
+ "directory_name": {
29
+ "type": "string"
30
+ },
31
+ "timesteps_per_hour": {
32
+ "$ref": "#/definitions/TimestepsPerHour"
33
+ },
34
+ "number_of_not_started_simulations": {
35
+ "type": "number"
36
+ },
37
+ "number_of_started_simulations": {
38
+ "type": "number"
39
+ },
40
+ "number_of_complete_simulations": {
41
+ "type": "number"
42
+ },
43
+ "number_of_failed_simulations": {
44
+ "type": "number"
45
+ },
46
+ "location": {
47
+ "$ref": "#/definitions/Location"
48
+ },
49
+ "timeseries_csv": {
50
+ "$ref": "#/definitions/TimeseriesCSV"
51
+ },
52
+ "program": {
53
+ "$ref": "#/definitions/Program"
54
+ },
55
+ "construction_costs": {
56
+ "$ref": "#/definitions/ConstructionCosts"
57
+ },
58
+ "reporting_periods": {
59
+ "$ref": "#/definitions/ReportingPeriods"
60
+ },
61
+ "distributed_generation": {
62
+ "$ref": "#/definitions/DistributedGeneration"
63
+ },
64
+ "thermal_storage": {
65
+ "$ref": "#/definitions/ThermalStorage"
66
+ },
67
+ "rnm_results": {
68
+ "$ref": "#/definitions/RnmResults"
69
+ },
70
+ "scenario_power_distribution": {
71
+ "$ref": "#/definitions/ScenarioPowerDistribution"
72
+ },
73
+ "scenario_power_distribution_cost": {
74
+ "$ref": "#/definitions/ScenarioPowerDistributionCost"
75
+ },
76
+ "qaqc_flags": {
77
+ "$ref": "#/definitions/qaqc_flags"
78
+ }
79
+ },
80
+ "required": [
81
+ "id",
82
+ "name",
83
+ "directory_name",
84
+ "timesteps_per_hour",
85
+ "number_of_not_started_simulations",
86
+ "number_of_started_simulations",
87
+ "number_of_complete_simulations",
88
+ "number_of_failed_simulations",
89
+ "program"
90
+ ],
91
+ "additionalProperties": false
92
+ },
93
+ "ScenarioPowerDistribution": {
94
+ "type": "object",
95
+ "properties": {
96
+ "substations": {
97
+ "description": "Array of electrical substations",
98
+ "type": "array",
99
+ "items": {
100
+ "type": "object",
101
+ "properties": {
102
+ "nominal_voltage": {
103
+ "description": "Nominal Voltage (V)",
104
+ "type": "number"
105
+ }
106
+ }
107
+ }
108
+ },
109
+ "distribution_lines": {
110
+ "description": "Array of distribution lines",
111
+ "type": "array",
112
+ "items": {
113
+ "type": "object",
114
+ "properties": {
115
+ "length": {
116
+ "description": "Length of the line (m)",
117
+ "type": "number"
118
+ },
119
+ "ampacity": {
120
+ "description": "Maximum ampacity of the line (A)",
121
+ "type": "number"
122
+ },
123
+ "commercial_line_type": {
124
+ "description": "Array of the wire types that make up the line",
125
+ "type": "array",
126
+ "items": {
127
+ "type": "string"
128
+ }
129
+ }
130
+ }
131
+ }
132
+ }
133
+ }
134
+ },
135
+ "ScenarioPowerDistributionCost": {
136
+ "title": "UpgradeParamsBaseModel",
137
+ "description": "Contains results from all jobs in the simulation.",
138
+ "type": "object",
139
+ "properties": {
140
+ "results": {
141
+ "title": "results",
142
+ "description": "Results summary for each job",
143
+ "type": "array",
144
+ "items": {}
145
+ },
146
+ "outputs": {
147
+ "title": "outputs",
148
+ "description": "Outputs for each job in the simulation.",
149
+ "allOf": [
150
+ {
151
+ "$ref": "#/definitions/ScenarioPowerDistributionCost/definitions/UpgradeSimulationOutputModel"
152
+ }
153
+ ]
154
+ },
155
+ "violation_summary": {
156
+ "title": "upgrade_summary",
157
+ "description": "Contains thermal or voltage upgrade results for each job",
158
+ "type": "array",
159
+ "items": {
160
+ "$ref": "#/definitions/ScenarioPowerDistributionCost/definitions/UpgradeViolationResultModel"
161
+ }
162
+ },
163
+ "costs_per_equipment": {
164
+ "title": "costs_per_equipment",
165
+ "description": "Contains upgrade cost information for each job by equipment type",
166
+ "type": "array",
167
+ "items": {
168
+ "$ref": "#/definitions/ScenarioPowerDistributionCost/definitions/TotalUpgradeCostsResultModel"
169
+ }
170
+ },
171
+ "equipment": {
172
+ "title": "equipment",
173
+ "description": "Contains equipment information for each job",
174
+ "type": "array",
175
+ "items": {}
176
+ }
177
+ },
178
+ "additionalProperties": false,
179
+ "definitions": {
180
+ "UpgradeJobOutputModel": {
181
+ "title": "UpgradeParamsBaseModel",
182
+ "description": "Contains outputs from one job.",
183
+ "type": "object",
184
+ "properties": {
185
+ "upgraded_opendss_model_file": {
186
+ "title": "upgraded_opendss_model_file",
187
+ "description": "Path to file that will load the upgraded network.",
188
+ "type": "string"
189
+ },
190
+ "feeder_stats": {
191
+ "title": "feeder_stats",
192
+ "description": "Path to file containing feeder metadata and equipment details before and after upgrades.",
193
+ "type": "string"
194
+ },
195
+ "return_code": {
196
+ "title": "return_code",
197
+ "description": "Return code from process. Zero is success, non-zero is a failure.",
198
+ "type": "integer"
199
+ }
200
+ },
201
+ "required": [
202
+ "upgraded_opendss_model_file",
203
+ "feeder_stats",
204
+ "return_code"
205
+ ],
206
+ "additionalProperties": false
207
+ },
208
+ "UpgradeSimulationOutputModel": {
209
+ "title": "UpgradeParamsBaseModel",
210
+ "description": "Contains outputs from all jobs in the simulation.",
211
+ "type": "object",
212
+ "properties": {
213
+ "log_file": {
214
+ "title": "log_file",
215
+ "description": "Path to log file for the simulation.",
216
+ "type": "string"
217
+ },
218
+ "jobs": {
219
+ "title": "jobs",
220
+ "description": "Outputs for each job in the simulation.",
221
+ "type": "array",
222
+ "items": {
223
+ "$ref": "#/definitions/ScenarioPowerDistributionCost/definitions/UpgradeJobOutputModel"
224
+ }
225
+ }
226
+ },
227
+ "required": [
228
+ "log_file",
229
+ "jobs"
230
+ ],
231
+ "additionalProperties": false
232
+ },
233
+ "UpgradeViolationResultModel": {
234
+ "title": "UpgradeParamsBaseModel",
235
+ "description": "Defines result parameters for thermal upgrades.",
236
+ "type": "object",
237
+ "properties": {
238
+ "name": {
239
+ "title": "name",
240
+ "description": "Job name that produced the result",
241
+ "type": "string"
242
+ },
243
+ "scenario": {
244
+ "title": "scenario",
245
+ "description": "Simulation scenario describing the controls being used",
246
+ "default": "control_mode",
247
+ "type": "string"
248
+ },
249
+ "stage": {
250
+ "title": "stage",
251
+ "description": "Stage of upgrades: initial (before upgrades) or final (after upgrades)",
252
+ "type": "string"
253
+ },
254
+ "upgrade_type": {
255
+ "title": "upgrade_type",
256
+ "description": "Type of upgrade: thermal or voltage",
257
+ "type": "string"
258
+ },
259
+ "simulation_time_s": {
260
+ "title": "simulation_time_s",
261
+ "description": "Simulation time to perform upgrades (seconds)",
262
+ "type": "number"
263
+ },
264
+ "thermal_violations_present": {
265
+ "title": "thermal_violations_present",
266
+ "description": "Flag indicating whether thermal violations are present",
267
+ "type": "boolean"
268
+ },
269
+ "voltage_violations_present": {
270
+ "title": "voltage_violations_present",
271
+ "description": "Flag indicating whether voltage violations are present",
272
+ "type": "boolean"
273
+ },
274
+ "max_bus_voltage": {
275
+ "title": "max_bus_voltage",
276
+ "description": "Maximum voltage recorded on any bus",
277
+ "units": "pu",
278
+ "type": "number"
279
+ },
280
+ "min_bus_voltage": {
281
+ "title": "min_bus_voltage",
282
+ "description": "Minimum voltage recorded on any bus",
283
+ "units": "pu",
284
+ "type": "number"
285
+ },
286
+ "num_voltage_violation_buses": {
287
+ "title": "num_voltage_violation_buses",
288
+ "description": "Number of buses with voltage violations",
289
+ "type": "integer"
290
+ },
291
+ "num_overvoltage_violation_buses": {
292
+ "title": "num_overvoltage_violation_buses",
293
+ "description": "Number of buses with voltage above voltage_upper_limit",
294
+ "type": "integer"
295
+ },
296
+ "voltage_upper_limit": {
297
+ "title": "voltage_upper_limit",
298
+ "description": "Voltage upper limit, the threshold considered for determining overvoltages",
299
+ "units": "pu",
300
+ "type": "number"
301
+ },
302
+ "num_undervoltage_violation_buses": {
303
+ "title": "num_undervoltage_violation_buses",
304
+ "description": "Number of buses with voltage below voltage_lower_limit",
305
+ "type": "integer"
306
+ },
307
+ "voltage_lower_limit": {
308
+ "title": "voltage_lower_limit",
309
+ "description": "Voltage lower limit, the threshold considered for determining undervoltages",
310
+ "units": "pu",
311
+ "type": "number"
312
+ },
313
+ "max_line_loading": {
314
+ "title": "max_line_loading",
315
+ "description": "Maximum line loading",
316
+ "units": "pu",
317
+ "type": "number"
318
+ },
319
+ "max_transformer_loading": {
320
+ "title": "max_transformer_loading",
321
+ "description": "Maximum transformer loading",
322
+ "units": "pu",
323
+ "type": "number"
324
+ },
325
+ "num_line_violations": {
326
+ "title": "num_line_violations",
327
+ "description": "Number of lines with loading above line upper limit",
328
+ "type": "integer"
329
+ },
330
+ "line_upper_limit": {
331
+ "title": "line_upper_limit",
332
+ "description": "Line upper limit, the threshold considered for determining line overloading",
333
+ "units": "pu",
334
+ "type": "number"
335
+ },
336
+ "num_transformer_violations": {
337
+ "title": "num_transformer_violations",
338
+ "description": "Number of transformers with loading above transformer upper limit",
339
+ "type": "integer"
340
+ },
341
+ "transformer_upper_limit": {
342
+ "title": "transformer_upper_limit",
343
+ "description": "Transformer upper limit, the threshold considered for determining transformer overloading",
344
+ "units": "pu",
345
+ "type": "number"
346
+ }
347
+ },
348
+ "required": [
349
+ "name",
350
+ "stage",
351
+ "upgrade_type",
352
+ "simulation_time_s",
353
+ "thermal_violations_present",
354
+ "voltage_violations_present",
355
+ "max_bus_voltage",
356
+ "min_bus_voltage",
357
+ "num_voltage_violation_buses",
358
+ "num_overvoltage_violation_buses",
359
+ "voltage_upper_limit",
360
+ "num_undervoltage_violation_buses",
361
+ "voltage_lower_limit",
362
+ "max_line_loading",
363
+ "max_transformer_loading",
364
+ "num_line_violations",
365
+ "line_upper_limit",
366
+ "num_transformer_violations",
367
+ "transformer_upper_limit"
368
+ ],
369
+ "additionalProperties": false
370
+ },
371
+ "TotalUpgradeCostsResultModel": {
372
+ "title": "UpgradeParamsBaseModel",
373
+ "description": "Provides total output costs for upgrading a type of equipment.",
374
+ "type": "object",
375
+ "properties": {
376
+ "name": {
377
+ "title": "name",
378
+ "description": "Job name",
379
+ "type": "string"
380
+ },
381
+ "type": {
382
+ "title": "type",
383
+ "description": "Equipment type",
384
+ "type": "string"
385
+ },
386
+ "count": {
387
+ "title": "count",
388
+ "description": "Count of upgraded equipment",
389
+ "type": "integer"
390
+ },
391
+ "total_cost_usd": {
392
+ "title": "total_cost_usd",
393
+ "description": "Total cost in US dollars",
394
+ "units": "dollars",
395
+ "type": "number"
396
+ }
397
+ },
398
+ "required": [
399
+ "name",
400
+ "type",
401
+ "count",
402
+ "total_cost_usd"
403
+ ],
404
+ "additionalProperties": false
405
+ }
406
+ }
407
+ },
408
+ "DistributedGeneration": {
409
+ "type": "object",
410
+ "properties": {
411
+ "reopt_assumptions_file_path": {
412
+ "description": "File path of REopt assumptions file used to generate results, if known",
413
+ "type": "string"
414
+ },
415
+ "annual_renewable_electricity_pct": {
416
+ "description": "Percentage of annual renewable electricity generation",
417
+ "type": "number"
418
+ },
419
+ "lcc_us_dollars": {
420
+ "description": "Optimal lifecycle cost",
421
+ "type": "number"
422
+ },
423
+ "npv_us_dollars": {
424
+ "description": "Net present value of savings realized by the project",
425
+ "type": "number"
426
+ },
427
+ "year_one_energy_cost_us_dollars": {
428
+ "description": "Optimal year one utility energy cost",
429
+ "type": "number"
430
+ },
431
+ "year_one_demand_cost_us_dollars": {
432
+ "description": "Optimal year one utility demand cost",
433
+ "type": "number"
434
+ },
435
+ "year_one_bill_us_dollars": {
436
+ "description": "Optimal year one utility bill",
437
+ "type": "number"
438
+ },
439
+ "total_energy_cost_us_dollars": {
440
+ "description": "Total utility energy cost over the lifecycle, after-tax",
441
+ "type": "number"
442
+ },
443
+ "SolarPV": {
444
+ "$ref": "#/definitions/SolarPV"
445
+ },
446
+ "Wind": {
447
+ "$ref": "#/definitions/Wind"
448
+ },
449
+ "Generator": {
450
+ "$ref": "#/definitions/Generator"
451
+ },
452
+ "Storage": {
453
+ "$ref": "#/definitions/Storage"
454
+ }
455
+ }
456
+ },
457
+ "SolarPV": {
458
+ "type": "object",
459
+ "properties": {
460
+ "size_kw": {
461
+ "description": "rated power in kW",
462
+ "type": "number"
463
+ },
464
+ "location": {
465
+ "description": "Location of PV. Available options are roof, ground or both.",
466
+ "type": "string",
467
+ "enum": [
468
+ "roof",
469
+ "ground",
470
+ "both"
471
+ ]
472
+ },
473
+ "tilt": {
474
+ "description": "PV system tilt",
475
+ "type": "number"
476
+ },
477
+ "azimuth": {
478
+ "description": "PV azimuth angle",
479
+ "type": "number"
480
+ }
481
+ }
482
+ },
483
+ "Wind": {
484
+ "type": "object",
485
+ "properties": {
486
+ "size_kw": {
487
+ "description": "rated power in kW",
488
+ "type": "number"
489
+ },
490
+ "average_yearly_energy_produced_kwh": {
491
+ "description": "average yearly energy produced in kWh",
492
+ "type": "number"
493
+ },
494
+ "size_class": {
495
+ "description": "Turbine size-class. One of [residential, commercial, medium, large]",
496
+ "type": "string"
497
+ }
498
+ }
499
+ },
500
+ "Generator": {
501
+ "type": "object",
502
+ "properties": {
503
+ "size_kw": {
504
+ "description": "rated power in kW",
505
+ "type": "number"
506
+ }
507
+ }
508
+ },
509
+ "Storage": {
510
+ "type": "object",
511
+ "properties": {
512
+ "size_kw": {
513
+ "description": "rated power in kW",
514
+ "type": "number"
515
+ },
516
+ "size_kwh": {
517
+ "description": "rated capacity in kWh",
518
+ "type": "number"
519
+ }
520
+ }
521
+ },
522
+ "RnmResults": {
523
+ "type": "object",
524
+ "properties": {
525
+ "demand_generation_planning": {
526
+ "description": "Demand generation planning",
527
+ "type": "array",
528
+ "items": {
529
+ "$ref": "#/definitions/DemandGenPlanning"
530
+ }
531
+ },
532
+ "electrical_lines_length": {
533
+ "$ref": "#/definitions/LineLength"
534
+ },
535
+ "distribution_transformers_capacity_kva": {
536
+ "description": "Distribution transformers capacity in kVA",
537
+ "type": "number"
538
+ },
539
+ "costs": {
540
+ "description": "Costs",
541
+ "type": "object",
542
+ "properties": {
543
+ "investment": {
544
+ "$ref": "#/definitions/RnmCost"
545
+ },
546
+ "yearly_maintenance": {
547
+ "$ref": "#/definitions/RnmCost"
548
+ }
549
+ }
550
+ },
551
+ "reliability_indexes": {
552
+ "description": "Reliability Indexes",
553
+ "type": "object",
554
+ "properties": {
555
+ "SAIDI": {
556
+ "description": "System Average Interruption Duration Index",
557
+ "type": "number"
558
+ },
559
+ "SAIFI": {
560
+ "description": "System Average Interruption Frequency Index",
561
+ "type": "number"
562
+ }
563
+ }
564
+ }
565
+ }
566
+ },
567
+ "DemandGenPlanning": {
568
+ "type": "object",
569
+ "properties": {
570
+ "type": {
571
+ "description": "Type of demand generation planning",
572
+ "type": "string",
573
+ "enum": [
574
+ "Low Voltage (LV) Consumers",
575
+ "Medium Voltage (MV) Consumers",
576
+ "Low Voltage (LV) Distributed generators",
577
+ "Medium Voltage (MV) Distributed generators"
578
+ ]
579
+ },
580
+ "peak_demand_kw": {
581
+ "description": "Peak demand in kw for this type",
582
+ "type": "number"
583
+ },
584
+ "number_of_nodes_in_network": {
585
+ "description": "Number of nodes of this type in the network",
586
+ "type": "number"
587
+ }
588
+ }
589
+ },
590
+ "LineLength": {
591
+ "overhead_mi": {
592
+ "description": "Length of overhead lines (miles)",
593
+ "type": "number"
594
+ },
595
+ "underground_mi": {
596
+ "description": "Length of underground lines (miles)",
597
+ "type": "number"
598
+ },
599
+ "type": "object",
600
+ "properties": {
601
+ "overhead_mi": {
602
+ "description": "Length of overhead lines (miles)",
603
+ "type": "number"
604
+ },
605
+ "underground_mi": {
606
+ "description": "Length of underground lines (miles)",
607
+ "type": "number"
608
+ }
609
+ }
610
+ },
611
+ "RnmCost": {
612
+ "low_voltage_network": {
613
+ "description": "Low Voltage Network Cost ($)",
614
+ "type": "number"
615
+ },
616
+ "distribution_transformers": {
617
+ "description": "Distribution Transformers Cost ($)",
618
+ "type": "number"
619
+ },
620
+ "medium_voltage_network": {
621
+ "description": "Medium Voltage Network Cost ($)",
622
+ "type": "number"
623
+ },
624
+ "primary_substations": {
625
+ "description": "Primary Substations Cost ($)",
626
+ "type": "number"
627
+ },
628
+ "total": {
629
+ "description": "Total Cost ($)",
630
+ "type": "number"
631
+ },
632
+ "type": "object",
633
+ "properties": {
634
+ "low_voltage_network": {
635
+ "description": "Low Voltage Network Cost ($)",
636
+ "type": "number"
637
+ },
638
+ "distribution_transformers": {
639
+ "description": "Distribution Transformers Cost ($)",
640
+ "type": "number"
641
+ },
642
+ "medium_voltage_network": {
643
+ "description": "Medium Voltage Network Cost ($)",
644
+ "type": "number"
645
+ },
646
+ "primary_substations": {
647
+ "description": "Primary Substations Cost ($)",
648
+ "type": "number"
649
+ },
650
+ "total": {
651
+ "description": "TOtal Cost ($)",
652
+ "type": "number"
653
+ }
654
+ }
655
+ },
656
+ "qaqc_flags": {
657
+ "type": "object",
658
+ "properties": {
659
+ "eui_reasonableness": {
660
+ "description": "Whether the EUI is within ASHRAE 90.1-2013 bounds for that building type",
661
+ "type": [
662
+ "integer",
663
+ "null"
664
+ ]
665
+ },
666
+ "end_use_by_category": {
667
+ "description": "Whether building energy use is within ASHRAE 90.1-2013 bounds for that building type",
668
+ "type": [
669
+ "integer",
670
+ "null"
671
+ ]
672
+ },
673
+ "mechanical_system_part_load_efficiency": {
674
+ "description": "Whether 40% & 80% heating and cooling efficiency is within ASHRAE 90.1-2013 bounds for that building type",
675
+ "type": [
676
+ "integer",
677
+ "null"
678
+ ]
679
+ },
680
+ "simultaneous_heating_and_cooling": {
681
+ "description": "Whether heating and cooling are occuring during the same hour when cooling load exists",
682
+ "type": [
683
+ "integer",
684
+ "null"
685
+ ]
686
+ },
687
+ "internal_loads": {
688
+ "description": "Whether lighting, plug, and equipment use is within ASHRAE 90.1-2013 bounds for that building type",
689
+ "type": [
690
+ "integer",
691
+ "null"
692
+ ]
693
+ },
694
+ "schedules": {
695
+ "description": "Whether lighting, ventilation, occupant, plug, and equipment schedules are within ASHRAE 90.1-2013 bounds for that building type",
696
+ "type": [
697
+ "integer",
698
+ "null"
699
+ ]
700
+ },
701
+ "envelope_r_value": {
702
+ "description": "Whether building envelope is within ASHRAE 90.1-2013 bounds for that building type",
703
+ "type": [
704
+ "integer",
705
+ "null"
706
+ ]
707
+ },
708
+ "domestic_hot_water": {
709
+ "description": "Whether DHW energy use is within 2011 ASHRAE handbook bounds for that building type",
710
+ "type": [
711
+ "integer",
712
+ "null"
713
+ ]
714
+ },
715
+ "mechanical_system_efficiency": {
716
+ "description": "Whether heating and cooling efficiency is within ASHRAE 90.1-2013 bounds for that building type",
717
+ "type": [
718
+ "integer",
719
+ "null"
720
+ ]
721
+ },
722
+ "supply_and_zone_air_temperature": {
723
+ "description": "Whether fan effectiveness is within ASHRAE 90.1-2013 bounds for that building type",
724
+ "type": [
725
+ "integer",
726
+ "null"
727
+ ]
728
+ },
729
+ "total_qaqc_flags": {
730
+ "description": "How many QAQC flags have been raised for this feature or scenario",
731
+ "type": [
732
+ "integer",
733
+ "null"
734
+ ]
735
+ }
736
+ }
737
+ },
738
+ "FeatureReport": {
739
+ "type": "object",
740
+ "properties": {
741
+ "id": {
742
+ "description": "Id refers to the id of a building/feature",
743
+ "type": "string"
744
+ },
745
+ "name": {
746
+ "description": "name refers to the name of the feature (eg. Building 1, tranformer 5)",
747
+ "type": "string"
748
+ },
749
+ "directory_name": {
750
+ "type": "string"
751
+ },
752
+ "feature_type": {
753
+ "type": "string",
754
+ "enum": [
755
+ "Building",
756
+ "District System",
757
+ "Transformer"
758
+ ]
759
+ },
760
+ "timesteps_per_hour": {
761
+ "$ref": "#/definitions/TimestepsPerHour"
762
+ },
763
+ "simulation_status": {
764
+ "type": "string",
765
+ "enum": [
766
+ "Not Started",
767
+ "Started",
768
+ "Complete",
769
+ "Failed"
770
+ ]
771
+ },
772
+ "timeseries_csv": {
773
+ "$ref": "#/definitions/TimeseriesCSV"
774
+ },
775
+ "location": {
776
+ "$ref": "#/definitions/Location"
777
+ },
778
+ "program": {
779
+ "$ref": "#/definitions/Program"
780
+ },
781
+ "design_parameters": {
782
+ "$ref": "#/definitions/DesignParameters"
783
+ },
784
+ "construction_costs": {
785
+ "$ref": "#/definitions/ConstructionCosts"
786
+ },
787
+ "reporting_periods": {
788
+ "$ref": "#/definitions/ReportingPeriods"
789
+ },
790
+ "distributed_generation": {
791
+ "$ref": "#/definitions/DistributedGeneration"
792
+ },
793
+ "power_distribution": {
794
+ "$ref": "#/definitions/PowerDistribution"
795
+ },
796
+ "thermal_storage": {
797
+ "$ref": "#/definitions/ThermalStorage"
798
+ },
799
+ "qaqc_flags": {
800
+ "$ref": "#/definitions/qaqc_flags"
801
+ }
802
+ },
803
+ "required": [
804
+ "id",
805
+ "name",
806
+ "directory_name",
807
+ "feature_type",
808
+ "timesteps_per_hour",
809
+ "simulation_status"
810
+ ],
811
+ "additionalProperties": false
812
+ },
813
+ "ReportingPeriods": {
814
+ "type": "array",
815
+ "items": {
816
+ "$ref": "#/definitions/ReportingPeriod"
817
+ }
818
+ },
819
+ "ReportingPeriod": {
820
+ "description": "Non-overlapping reporting periods",
821
+ "type": "object",
822
+ "properties": {
823
+ "id": {
824
+ "description": "Id refers to the id of the reporting period. Ids of reporting periods are matched across simulations, so the same period of time gets the same id for all simulations.",
825
+ "type": "number"
826
+ },
827
+ "name": {
828
+ "description": "name refers to the name of the reporting period(eg. Annual, January)",
829
+ "type": "string"
830
+ },
831
+ "multiplier": {
832
+ "description": "Multiplier used if this reporting period is representative of mulitple periods. For example one week simulation that represents entire month.",
833
+ "type": "number",
834
+ "default": 1
835
+ },
836
+ "start_date": {
837
+ "$ref": "#/definitions/Date"
838
+ },
839
+ "end_date": {
840
+ "$ref": "#/definitions/Date"
841
+ },
842
+ "total_site_energy_kwh": {
843
+ "description": "Total energy used on site, does not include generation (kWh)",
844
+ "type": "number"
845
+ },
846
+ "total_source_energy_kwh": {
847
+ "description": "Total source energy used, does not include generation (kWh)",
848
+ "type": "number"
849
+ },
850
+ "site_EUI_kwh_per_m2": {
851
+ "type": "number"
852
+ },
853
+ "site_EUI_kBtu_per_ft2": {
854
+ "type": "number"
855
+ },
856
+ "source_EUI_kwh_per_m2": {
857
+ "type": "number"
858
+ },
859
+ "source_EUI_kBtu_per_ft2": {
860
+ "type": "number"
861
+ },
862
+ "net_site_energy_kwh": {
863
+ "description": "Net site energy (kWh)",
864
+ "type": "number"
865
+ },
866
+ "net_source_energy_kwh": {
867
+ "description": "Net source energy (kWh)",
868
+ "type": "number"
869
+ },
870
+ "total_utility_cost_dollar": {
871
+ "description": "Total utility cost ($)",
872
+ "type": "number"
873
+ },
874
+ "net_utility_cost_dollar": {
875
+ "description": "Net utility cost for reporting period includes generation ($)",
876
+ "type": "number"
877
+ },
878
+ "utility_costs_dollar": {
879
+ "type": "array",
880
+ "items": {
881
+ "$ref": "#/definitions/UtilityCost"
882
+ }
883
+ },
884
+ "electricity_kwh": {
885
+ "description": "Sum of all electricity used, does not include electricity produced (kWh)",
886
+ "type": "number"
887
+ },
888
+ "natural_gas_kwh": {
889
+ "description": "Sum of all natural gas end uses consumption (kWh)",
890
+ "type": "number"
891
+ },
892
+ "propane_kwh": {
893
+ "description": "Sum of all propane end uses consumption (kWh)",
894
+ "type": "number"
895
+ },
896
+ "fuel_oil_kwh": {
897
+ "description": "Sum of all fuel oil #2 end uses consumption (kWh)",
898
+ "type": "number"
899
+ },
900
+ "other_fuels_kwh": {
901
+ "description": "Sum of all other (fuel oil #1, diesel, gasoline, coal, steam) fuel end uses consumption (kWh)",
902
+ "type": "number"
903
+ },
904
+ "district_cooling_kwh": {
905
+ "description": "Sum of all distric cooling end uses consumption (kWh)",
906
+ "type": "number"
907
+ },
908
+ "district_heating_kwh": {
909
+ "description": "Sum of all distric heating end uses consumption (kWh)",
910
+ "type": "number"
911
+ },
912
+ "water_qbft": {
913
+ "description": "Sum of all water end uses consumption (ft^3)",
914
+ "type": "number"
915
+ },
916
+ "electricity_produced_kwh": {
917
+ "description": "Sum of all electricity produced (kWh)",
918
+ "type": "number"
919
+ },
920
+ "end_uses": {
921
+ "$ref": "#/definitions/EndUses"
922
+ },
923
+ "energy_production_kwh": {
924
+ "description": "Energy produced for reporting period. Water reported in m^3, all others in kWh.",
925
+ "type": "object",
926
+ "properties": {
927
+ "electricity_produced": {
928
+ "type": "object",
929
+ "properties": {
930
+ "photovoltaic": {
931
+ "type": "number"
932
+ }
933
+ },
934
+ "additionalProperties": false
935
+ }
936
+ },
937
+ "additionalProperties": false
938
+ },
939
+ "comfort_result": {
940
+ "$ref": "#/definitions/ComfortResult"
941
+ },
942
+ "emissions": {
943
+ "type": "object",
944
+ "properties": {
945
+ "future_annual_electricity_emissions_mt": {
946
+ "description": "Future emissions in metric ton (mt) calculated based on an annual emission factor value for the selected future year",
947
+ "type": "number"
948
+ },
949
+ "future_hourly_electricity_emissions_mt": {
950
+ "description": "Future emissions in metric ton (mt) calculated based on hourly emission factor values for the selected future year",
951
+ "type": "number"
952
+ },
953
+ "historical_annual_electricity_emissions_mt": {
954
+ "description": "Historical emissions in metric ton (mt) calculated based on an annual emission factor value for the selected historical year",
955
+ "type": "number"
956
+ },
957
+ "historical_hourly_electricity_emissions_mt": {
958
+ "description": "Historical emissions in metric ton (mt) calculated based on hourly emission factor values for the selected historical year",
959
+ "type": "number"
960
+ },
961
+ "future_annual_electricity_emissions_intensity_kg_per_ft2": {
962
+ "description": "Future emissions intensity in kg/ft2 calculated based on an annual emission factor value for the selected future year",
963
+ "type": "number"
964
+ },
965
+ "future_hourly_electricity_emissions_intensity_kg_per_ft2": {
966
+ "description": "Future emissions intensity in kg/ft2 calculated based on hourly emission factor values for the selected future year",
967
+ "type": "number"
968
+ },
969
+ "historical_annual_electricity_emissions_intensity_kg_per_ft2": {
970
+ "description": "Historical emissions intensity in kg/ft2 calculated based on an annual emission factor value for the selected historical year",
971
+ "type": "number"
972
+ },
973
+ "historical_hourly_electricity_emissions_intensity_kg_per_ft2": {
974
+ "description": "Historical emissions intensity in kg/ft2 calculated based on hourly emission factor values for the selected historical year",
975
+ "type": "number"
976
+ },
977
+ "natural_gas_emissions_mt": {
978
+ "description": "Natural Gas emissions in mt calculated based on EPA eGRID data and calculated using 20-year GWP horizon based on ASHRAE 189.1",
979
+ "type": "number"
980
+ },
981
+ "natural_gas_emissions_intensity_kg_per_ft2": {
982
+ "description": "Natural Gas emissions intensity in kg/ft2 calculated based on EPA eGRID data and calculated using 20-year GWP horizon based on ASHRAE 189.1",
983
+ "type": "number"
984
+ },
985
+ "propane_emissions_mt": {
986
+ "description": "Propane emissions in mt calculated based on EPA eGRID data and calculated using 20-year GWP horizon based on ASHRAE 189.1",
987
+ "type": "number"
988
+ },
989
+ "propane_emissions_intensity_kg_per_ft2": {
990
+ "description": "Propane emissions intensity in kg/ft2 calculated based on EPA eGRID data and calculated using 20-year GWP horizon based on ASHRAE 189.1",
991
+ "type": "number"
992
+ },
993
+ "fueloil_no2_emissions_mt": {
994
+ "description": "FuelOilNo2 emissions in mt calculated based on EPA eGRID data and calculated using 20-year GWP horizon based on ASHRAE 189.1",
995
+ "type": "number"
996
+ },
997
+ "fueloil_no2_emissions_intensity_kg_per_ft2": {
998
+ "description": "FuelOilNo2 emissions intensity in kg/ft2 calculated based on EPA eGRID data and calculated using 20-year GWP horizon based on ASHRAE 189.1",
999
+ "type": "number"
1000
+ }
1001
+ }
1002
+ }
1003
+ },
1004
+ "additionalProperties": false
1005
+ },
1006
+ "Date": {
1007
+ "type": "object",
1008
+ "properties": {
1009
+ "month": {
1010
+ "type": "integer"
1011
+ },
1012
+ "day_of_month": {
1013
+ "type": "integer"
1014
+ },
1015
+ "year": {
1016
+ "type": "integer"
1017
+ }
1018
+ },
1019
+ "additionalProperties": false
1020
+ },
1021
+ "EndUses": {
1022
+ "description": "End uses for reporting period. Does not include energy produced. Water reported in m^3, all others in kWh.",
1023
+ "type": "object",
1024
+ "properties": {
1025
+ "electricity_kwh": {
1026
+ "$ref": "#/definitions/EndUse"
1027
+ },
1028
+ "natural_gas_kwh": {
1029
+ "$ref": "#/definitions/EndUse"
1030
+ },
1031
+ "propane_kwh": {
1032
+ "$ref": "#/definitions/EndUse"
1033
+ },
1034
+ "fuel_oil_kwh": {
1035
+ "$ref": "#/definitions/EndUse"
1036
+ },
1037
+ "other_fuels_kwh": {
1038
+ "$ref": "#/definitions/EndUse"
1039
+ },
1040
+ "district_cooling_kwh": {
1041
+ "$ref": "#/definitions/EndUse"
1042
+ },
1043
+ "district_heating_kwh": {
1044
+ "$ref": "#/definitions/EndUse"
1045
+ },
1046
+ "water_qbft": {
1047
+ "$ref": "#/definitions/EndUse"
1048
+ }
1049
+ },
1050
+ "additionalProperties": false
1051
+ },
1052
+ "EndUse": {
1053
+ "type": "object",
1054
+ "properties": {
1055
+ "heating": {
1056
+ "type": "number"
1057
+ },
1058
+ "cooling": {
1059
+ "type": "number"
1060
+ },
1061
+ "interior_lighting": {
1062
+ "type": "number"
1063
+ },
1064
+ "exterior_lighting": {
1065
+ "type": "number"
1066
+ },
1067
+ "interior_equipment": {
1068
+ "type": "number"
1069
+ },
1070
+ "exterior_equipment": {
1071
+ "type": "number"
1072
+ },
1073
+ "electric_vehicles": {
1074
+ "type": "number"
1075
+ },
1076
+ "fans": {
1077
+ "type": "number"
1078
+ },
1079
+ "pumps": {
1080
+ "type": "number"
1081
+ },
1082
+ "heat_rejection": {
1083
+ "type": "number"
1084
+ },
1085
+ "humidification": {
1086
+ "type": "number"
1087
+ },
1088
+ "heat_recovery": {
1089
+ "type": "number"
1090
+ },
1091
+ "water_systems": {
1092
+ "type": "number"
1093
+ },
1094
+ "refrigeration": {
1095
+ "type": "number"
1096
+ },
1097
+ "generators": {
1098
+ "type": "number"
1099
+ }
1100
+ },
1101
+ "additionalProperties": false
1102
+ },
1103
+ "ComfortResult": {
1104
+ "type": "object",
1105
+ "properties": {
1106
+ "time_setpoint_not_met_during_occupied_cooling": {
1107
+ "description": "(hrs)",
1108
+ "type": "number"
1109
+ },
1110
+ "time_setpoint_not_met_during_occupied_heating": {
1111
+ "description": "(hrs)",
1112
+ "type": "number"
1113
+ },
1114
+ "time_setpoint_not_met_during_occupied_hours": {
1115
+ "description": "(hrs)",
1116
+ "type": "number"
1117
+ },
1118
+ "hours_out_of_comfort_bounds_PMV": {
1119
+ "type": "number"
1120
+ },
1121
+ "hours_out_of_comfort_bounds_PPD": {
1122
+ "type": "number"
1123
+ }
1124
+ },
1125
+ "additionalProperties": false
1126
+ },
1127
+ "ConstructionCosts": {
1128
+ "type": "array",
1129
+ "items": {
1130
+ "$ref": "#/definitions/ConstructionCost"
1131
+ }
1132
+ },
1133
+ "ConstructionCost": {
1134
+ "description": "Program related information, does not change in time",
1135
+ "type": "object",
1136
+ "properties": {
1137
+ "category": {
1138
+ "type": "string",
1139
+ "enum": [
1140
+ "Construction",
1141
+ "Building",
1142
+ "Space",
1143
+ "ThermalZone",
1144
+ "AirLoop",
1145
+ "PlantLoop",
1146
+ "ZoneHVAC",
1147
+ "Lights",
1148
+ "Luminaire",
1149
+ "Equipment",
1150
+ "HVACComponent",
1151
+ "ZoneHVACComponent"
1152
+ ]
1153
+ },
1154
+ "item_name": {
1155
+ "description": "Name of the item being costed, e.g. the name of the exterior wall construction",
1156
+ "type": "string"
1157
+ },
1158
+ "unit_cost": {
1159
+ "description": "Cost per unit of item, e.g. cost per area of construction. This can be adjusted in post processing.",
1160
+ "type": "number"
1161
+ },
1162
+ "cost_units": {
1163
+ "description": "Unit of cost for this item",
1164
+ "type": "string",
1165
+ "enum": [
1166
+ "CostPerEach",
1167
+ "CostPerFt2",
1168
+ "CostPerKW",
1169
+ "CostPerCFM"
1170
+ ]
1171
+ },
1172
+ "item_quantity": {
1173
+ "description": "Amount of the item in units corresponding to cost_units",
1174
+ "type": "number"
1175
+ },
1176
+ "total_cost": {
1177
+ "description": "Total cost is unit_cost multiplied by item_quantity. Can be updated if unit_cost is changed.",
1178
+ "type": "number"
1179
+ }
1180
+ },
1181
+ "additionalProperties": false
1182
+ },
1183
+ "UtilityCost": {
1184
+ "type": "object",
1185
+ "properties": {
1186
+ "fuel_type": {
1187
+ "type": "string",
1188
+ "enum": [
1189
+ "Electricity",
1190
+ "Natural Gas",
1191
+ "Propane",
1192
+ "Fuel Oil",
1193
+ "District Cooling",
1194
+ "District Heating",
1195
+ "Other Fuels",
1196
+ "Water"
1197
+ ]
1198
+ },
1199
+ "total_cost": {
1200
+ "description": "($)",
1201
+ "type": "number"
1202
+ },
1203
+ "usage_cost": {
1204
+ "description": "($)",
1205
+ "type": "number"
1206
+ },
1207
+ "demand_cost": {
1208
+ "description": "($)",
1209
+ "type": "number"
1210
+ }
1211
+ },
1212
+ "additionalProperties": false
1213
+ },
1214
+ "Location": {
1215
+ "type": "object",
1216
+ "properties": {
1217
+ "latitude_deg": {
1218
+ "description": "latitude for the centroid of the feature (deg)",
1219
+ "type": "number"
1220
+ },
1221
+ "longitude_deg": {
1222
+ "description": "longitude for the centroid of the feature (deg)",
1223
+ "type": "number"
1224
+ },
1225
+ "surface_elevation_ft": {
1226
+ "description": "The surface elevation (above NAVD88 datum) (ft).",
1227
+ "type": "number"
1228
+ },
1229
+ "weather_filename": {
1230
+ "description": "Name of EPW weather file.",
1231
+ "type": "string"
1232
+ }
1233
+ },
1234
+ "additionalProperties": false
1235
+ },
1236
+ "TimestepsPerHour": {
1237
+ "type": "integer",
1238
+ "minimum": 1,
1239
+ "maximum": 60
1240
+ },
1241
+ "Program": {
1242
+ "type": "object",
1243
+ "properties": {
1244
+ "site_area_sqft": {
1245
+ "description": "Area of the entire site or lot (ft^2)",
1246
+ "type": "number"
1247
+ },
1248
+ "floor_area_sqft": {
1249
+ "description": "Building gross floor area (ft^2)",
1250
+ "type": "number"
1251
+ },
1252
+ "conditioned_area_sqft": {
1253
+ "description": "Building conditioned floor area (ft^2)",
1254
+ "type": "number"
1255
+ },
1256
+ "unconditioned_area_sqft": {
1257
+ "description": "Building unconditioned floor area (ft^2)",
1258
+ "type": "number"
1259
+ },
1260
+ "footprint_area_sqft": {
1261
+ "description": "Building floorprint area (ft^2)",
1262
+ "type": "number"
1263
+ },
1264
+ "maximum_roof_height_ft": {
1265
+ "description": "Maximum height of the roof relative to surface elevation (ft)",
1266
+ "type": "number"
1267
+ },
1268
+ "maximum_number_of_stories": {
1269
+ "description": "The maximum number of building stories, sum of number of above and below ground stories.",
1270
+ "type": "number"
1271
+ },
1272
+ "maximum_number_of_stories_above_ground": {
1273
+ "description": "The maximum number of building stories above ground",
1274
+ "type": "number"
1275
+ },
1276
+ "parking_area_sqft": {
1277
+ "description": "Parking gross area (ft^2)",
1278
+ "type": "number"
1279
+ },
1280
+ "number_of_parking_spaces": {
1281
+ "description": "Number of parking spaces",
1282
+ "type": "number"
1283
+ },
1284
+ "number_of_parking_spaces_charging": {
1285
+ "description": "Number of parking spaces with electric vehicle charging",
1286
+ "type": "number"
1287
+ },
1288
+ "parking_footprint_area_sqft": {
1289
+ "description": "Parking floorprint area (ft^2)",
1290
+ "type": "number"
1291
+ },
1292
+ "maximum_parking_height_ft": {
1293
+ "description": "Maximum height of the parking structure relative to surface elevation (ft)",
1294
+ "type": "number"
1295
+ },
1296
+ "maximum_number_of_parking_stories": {
1297
+ "description": "The maximum number of parking stories, sum of number of above and below ground stories.",
1298
+ "type": "number"
1299
+ },
1300
+ "maximum_number_of_parking_stories_above_ground": {
1301
+ "description": "The maximum number of parking stories above ground",
1302
+ "type": "number"
1303
+ },
1304
+ "number_of_residential_units": {
1305
+ "description": "Total number of residential units.",
1306
+ "type": "integer"
1307
+ },
1308
+ "building_types": {
1309
+ "type": "array",
1310
+ "items": {
1311
+ "$ref": "#/definitions/BuildingType"
1312
+ }
1313
+ },
1314
+ "window_area_sqft": {
1315
+ "description": "Exterior windows gross area (ft^2)",
1316
+ "type": "object",
1317
+ "properties": {
1318
+ "north_window_area_sqft": {
1319
+ "type": "number"
1320
+ },
1321
+ "south_window_area_sqft": {
1322
+ "type": "number"
1323
+ },
1324
+ "east_window_area_sqft": {
1325
+ "type": "number"
1326
+ },
1327
+ "west_window_area_sqft": {
1328
+ "type": "number"
1329
+ },
1330
+ "total_window_area_sqft": {
1331
+ "type": "number"
1332
+ }
1333
+ },
1334
+ "required": [
1335
+ "total_window_area_sqft"
1336
+ ],
1337
+ "additionalProperties": false
1338
+ },
1339
+ "wall_area_sqft": {
1340
+ "description": "exterior walls gross area (ft^2)",
1341
+ "type": "object",
1342
+ "properties": {
1343
+ "north_wall_area_sqft": {
1344
+ "type": "number"
1345
+ },
1346
+ "south_wall_area_sqft": {
1347
+ "type": "number"
1348
+ },
1349
+ "east_wall_area_sqft": {
1350
+ "type": "number"
1351
+ },
1352
+ "west_wall_area_sqft": {
1353
+ "type": "number"
1354
+ },
1355
+ "total_wall_area_sqft": {
1356
+ "type": "number"
1357
+ }
1358
+ },
1359
+ "required": [
1360
+ "north_wall_area_sqft",
1361
+ "south_wall_area_sqft",
1362
+ "east_wall_area_sqft",
1363
+ "west_wall_area_sqft",
1364
+ "total_wall_area_sqft"
1365
+ ],
1366
+ "additionalProperties": false
1367
+ },
1368
+ "roof_area_sqft": {
1369
+ "type": "object",
1370
+ "properties": {
1371
+ "equipment_roof_area_sqft": {
1372
+ "type": "number"
1373
+ },
1374
+ "photovoltaic_roof_area_sqft": {
1375
+ "type": "number"
1376
+ },
1377
+ "available_roof_area_sqft": {
1378
+ "description": "gross roof area (ft^2)",
1379
+ "type": "number"
1380
+ },
1381
+ "total_roof_area_sqft": {
1382
+ "description": "Exterior roofs gross area (ft^2)",
1383
+ "type": "number"
1384
+ }
1385
+ },
1386
+ "required": [
1387
+ "total_roof_area_sqft"
1388
+ ],
1389
+ "additionalProperties": false
1390
+ },
1391
+ "orientation_deg": {
1392
+ "description": "Rotation of longest axis from East-West,about up axis (deg)",
1393
+ "type": "number"
1394
+ },
1395
+ "aspect_ratio": {
1396
+ "description": "Ratio of longest to shortest axis",
1397
+ "type": "number"
1398
+ },
1399
+ "total_construction_cost_dollar": {
1400
+ "description": "total construction cost calculated from the defined cost per floor area ($)",
1401
+ "type": "number"
1402
+ }
1403
+ },
1404
+ "required": [
1405
+ "floor_area_sqft",
1406
+ "conditioned_area_sqft",
1407
+ "unconditioned_area_sqft",
1408
+ "footprint_area_sqft",
1409
+ "maximum_roof_height_ft",
1410
+ "number_of_residential_units",
1411
+ "building_types",
1412
+ "window_area_sqft",
1413
+ "wall_area_sqft",
1414
+ "roof_area_sqft"
1415
+ ],
1416
+ "additionalProperties": false
1417
+ },
1418
+ "BuildingType": {
1419
+ "type": "object",
1420
+ "properties": {
1421
+ "building_type": {
1422
+ "description": "Primary building space type",
1423
+ "type": "string",
1424
+ "enum": [
1425
+ "Single-Family",
1426
+ "Multifamily (2 to 4 units)",
1427
+ "Multifamily (5 or more units)",
1428
+ "Mobile Home",
1429
+ "Vacant",
1430
+ "Office",
1431
+ "Laboratory",
1432
+ "Nonrefrigerated warehouse",
1433
+ "Food sales",
1434
+ "Public order and safety",
1435
+ "Outpatient health care",
1436
+ "Refrigerated warehouse",
1437
+ "Religious worship",
1438
+ "Public assembly",
1439
+ "Education",
1440
+ "Food service",
1441
+ "Inpatient health care",
1442
+ "Nursing",
1443
+ "Lodging",
1444
+ "Strip shopping mall",
1445
+ "Enclosed mall",
1446
+ "Retail other than mall",
1447
+ "Service"
1448
+ ]
1449
+ },
1450
+ "maximum_occupancy": {
1451
+ "description": "Maximum number of occupants ",
1452
+ "type": "number"
1453
+ },
1454
+ "floor_area": {
1455
+ "description": "Building gross floor area of this type (ft^2)",
1456
+ "type": "number"
1457
+ }
1458
+ },
1459
+ "required": [
1460
+ "building_type",
1461
+ "maximum_occupancy",
1462
+ "floor_area"
1463
+ ],
1464
+ "additionalProperties": false
1465
+ },
1466
+ "DesignParameters": {
1467
+ "type": "object",
1468
+ "properties": {
1469
+ "district_cooling_chilled_water_rate": {
1470
+ "type": "number"
1471
+ },
1472
+ "district_cooling_mass_flow_rate": {
1473
+ "type": "number"
1474
+ },
1475
+ "district_cooling_inlet_temperature": {
1476
+ "type": "number"
1477
+ },
1478
+ "district_cooling_outlet_temperature": {
1479
+ "type": "number"
1480
+ },
1481
+ "district_heating_hot_water_rate": {
1482
+ "type": "number"
1483
+ },
1484
+ "district_heating_mass_flow_rate": {
1485
+ "type": "number"
1486
+ },
1487
+ "district_heating_inlet_temperature": {
1488
+ "type": "number"
1489
+ },
1490
+ "district_heating_outlet_temperature": {
1491
+ "type": "number"
1492
+ }
1493
+ },
1494
+ "additionalProperties": false
1495
+ },
1496
+ "TimeseriesCSV": {
1497
+ "type": "object",
1498
+ "properties": {
1499
+ "path": {
1500
+ "type": "string"
1501
+ },
1502
+ "first_report_datetime": {
1503
+ "type": "string"
1504
+ },
1505
+ "column_names": {
1506
+ "type": "array",
1507
+ "items": {
1508
+ "type": "string"
1509
+ }
1510
+ }
1511
+ },
1512
+ "required": [
1513
+ "path",
1514
+ "first_report_datetime",
1515
+ "column_names"
1516
+ ],
1517
+ "additionalProperties": false
1518
+ },
1519
+ "PowerDistribution": {
1520
+ "type": "object",
1521
+ "properties": {
1522
+ "over_voltage_hours": {
1523
+ "type": "number"
1524
+ },
1525
+ "under_voltage_hours": {
1526
+ "type": "number"
1527
+ }
1528
+ }
1529
+ },
1530
+ "ThermalStorage": {
1531
+ "type": "object",
1532
+ "properties": {
1533
+ "its_size": {
1534
+ "description": "Total central plant TES capacity in kWh",
1535
+ "type": "number"
1536
+ },
1537
+ "ptes_size": {
1538
+ "description": "Total distributed/packaged TES capacity in kWh",
1539
+ "type": "number"
1540
+ }
1541
+ }
1542
+ }
1543
+ }
1544
+ }