urbanopt-reopt 0.10.0 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/release.yml +25 -0
- data/.github/workflows/nightly_ci_build.yml +10 -3
- data/CHANGELOG.md +16 -0
- data/Gemfile +1 -1
- data/LICENSE.md +1 -1
- data/RDOC_MAIN.md +19 -19
- data/README.md +20 -20
- data/doc_templates/LICENSE.md +1 -1
- data/doc_templates/copyright_erb.txt +1 -1
- data/docs/README.md +18 -18
- data/docs/package-lock.json +4806 -4836
- data/docs/schemas/reopt-input-schema.md +25 -23
- data/docs/schemas/reopt-output-schema.md +7 -7
- data/index.md +22 -22
- data/lib/urbanopt/reopt/feature_report_adapter.rb +241 -208
- data/lib/urbanopt/reopt/reopt_lite_api.rb +98 -59
- data/lib/urbanopt/reopt/reopt_post_processor.rb +34 -33
- data/lib/urbanopt/reopt/reopt_schema/reopt_input_schema.json +1126 -1106
- data/lib/urbanopt/reopt/reopt_schema/reopt_output_schema.json +449 -524
- data/lib/urbanopt/reopt/scenario/reopt_scenario_csv.rb +7 -7
- data/lib/urbanopt/reopt/scenario_report_adapter.rb +275 -240
- data/lib/urbanopt/reopt/version.rb +1 -1
- data/urbanopt-reopt.gemspec +5 -3
- metadata +35 -8
- data/Jenkinsfile +0 -10
@@ -1,1113 +1,1133 @@
|
|
1
1
|
{
|
2
2
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
3
|
-
"description": "Data Dictionary for REopt
|
3
|
+
"description": "Data Dictionary for REopt Inputs",
|
4
4
|
"type": "object",
|
5
5
|
"properties": {
|
6
|
-
"
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
"
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
"
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
"
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
807
|
-
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
|
816
|
-
|
817
|
-
|
818
|
-
|
819
|
-
|
820
|
-
|
821
|
-
|
822
|
-
|
823
|
-
|
824
|
-
|
825
|
-
|
826
|
-
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
|
833
|
-
|
834
|
-
|
835
|
-
|
836
|
-
|
837
|
-
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
853
|
-
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
|
858
|
-
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
|
868
|
-
|
869
|
-
|
870
|
-
|
871
|
-
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
|
879
|
-
|
880
|
-
|
881
|
-
|
882
|
-
|
883
|
-
|
884
|
-
|
885
|
-
|
886
|
-
|
887
|
-
|
888
|
-
|
889
|
-
|
890
|
-
|
891
|
-
|
892
|
-
|
893
|
-
|
894
|
-
|
895
|
-
|
896
|
-
|
897
|
-
|
898
|
-
|
899
|
-
|
900
|
-
|
901
|
-
|
902
|
-
|
903
|
-
|
904
|
-
|
905
|
-
|
906
|
-
|
907
|
-
|
908
|
-
|
909
|
-
|
910
|
-
|
911
|
-
|
912
|
-
|
913
|
-
|
914
|
-
|
915
|
-
|
916
|
-
|
917
|
-
|
918
|
-
|
919
|
-
|
920
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
|
931
|
-
|
932
|
-
|
933
|
-
|
934
|
-
|
935
|
-
|
936
|
-
|
937
|
-
|
938
|
-
|
939
|
-
|
940
|
-
|
941
|
-
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
|
946
|
-
|
947
|
-
|
948
|
-
|
949
|
-
|
950
|
-
|
951
|
-
|
952
|
-
|
953
|
-
|
954
|
-
|
955
|
-
|
956
|
-
|
957
|
-
|
958
|
-
|
959
|
-
|
960
|
-
|
961
|
-
|
962
|
-
|
963
|
-
|
964
|
-
|
965
|
-
|
966
|
-
|
967
|
-
|
968
|
-
|
969
|
-
|
970
|
-
|
971
|
-
|
972
|
-
|
973
|
-
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
996
|
-
|
997
|
-
|
998
|
-
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
1003
|
-
|
1004
|
-
|
1005
|
-
|
1006
|
-
|
1007
|
-
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1011
|
-
|
1012
|
-
|
1013
|
-
|
1014
|
-
|
1015
|
-
|
1016
|
-
|
1017
|
-
|
1018
|
-
|
1019
|
-
|
1020
|
-
|
1021
|
-
|
1022
|
-
|
1023
|
-
|
1024
|
-
|
1025
|
-
|
1026
|
-
|
1027
|
-
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
|
1032
|
-
|
1033
|
-
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1037
|
-
|
1038
|
-
|
1039
|
-
|
1040
|
-
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
|
1046
|
-
|
1047
|
-
|
1048
|
-
|
1049
|
-
|
1050
|
-
|
1051
|
-
|
1052
|
-
|
1053
|
-
|
1054
|
-
|
1055
|
-
|
1056
|
-
|
1057
|
-
|
1058
|
-
|
1059
|
-
|
1060
|
-
|
1061
|
-
|
1062
|
-
|
1063
|
-
|
1064
|
-
|
1065
|
-
|
1066
|
-
|
1067
|
-
|
1068
|
-
|
1069
|
-
|
1070
|
-
|
1071
|
-
|
1072
|
-
|
1073
|
-
|
1074
|
-
|
1075
|
-
|
1076
|
-
|
1077
|
-
|
1078
|
-
|
1079
|
-
|
1080
|
-
|
1081
|
-
|
1082
|
-
|
1083
|
-
|
1084
|
-
|
1085
|
-
|
1086
|
-
|
1087
|
-
|
1088
|
-
|
1089
|
-
|
1090
|
-
|
1091
|
-
|
1092
|
-
|
1093
|
-
|
1094
|
-
|
1095
|
-
|
1096
|
-
|
1097
|
-
|
1098
|
-
|
1099
|
-
|
1100
|
-
|
1101
|
-
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1109
|
-
|
1110
|
-
|
6
|
+
"user_uuid": {
|
7
|
+
"type": "string",
|
8
|
+
"description": "The assigned unique ID of a signed in REOpt user"
|
9
|
+
},
|
10
|
+
"Meta": {
|
11
|
+
"type": "object",
|
12
|
+
"properties": {
|
13
|
+
"description": {
|
14
|
+
"type": "string",
|
15
|
+
"description": "An optional user defined description to describe the scenario and run"
|
16
|
+
},
|
17
|
+
"address": {
|
18
|
+
"type": "string",
|
19
|
+
"description": "A user defined address as optional metadata (street address, city, state or zip code)"
|
20
|
+
}
|
21
|
+
}
|
22
|
+
},
|
23
|
+
"Settings": {
|
24
|
+
"type": "object",
|
25
|
+
"properties": {
|
26
|
+
"time_steps_per_hour": {
|
27
|
+
"default": 1,
|
28
|
+
"min": 1,
|
29
|
+
"max": 4,
|
30
|
+
"type": "integer",
|
31
|
+
"description": "The number of time steps per hour in the REopt simulation"
|
32
|
+
},
|
33
|
+
"timeout_seconds": {
|
34
|
+
"default": 295,
|
35
|
+
"min": 1,
|
36
|
+
"max": 295,
|
37
|
+
"type": "number",
|
38
|
+
"description": "The number of seconds allowed before the optimization times out"
|
39
|
+
},
|
40
|
+
"optimality_tolerance": {
|
41
|
+
"default": 0.001,
|
42
|
+
"min": 0.000005,
|
43
|
+
"max": 0.2,
|
44
|
+
"type": "number",
|
45
|
+
"description": "The threshold for the difference between the solution's objective value and the best possible value at which the solver terminates"
|
46
|
+
}
|
47
|
+
}
|
48
|
+
},
|
49
|
+
"Site": {
|
50
|
+
"type": "object",
|
51
|
+
"properties": {
|
52
|
+
"latitude": {
|
53
|
+
"min": -90,
|
54
|
+
"max": 90,
|
55
|
+
"type": "number",
|
56
|
+
"description": "The approximate latitude of the site in decimal degrees"
|
57
|
+
},
|
58
|
+
"longitude": {
|
59
|
+
"min": -180,
|
60
|
+
"max": 180,
|
61
|
+
"type": "number",
|
62
|
+
"description": "The approximate longitude of the site in decimal degrees"
|
63
|
+
},
|
64
|
+
"land_acres": {
|
65
|
+
"min": 0,
|
66
|
+
"max": 1000000.0,
|
67
|
+
"type": "number",
|
68
|
+
"description": "Land area in acres available for PV panel siting"
|
69
|
+
},
|
70
|
+
"roof_squarefeet": {
|
71
|
+
"min": 0,
|
72
|
+
"max": 1000000000.0,
|
73
|
+
"type": "number",
|
74
|
+
"description": "Area of roof in square feet available for PV siting"
|
75
|
+
}
|
76
|
+
},
|
77
|
+
"required": [
|
78
|
+
"latitude",
|
79
|
+
"longitude"
|
80
|
+
]
|
81
|
+
},
|
82
|
+
"Financial": {
|
83
|
+
"type": "object",
|
84
|
+
"properties": {
|
85
|
+
"elec_cost_escalation_rate_fraction": {
|
86
|
+
"default": 0.026,
|
87
|
+
"min": -1,
|
88
|
+
"max": 1,
|
89
|
+
"type": "number",
|
90
|
+
"description": "Annual nominal utility electricity cost escalation rate"
|
91
|
+
},
|
92
|
+
"offtaker_discount_rate_fraction": {
|
93
|
+
"default": 0.081,
|
94
|
+
"min": 0,
|
95
|
+
"max": 1,
|
96
|
+
"type": "number",
|
97
|
+
"description": "Nominal host discount rate"
|
98
|
+
},
|
99
|
+
"value_of_lost_load_per_kwh": {
|
100
|
+
"default": 100,
|
101
|
+
"min": 0,
|
102
|
+
"max": 1000000.0,
|
103
|
+
"type": "number",
|
104
|
+
"description": "Value placed on unmet site load during grid outages. Units are US dollars per unmet kilowatt-hour. The value of lost load (VoLL) is used to determine the avoided outage costs by multiplying VoLL [$/kWh] with the average number of hours that the critical load can be met by the energy system (determined by simulating outages occuring at every hour of the year), and multiplying by the mean critical load."
|
105
|
+
},
|
106
|
+
"analysis_years": {
|
107
|
+
"default": 20,
|
108
|
+
"max": 75,
|
109
|
+
"type": "integer",
|
110
|
+
"description": "Analysis period"
|
111
|
+
},
|
112
|
+
"microgrid_upgrade_cost_fraction": {
|
113
|
+
"default": 0.3,
|
114
|
+
"min": 0,
|
115
|
+
"max": 1,
|
116
|
+
"type": "number",
|
117
|
+
"description": "Additional cost, in fraction of non-islandable capital costs, to make a distributed energy system islandable from the grid and able to serve critical loads. Includes all upgrade costs such as additional laber and critical load panels."
|
118
|
+
},
|
119
|
+
"offtaker_tax_rate_fraction": {
|
120
|
+
"default": 0.26,
|
121
|
+
"min": 0,
|
122
|
+
"max": 1,
|
123
|
+
"type": "number",
|
124
|
+
"description": "Host tax rate"
|
125
|
+
},
|
126
|
+
"om_cost_escalation_rate_fraction": {
|
127
|
+
"default": 0.025,
|
128
|
+
"min": -1,
|
129
|
+
"max": 1,
|
130
|
+
"type": "number",
|
131
|
+
"description": "Annual nominal O&M cost escalation rate"
|
132
|
+
}
|
133
|
+
}
|
134
|
+
},
|
135
|
+
"ElectricTariff": {
|
136
|
+
"type": "object",
|
137
|
+
"properties": {
|
138
|
+
"add_monthly_rates_to_urdb_rate": {
|
139
|
+
"default": false,
|
140
|
+
"type": "boolean",
|
141
|
+
"description": "Set to 'true' to add the monthly blended energy rates and demand charges to the URDB rate schedule. Otherwise, blended rates will only be considered if a URDB rate is not provided. "
|
142
|
+
},
|
143
|
+
"coincident_peak_load_active_time_steps": {
|
144
|
+
"default": 0,
|
145
|
+
"min": 0,
|
146
|
+
"max": 1000000000.0,
|
147
|
+
"type": "integer",
|
148
|
+
"description": "The optional coincident_peak_load_charge_per_kw will apply to the max grid-purchased power during these time steps. Note time steps are indexed to a base of 1 not 0."
|
149
|
+
},
|
150
|
+
"coincident_peak_load_charge_per_kw": {
|
151
|
+
"default": 0,
|
152
|
+
"min": 0,
|
153
|
+
"max": 1000000000.0,
|
154
|
+
"type": "integer",
|
155
|
+
"description": "Optional coincident peak demand charge that is applied to the max load during the time_steps specified in coincident_peak_load_active_time_steps"
|
156
|
+
},
|
157
|
+
"wholesale_rate": {
|
158
|
+
"default": 0,
|
159
|
+
"min": 0,
|
160
|
+
"type": "number",
|
161
|
+
"description": "Price of electricity sold back to the grid in absence of net metering or above net metering limit, restricted to total site load"
|
162
|
+
},
|
163
|
+
"export_rate_beyond_net_metering_limit": {
|
164
|
+
"default": 0,
|
165
|
+
"min": 0,
|
166
|
+
"type": "number",
|
167
|
+
"description": "Price of electricity sold back to the grid above the site load, regardless of net metering"
|
168
|
+
},
|
169
|
+
"urdb_response": {
|
170
|
+
"replacement_sets": [
|
171
|
+
["urdb_response"],
|
172
|
+
["monthly_demand_rates", "monthly_energy_rates"],
|
173
|
+
["blended_annual_demand_rate", "blended_annual_energy_rate"],
|
174
|
+
["urdb_label"],
|
175
|
+
["urdb_utility_name", "urdb_rate_name"]
|
176
|
+
],
|
177
|
+
"type": "object",
|
178
|
+
"description": "Utility rate structure from <a href='https: //openei.org/services/doc/rest/util_rates/?version=3' target='blank'>Utility Rate Database API</a>"
|
179
|
+
},
|
180
|
+
"blended_annual_demand_rate": {
|
181
|
+
"replacement_sets": [
|
182
|
+
["urdb_response"],
|
183
|
+
["monthly_demand_rates", "monthly_energy_rates"],
|
184
|
+
["blended_annual_demand_rate", "blended_annual_energy_rate"],
|
185
|
+
["urdb_label"],
|
186
|
+
["urdb_utility_name", "urdb_rate_name"]
|
187
|
+
],
|
188
|
+
"type": "number",
|
189
|
+
"description": "Annual blended demand rates (annual demand charge cost in $ divided by annual peak demand in kW)",
|
190
|
+
"depends_on": ["blended_annual_energy_rate"]
|
191
|
+
},
|
192
|
+
"blended_annual_energy_rate": {
|
193
|
+
"replacement_sets": [
|
194
|
+
["urdb_response"],
|
195
|
+
["monthly_demand_rates", "monthly_energy_rates"],
|
196
|
+
["blended_annual_demand_rate", "blended_annual_energy_rate"],
|
197
|
+
["urdb_label"],
|
198
|
+
["urdb_utility_name", "urdb_rate_name"]
|
199
|
+
],
|
200
|
+
"type": "number",
|
201
|
+
"description": "Annual blended energy rate (total annual energy in kWh divided by annual cost in $)",
|
202
|
+
"depends_on": ["blended_annual_demand_rate"]
|
203
|
+
},
|
204
|
+
"monthly_demand_rates": {
|
205
|
+
"replacement_sets": [
|
206
|
+
["urdb_response"],
|
207
|
+
["monthly_demand_rates", "monthly_energy_rates"],
|
208
|
+
["blended_annual_demand_rate", "blended_annual_energy_rate"],
|
209
|
+
["urdb_label"],
|
210
|
+
["urdb_utility_name", "urdb_rate_name"]
|
211
|
+
],
|
212
|
+
"type": "array",
|
213
|
+
"description": "Array (length of 12) of blended demand charges (demand charge cost in $ divided by monthly peak demand in kW)",
|
214
|
+
"depends_on": ["monthly_energy_rates"]
|
215
|
+
},
|
216
|
+
"urdb_utility_name": {
|
217
|
+
"replacement_sets": [
|
218
|
+
["urdb_response"],
|
219
|
+
["monthly_demand_rates", "monthly_energy_rates"],
|
220
|
+
["blended_annual_demand_rate", "blended_annual_energy_rate"],
|
221
|
+
["urdb_label"],
|
222
|
+
["urdb_utility_name", "urdb_rate_name"]
|
223
|
+
],
|
224
|
+
"type": "string",
|
225
|
+
"description": "Name of Utility from <a href='https: //openei.org/wiki/Utility_Rate_Database' target='blank'>Utility Rate Database</a>",
|
226
|
+
"depends_on": ["urdb_rate_name"]
|
227
|
+
},
|
228
|
+
"urdb_label": {
|
229
|
+
"replacement_sets": [
|
230
|
+
["urdb_response"],
|
231
|
+
["monthly_demand_rates", "monthly_energy_rates"],
|
232
|
+
["blended_annual_demand_rate", "blended_annual_energy_rate"],
|
233
|
+
["urdb_label"],
|
234
|
+
["urdb_utility_name", "urdb_rate_name"]
|
235
|
+
],
|
236
|
+
"type": "string",
|
237
|
+
"description": "Label attribute of utility rate structure from <a href='https: //openei.org/services/doc/rest/util_rates/?version=3' target='blank'>Utility Rate Database API</a>"
|
238
|
+
},
|
239
|
+
"urdb_rate_name": {
|
240
|
+
"replacement_sets": [
|
241
|
+
["urdb_response"],
|
242
|
+
["monthly_demand_rates", "monthly_energy_rates"],
|
243
|
+
["blended_annual_demand_rate", "blended_annual_energy_rate"],
|
244
|
+
["urdb_label"],
|
245
|
+
["urdb_utility_name", "urdb_rate_name"]
|
246
|
+
],
|
247
|
+
"type": "string",
|
248
|
+
"description": "Name of utility rate from <a href='https: //openei.org/wiki/Utility_Rate_Database' target='blank'>Utility Rate Database</a>",
|
249
|
+
"depends_on": ["urdb_utility_name"]
|
250
|
+
},
|
251
|
+
"monthly_energy_rates": {
|
252
|
+
"replacement_sets": [
|
253
|
+
["urdb_response"],
|
254
|
+
["monthly_demand_rates", "monthly_energy_rates"],
|
255
|
+
["blended_annual_demand_rate", "blended_annual_energy_rate"],
|
256
|
+
["urdb_label"],
|
257
|
+
["urdb_utility_name", "urdb_rate_name"]
|
258
|
+
],
|
259
|
+
"type": "array",
|
260
|
+
"description": "Array (length of 12) of blended energy rates (total monthly energy in kWh divided by monthly cost in $)",
|
261
|
+
"depends_on": ["monthly_demand_rates"]
|
262
|
+
}
|
263
|
+
}
|
264
|
+
},
|
265
|
+
"ElectricUtility": {
|
266
|
+
"type": "object",
|
267
|
+
"properties": {
|
268
|
+
"interconnection_limit_kw": {
|
269
|
+
"default": 100000000.0,
|
270
|
+
"min": 0,
|
271
|
+
"max": 1000000000.0,
|
272
|
+
"type": "number",
|
273
|
+
"description": "Limit on system capacity size that can be interconnected to the grid"
|
274
|
+
},
|
275
|
+
"net_metering_limit_kw": {
|
276
|
+
"default": 0,
|
277
|
+
"min": 0,
|
278
|
+
"max": 1000000000.0,
|
279
|
+
"type": "number",
|
280
|
+
"description": "System size above which net metering is not allowed"
|
281
|
+
}
|
282
|
+
}
|
283
|
+
},
|
284
|
+
"ElectricLoad": {
|
285
|
+
"type": "object",
|
286
|
+
"properties": {
|
287
|
+
"critical_load_fraction": {
|
288
|
+
"default": 0.5,
|
289
|
+
"min": 0,
|
290
|
+
"max": 1,
|
291
|
+
"type": "number",
|
292
|
+
"description": "Critical load factor is multiplied by the typical load to determine the critical load that must be met during an outage. Value must be between zero and one, inclusive."
|
293
|
+
},
|
294
|
+
"outage_start_hour": {
|
295
|
+
"min": 0,
|
296
|
+
"max": 8759,
|
297
|
+
"type": "integer",
|
298
|
+
"description": "Hour of year that grid outage starts. Must be less than outage_end."
|
299
|
+
},
|
300
|
+
"outage_end_hour": {
|
301
|
+
"min": 0,
|
302
|
+
"max": 8759,
|
303
|
+
"type": "integer",
|
304
|
+
"description": "Hour of year that grid outage ends. Must be greater than outage_start."
|
305
|
+
},
|
306
|
+
"monthly_totals_kwh": {
|
307
|
+
"replacement_sets": [
|
308
|
+
["loads_kw"],
|
309
|
+
["doe_reference_name", "monthly_totals_kwh"],
|
310
|
+
["annual_kwh", "doe_reference_name"],
|
311
|
+
["doe_reference_name"]
|
312
|
+
],
|
313
|
+
"type": "array",
|
314
|
+
"description": "Array (length of 12) of total monthly energy consumption used to scale simulated building load profile.",
|
315
|
+
"depends_on": ["doe_reference_name"]
|
316
|
+
},
|
317
|
+
"year": {
|
318
|
+
"default": 2018,
|
319
|
+
"min": 1,
|
320
|
+
"max": 9999,
|
321
|
+
"type": "integer",
|
322
|
+
"description": "Year of Custom Load Profile. If a custom load profile is uploaded via the loads_kw parameter, it is important that this year correlates with the load profile so that weekdays/weekends are determined correctly for the utility rate tariff. If a DOE Reference Building profile (aka simulated profile) is used, the year is set to 2017 since the DOE profiles start on a Sunday."
|
323
|
+
},
|
324
|
+
"loads_kw": {
|
325
|
+
"replacement_sets": [
|
326
|
+
["loads_kw"],
|
327
|
+
["doe_reference_name", "monthly_totals_kwh"],
|
328
|
+
["annual_kwh", "doe_reference_name"],
|
329
|
+
["doe_reference_name"]
|
330
|
+
],
|
331
|
+
"type": "array",
|
332
|
+
"description": "Typical load over all hours in one year. Must be hourly (8,760 samples), 30 minute (17,520 samples), or 15 minute (35,040 samples)."
|
333
|
+
},
|
334
|
+
"critical_loads_kw_is_net": {
|
335
|
+
"default": false,
|
336
|
+
"type": "boolean",
|
337
|
+
"description": "If there is existing PV, must specify whether provided load is the net load after existing PV or not."
|
338
|
+
},
|
339
|
+
"loads_kw_is_net": {
|
340
|
+
"default": true,
|
341
|
+
"type": "boolean",
|
342
|
+
"description": "If there is existing PV, must specify whether provided load is the net load after existing PV or not."
|
343
|
+
},
|
344
|
+
"annual_kwh": {
|
345
|
+
"type": "number",
|
346
|
+
"description": "Annual energy consumption used to scale simulated building load profile, if <b><small>monthly_totals_kwh</b></small> is not provided.",
|
347
|
+
"min": 1,
|
348
|
+
"max": 1000000000000.0,
|
349
|
+
"depends_on": ["doe_reference_name"],
|
350
|
+
"replacement_sets": [
|
351
|
+
["loads_kw"],
|
352
|
+
["doe_reference_name", "monthly_totals_kwh"],
|
353
|
+
["annual_kwh", "doe_reference_name"],
|
354
|
+
["doe_reference_name"]
|
355
|
+
]
|
356
|
+
},
|
357
|
+
"doe_reference_name": {
|
358
|
+
"replacement_sets": [
|
359
|
+
["loads_kw"],
|
360
|
+
["doe_reference_name", "monthly_totals_kwh"],
|
361
|
+
["annual_kwh", "doe_reference_name"],
|
362
|
+
["doe_reference_name"]
|
363
|
+
],
|
364
|
+
"type": "string",
|
365
|
+
"description": "Simulated load profile from DOE <a href='https: //energy.gov/eere/buildings/commercial-reference-buildings' target='blank'>Commercial Reference Buildings</a>",
|
366
|
+
"restrict_to": ["FastFoodRest", "FullServiceRest", "Hospital", "LargeHotel", "LargeOffice", "MediumOffice", "MidriseApartment", "Outpatient", "PrimarySchool", "RetailStore", "SecondarySchool", "SmallHotel", "SmallOffice", "StripMall", "Supermarket", "Warehouse", "FlatLoad"]
|
367
|
+
},
|
368
|
+
"critical_loads_kw": {
|
369
|
+
"type": "array",
|
370
|
+
"description": "Critical load during an outage period. Must be hourly (8,760 samples), 30 minute (17,520 samples), or 15 minute (35,040 samples)."
|
371
|
+
}
|
372
|
+
}
|
373
|
+
},
|
374
|
+
"PV": {
|
375
|
+
"type": "object",
|
376
|
+
"properties": {
|
377
|
+
"pbi_years": {
|
378
|
+
"default": 1,
|
379
|
+
"min": 0,
|
380
|
+
"max": 100,
|
381
|
+
"type": "number",
|
382
|
+
"description": "Duration of production-based incentives from installation date"
|
383
|
+
},
|
384
|
+
"macrs_bonus_fraction": {
|
385
|
+
"default": 0,
|
386
|
+
"min": 0,
|
387
|
+
"max": 1,
|
388
|
+
"type": "number",
|
389
|
+
"description": "Fraction of upfront project costs to depreciate in year one in addition to scheduled depreciation"
|
390
|
+
|
391
|
+
},
|
392
|
+
"state_rebate_per_kw": {
|
393
|
+
"default": 0,
|
394
|
+
"min": 0,
|
395
|
+
"max": 1000000000.0,
|
396
|
+
"type": "number",
|
397
|
+
"description": "State rebate based on installed capacity"
|
398
|
+
},
|
399
|
+
"location": {
|
400
|
+
"default": "roof",
|
401
|
+
"type": "string",
|
402
|
+
"description": "Indicates location of PV. Available options are roof and ground."
|
403
|
+
},
|
404
|
+
"max_kw": {
|
405
|
+
"default": 1000000000.0,
|
406
|
+
"min": 0,
|
407
|
+
"max": 1000000000.0,
|
408
|
+
"type": "number",
|
409
|
+
"description": "Maximum PV size constraint for optimization. Set to zero to disable PV"
|
410
|
+
},
|
411
|
+
"azimuth": {
|
412
|
+
"default": 180,
|
413
|
+
"min": 0,
|
414
|
+
"max": 360,
|
415
|
+
"type": "number",
|
416
|
+
"description": "PV azimuth angle"
|
417
|
+
},
|
418
|
+
"state_rebate_max": {
|
419
|
+
"default": 10000000000.0,
|
420
|
+
"min": 0,
|
421
|
+
"max": 10000000000.0,
|
422
|
+
"type": "number",
|
423
|
+
"description": "Maximum state rebate"
|
424
|
+
},
|
425
|
+
"gcr": {
|
426
|
+
"default": 0.4,
|
427
|
+
"min": 0.01,
|
428
|
+
"max": 0.99,
|
429
|
+
"type": "number",
|
430
|
+
"description": "PV ground cover ratio (photovoltaic array area : total ground area)."
|
431
|
+
},
|
432
|
+
"federal_itc_fraction": {
|
433
|
+
"default": 0.3,
|
434
|
+
"min": 0,
|
435
|
+
"max": 1,
|
436
|
+
"type": "number",
|
437
|
+
"description": "Fraction of capital costs that are credited towards federal taxes"
|
438
|
+
},
|
439
|
+
"production_incentive_max_benefit": {
|
440
|
+
"default": 1000000000.0,
|
441
|
+
"min": 0,
|
442
|
+
"max": 1000000000.0,
|
443
|
+
"type": "number",
|
444
|
+
"description": "Maximum annual value of production-based incentives"
|
445
|
+
},
|
446
|
+
"production_incentive_per_kwh": {
|
447
|
+
"default": 0,
|
448
|
+
"min": 0,
|
449
|
+
"max": 1000000000.0,
|
450
|
+
"type": "number",
|
451
|
+
"description": "Production-based incentive value"
|
452
|
+
},
|
453
|
+
"module_type": {
|
454
|
+
"default": 0,
|
455
|
+
"type": "integer",
|
456
|
+
"description": "PV module type (0: Standard; 1: Premium; 2: Thin Film)",
|
457
|
+
"restrict_to": [0, 1, 2]
|
458
|
+
},
|
459
|
+
"dc_ac_ratio": {
|
460
|
+
"default": 1.1,
|
461
|
+
"min": 0,
|
462
|
+
"max": 2,
|
463
|
+
"type": "number",
|
464
|
+
"description": "PV DC-AC ratio"
|
465
|
+
},
|
466
|
+
"array_type": {
|
467
|
+
"default": 1,
|
468
|
+
"type": "integer",
|
469
|
+
"description": "PV Watts array type (0: Ground Mount Fixed (Open Rack); 1: Rooftop, Fixed; 2: Ground Mount 1-Axis Tracking; 3 : 1-Axis Backtracking; 4: Ground Mount, 2-Axis Tracking)",
|
470
|
+
"restrict_to": [0, 1, 2, 3, 4]
|
471
|
+
},
|
472
|
+
"state_ibi_fraction": {
|
473
|
+
"default": 0,
|
474
|
+
"min": 0,
|
475
|
+
"max": 1,
|
476
|
+
"type": "number",
|
477
|
+
"description": "Fraction of capital costs offset by state incentives"
|
478
|
+
},
|
479
|
+
"utility_rebate_max": {
|
480
|
+
"default": 10000000000.0,
|
481
|
+
"min": 0,
|
482
|
+
"max": 10000000000.0,
|
483
|
+
"type": "number",
|
484
|
+
"description": "Maximum utility rebate"
|
485
|
+
},
|
486
|
+
"utility_ibi_max": {
|
487
|
+
"default": 10000000000.0,
|
488
|
+
"min": 0,
|
489
|
+
"max": 10000000000.0,
|
490
|
+
"type": "number",
|
491
|
+
"description": "Maximum dollar value of utility percentage-based capital cost incentive"
|
492
|
+
},
|
493
|
+
"installed_cost_per_kw": {
|
494
|
+
"default": 2000,
|
495
|
+
"min": 0,
|
496
|
+
"max": 100000.0,
|
497
|
+
"type": "number",
|
498
|
+
"description": "Installed PV cost in $/kW"
|
499
|
+
},
|
500
|
+
"existing_kw": {
|
501
|
+
"default": 0,
|
502
|
+
"min": 0,
|
503
|
+
"max": 100000.0,
|
504
|
+
"type": "number",
|
505
|
+
"description": "Existing PV size"
|
506
|
+
},
|
507
|
+
"om_cost_per_kw": {
|
508
|
+
"default": 16,
|
509
|
+
"min": 0,
|
510
|
+
"max": 1000.0,
|
511
|
+
"type": "number",
|
512
|
+
"description": "Annual PV operations and maintenance costs in $/kW"
|
513
|
+
},
|
514
|
+
"utility_rebate_per_kw": {
|
515
|
+
"default": 0,
|
516
|
+
"min": 0,
|
517
|
+
"max": 1000000000.0,
|
518
|
+
"type": "number",
|
519
|
+
"description": "Utility rebate based on installed capacity"
|
520
|
+
},
|
521
|
+
"min_kw": {
|
522
|
+
"default": 0,
|
523
|
+
"min": 0,
|
524
|
+
"max": 1000000000.0,
|
525
|
+
"type": "number",
|
526
|
+
"description": "Minimum PV size constraint for optimization"
|
527
|
+
},
|
528
|
+
"tilt": {
|
529
|
+
"default": 0.537,
|
530
|
+
"min": 0,
|
531
|
+
"max": 90,
|
532
|
+
"type": "number",
|
533
|
+
"description": "PV system tilt"
|
534
|
+
},
|
535
|
+
"losses": {
|
536
|
+
"default": 0.14,
|
537
|
+
"min": 0,
|
538
|
+
"max": 0.99,
|
539
|
+
"type": "number",
|
540
|
+
"description": "PV system performance losses"
|
541
|
+
},
|
542
|
+
"macrs_itc_reduction": {
|
543
|
+
"default": 0.5,
|
544
|
+
"min": 0,
|
545
|
+
"max": 1,
|
546
|
+
"type": "number",
|
547
|
+
"description": "Fraction of the ITC value by which depreciable basis is reduced"
|
548
|
+
},
|
549
|
+
"degradation_fraction": {
|
550
|
+
"default": 0.005,
|
551
|
+
"min": 0,
|
552
|
+
"max": 1,
|
553
|
+
"type": "number",
|
554
|
+
"description": "Annual rate of degradation in PV energy production"
|
555
|
+
},
|
556
|
+
"federal_rebate_per_kw": {
|
557
|
+
"default": 0,
|
558
|
+
"min": 0,
|
559
|
+
"max": 1000000000.0,
|
560
|
+
"type": "number",
|
561
|
+
"description": "Federal rebates based on installed capacity"
|
562
|
+
},
|
563
|
+
"inv_eff": {
|
564
|
+
"default": 0.96,
|
565
|
+
"min": 0.9,
|
566
|
+
"max": 0.995,
|
567
|
+
"type": "number",
|
568
|
+
"description": "PV inverter efficiency"
|
569
|
+
},
|
570
|
+
"pbi_system_max_kw": {
|
571
|
+
"default": 1000000000.0,
|
572
|
+
"min": 0,
|
573
|
+
"max": 1000000000.0,
|
574
|
+
"type": "number",
|
575
|
+
"description": "Maximum system size eligible for production-based incentive"
|
576
|
+
},
|
577
|
+
"macrs_option_years": {
|
578
|
+
"default": 5,
|
579
|
+
"type": "integer",
|
580
|
+
"description": "Duration over which accelerated depreciation will occur. Set to zero to disable",
|
581
|
+
"restrict_to": [0, 5, 7]
|
582
|
+
},
|
583
|
+
"radius": {
|
584
|
+
"default": 0,
|
585
|
+
"min": 0,
|
586
|
+
"type": "number",
|
587
|
+
"description": "Radius to use when searching for the closest climate data station. Use zero to use the closest station regardless of the distance"
|
588
|
+
},
|
589
|
+
"utility_ibi_fraction": {
|
590
|
+
"default": 0,
|
591
|
+
"min": 0,
|
592
|
+
"max": 1,
|
593
|
+
"type": "number",
|
594
|
+
"description": "Fraction of capital costs offset by utility incentives"
|
595
|
+
},
|
596
|
+
"state_ibi_max": {
|
597
|
+
"default": 10000000000.0,
|
598
|
+
"min": 0,
|
599
|
+
"max": 10000000000.0,
|
600
|
+
"type": "number",
|
601
|
+
"description": "Maximum dollar value of state percentage-based capital cost incentive"
|
602
|
+
}
|
603
|
+
}
|
604
|
+
},
|
605
|
+
"ElectricStorage": {
|
606
|
+
"type": "object",
|
607
|
+
"properties": {
|
608
|
+
"total_rebate_per_kw": {
|
609
|
+
"default": 0,
|
610
|
+
"min": 0,
|
611
|
+
"max": 1000000000.0,
|
612
|
+
"type": "number",
|
613
|
+
"description": "Rebate based on installed power capacity"
|
614
|
+
},
|
615
|
+
"max_kwh": {
|
616
|
+
"default": 1000000,
|
617
|
+
"min": 0,
|
618
|
+
"type": "number",
|
619
|
+
"description": "Maximum battery energy storage capacity constraint for optimization. Set to zero to disable Storage"
|
620
|
+
},
|
621
|
+
"rectifier_efficiency_fraction": {
|
622
|
+
"default": 0.96,
|
623
|
+
"min": 0,
|
624
|
+
"max": 1,
|
625
|
+
"type": "number",
|
626
|
+
"description": "Battery rectifier efficiency"
|
627
|
+
},
|
628
|
+
"total_itc_fraction": {
|
629
|
+
"default": 0.0,
|
630
|
+
"min": 0,
|
631
|
+
"max": 1,
|
632
|
+
"type": "number",
|
633
|
+
"description": "Total investment tax credit in fraction applied toward capital costs"
|
634
|
+
},
|
635
|
+
"min_kw": {
|
636
|
+
"default": 0,
|
637
|
+
"min": 0,
|
638
|
+
"max": 1000000000.0,
|
639
|
+
"type": "number",
|
640
|
+
"description": "Minimum battery power capacity size constraint for optimization"
|
641
|
+
},
|
642
|
+
"max_kw": {
|
643
|
+
"default": 1000000,
|
644
|
+
"min": 0,
|
645
|
+
"max": 1000000000.0,
|
646
|
+
"type": "number",
|
647
|
+
"description": "Maximum battery power capacity size constraint for optimization. Set to zero to disable storage"
|
648
|
+
},
|
649
|
+
"replace_cost_per_kw": {
|
650
|
+
"default": 460,
|
651
|
+
"min": 0,
|
652
|
+
"max": 10000.0,
|
653
|
+
"type": "number",
|
654
|
+
"description": "Battery power capacity replacement cost at time of replacement year"
|
655
|
+
},
|
656
|
+
"replace_cost_per_kwh": {
|
657
|
+
"default": 230,
|
658
|
+
"min": 0,
|
659
|
+
"max": 10000.0,
|
660
|
+
"type": "number",
|
661
|
+
"description": "Battery energy capacity replacement cost at time of replacement year"
|
662
|
+
},
|
663
|
+
"min_kwh": {
|
664
|
+
"default": 0,
|
665
|
+
"min": 0,
|
666
|
+
"type": "number",
|
667
|
+
"description": "Minimum battery energy storage capacity constraint for optimization"
|
668
|
+
},
|
669
|
+
"installed_cost_per_kw": {
|
670
|
+
"default": 1000,
|
671
|
+
"min": 0,
|
672
|
+
"max": 10000.0,
|
673
|
+
"type": "number",
|
674
|
+
"description": "Total upfront battery power capacity costs (e.g. inverter and balance of power systems)"
|
675
|
+
},
|
676
|
+
"battery_replacement_year": {
|
677
|
+
"default": 10,
|
678
|
+
"min": 0,
|
679
|
+
"max": 75,
|
680
|
+
"type": "number",
|
681
|
+
"description": "Number of years from start of analysis period to replace battery"
|
682
|
+
},
|
683
|
+
"installed_cost_per_kwh": {
|
684
|
+
"default": 500,
|
685
|
+
"min": 0,
|
686
|
+
"max": 10000.0,
|
687
|
+
"type": "number",
|
688
|
+
"description": "Total upfront battery costs"
|
689
|
+
},
|
690
|
+
"inverter_efficiency_fraction": {
|
691
|
+
"default": 0.96,
|
692
|
+
"min": 0,
|
693
|
+
"max": 1,
|
694
|
+
"type": "number",
|
695
|
+
"description": "Battery inverter efficiency"
|
696
|
+
},
|
697
|
+
"macrs_itc_reduction": {
|
698
|
+
"default": 0.5,
|
699
|
+
"min": 0,
|
700
|
+
"max": 1,
|
701
|
+
"type": "number",
|
702
|
+
"description": "Fraction of the ITC value by which depreciable basis is reduced"
|
703
|
+
},
|
704
|
+
"canGridCharge": {
|
705
|
+
"default": true,
|
706
|
+
"type": "boolean",
|
707
|
+
"description": "Flag to set whether the battery can be charged from the grid, or just onsite generation"
|
708
|
+
},
|
709
|
+
"macrs_bonus_fraction": {
|
710
|
+
"default": 0,
|
711
|
+
"min": 0,
|
712
|
+
"max": 1,
|
713
|
+
"type": "number",
|
714
|
+
"description": "Fraction of upfront project costs to depreciate under MACRS in year one in addtion to scheduled depreciation"
|
715
|
+
},
|
716
|
+
"inverter_replacement_year": {
|
717
|
+
"default": 10,
|
718
|
+
"min": 0,
|
719
|
+
"max": 75,
|
720
|
+
"type": "number",
|
721
|
+
"description": "Number of years from start of analysis period to replace inverter"
|
722
|
+
},
|
723
|
+
"macrs_option_years": {
|
724
|
+
"default": 7,
|
725
|
+
"type": "integer",
|
726
|
+
"description": "Duration over which accelerated depreciation will occur. Set to zero to disable",
|
727
|
+
"restrict_to": [0, 5, 7]
|
728
|
+
},
|
729
|
+
"internal_efficiency_fraction": {
|
730
|
+
"default": 0.975,
|
731
|
+
"min": 0,
|
732
|
+
"max": 1,
|
733
|
+
"type": "number",
|
734
|
+
"description": "Battery inherent efficiency independent of inverter and rectifier"
|
735
|
+
},
|
736
|
+
"soc_min_fraction": {
|
737
|
+
"default": 0.2,
|
738
|
+
"min": 0,
|
739
|
+
"max": 1,
|
740
|
+
"type": "number",
|
741
|
+
"description": "Minimum allowable battery state of charge"
|
742
|
+
},
|
743
|
+
"soc_init_fraction": {
|
744
|
+
"default": 0.5,
|
745
|
+
"min": 0,
|
746
|
+
"max": 1,
|
747
|
+
"type": "number",
|
748
|
+
"description": "Battery state of charge at first hour of optimization"
|
749
|
+
}
|
750
|
+
}
|
751
|
+
},
|
752
|
+
"Wind": {
|
753
|
+
"type": "object",
|
754
|
+
"properties": {
|
755
|
+
"pbi_years": {
|
756
|
+
"default": 1,
|
757
|
+
"min": 0,
|
758
|
+
"max": 1000000000.0,
|
759
|
+
"type": "number",
|
760
|
+
"description": "Duration of production-based incentives from installation date"
|
761
|
+
},
|
762
|
+
"macrs_bonus_fraction": {
|
763
|
+
"default": 0,
|
764
|
+
"min": 0,
|
765
|
+
"max": 1,
|
766
|
+
"type": "number",
|
767
|
+
"description": "Fraction of upfront project costs to depreciate under MACRS"
|
768
|
+
},
|
769
|
+
"max_kw": {
|
770
|
+
"default": 0,
|
771
|
+
"min": 0,
|
772
|
+
"max": 1000000000.0,
|
773
|
+
"type": "number",
|
774
|
+
"description": "Maximum wind power capacity constraint for optimization. Set to zero to disable Wind. Enabled by default"
|
775
|
+
},
|
776
|
+
"production_incentive_max_benefit": {
|
777
|
+
"default": 1000000000.0,
|
778
|
+
"min": 0,
|
779
|
+
"max": 1000000000.0,
|
780
|
+
"type": "number",
|
781
|
+
"description": "Maximum rebate allowed under utility production-based incentives"
|
782
|
+
},
|
783
|
+
"wind_meters_per_sec": {
|
784
|
+
"type": "array",
|
785
|
+
"description": "Data downloaded from Wind ToolKit for modeling wind turbine."
|
786
|
+
},
|
787
|
+
"state_ibi_fraction": {
|
788
|
+
"default": 0,
|
789
|
+
"min": 0,
|
790
|
+
"max": 1,
|
791
|
+
"type": "number",
|
792
|
+
"description": "Fraction of upfront project costs to discount under state investment based incentives"
|
793
|
+
},
|
794
|
+
"utility_rebate_max": {
|
795
|
+
"default": 10000000000.0,
|
796
|
+
"min": 0,
|
797
|
+
"max": 10000000000.0,
|
798
|
+
"type": "number",
|
799
|
+
"description": "Maximum rebate allowed under utility rebates"
|
800
|
+
},
|
801
|
+
"installed_cost_per_kw": {
|
802
|
+
"default": 3013,
|
803
|
+
"min": 0,
|
804
|
+
"max": 100000.0,
|
805
|
+
"type": "number",
|
806
|
+
"description": "Total upfront installed costs in US dollars per kW. Determined by size_class. For the 'large' (>2MW) size_class the cost is $1,874/kW. For the 'medium commercial' size_class the cost is $4,111 per kW. For the 'small commercial' size_class the cost is $4,989 per kW and for the 'residential' size_class the cost is $10,792 per kW "
|
807
|
+
},
|
808
|
+
"utility_ibi_max": {
|
809
|
+
"default": 10000000000.0,
|
810
|
+
"min": 0,
|
811
|
+
"max": 10000000000.0,
|
812
|
+
"type": "number",
|
813
|
+
"description": "Maximum rebate allowed under utility investment based incentives"
|
814
|
+
},
|
815
|
+
"pressure_atmospheres": {
|
816
|
+
"type": "array",
|
817
|
+
"description": "Data downloaded from Wind ToolKit for modeling wind turbine."
|
818
|
+
},
|
819
|
+
"pbi_system_max_kw": {
|
820
|
+
"default": 1000000000.0,
|
821
|
+
"min": 0,
|
822
|
+
"max": 1000000000.0,
|
823
|
+
"type": "number",
|
824
|
+
"description": "Maximum system size for which production-based incentives apply"
|
825
|
+
},
|
826
|
+
"utility_ibi_fraction": {
|
827
|
+
"default": 0,
|
828
|
+
"min": 0,
|
829
|
+
"max": 1,
|
830
|
+
"type": "number",
|
831
|
+
"description": "Fraction of upfront project costs to discount under utility investment based incentives"
|
832
|
+
},
|
833
|
+
"state_ibi_max": {
|
834
|
+
"default": 10000000000.0,
|
835
|
+
"min": 0,
|
836
|
+
"max": 10000000000.0,
|
837
|
+
"type": "number",
|
838
|
+
"description": "Maximum rebate allowed under state investment based incentives"
|
839
|
+
},
|
840
|
+
"wind_direction_degrees": {
|
841
|
+
"type": "array",
|
842
|
+
"description": "Data downloaded from Wind ToolKit for modeling wind turbine."
|
843
|
+
},
|
844
|
+
"size_class": {
|
845
|
+
"type": "string",
|
846
|
+
"description": "Turbine size-class. One of [residential, commercial, medium, large]",
|
847
|
+
"restrict_to": ["residential", "commercial", "medium", "large"]
|
848
|
+
},
|
849
|
+
"state_rebate_per_kw": {
|
850
|
+
"default": 0,
|
851
|
+
"min": 0,
|
852
|
+
"max": 1000000000.0,
|
853
|
+
"type": "number",
|
854
|
+
"description": "State rebates based on installed capacity"
|
855
|
+
},
|
856
|
+
"macrs_option_years": {
|
857
|
+
"default": 5,
|
858
|
+
"type": "integer",
|
859
|
+
"description": "MACRS schedule for financial analysis. Set to zero to disable",
|
860
|
+
"restrict_to": [0, 5, 7]
|
861
|
+
},
|
862
|
+
"state_rebate_max": {
|
863
|
+
"default": 10000000000.0,
|
864
|
+
"min": 0,
|
865
|
+
"max": 10000000000.0,
|
866
|
+
"type": "number",
|
867
|
+
"description": "Maximum rebate allowed under state rebates"
|
868
|
+
},
|
869
|
+
"federal_itc_fraction": {
|
870
|
+
"default": 0.3,
|
871
|
+
"min": 0,
|
872
|
+
"max": 1,
|
873
|
+
"type": "number",
|
874
|
+
"description": "Fraction federal capital cost incentive"
|
875
|
+
},
|
876
|
+
"temperature_celsius": {
|
877
|
+
"type": "array",
|
878
|
+
"description": "Data downloaded from Wind ToolKit for modeling wind turbine."
|
879
|
+
},
|
880
|
+
"production_incentive_per_kwh": {
|
881
|
+
"default": 0,
|
882
|
+
"min": 0,
|
883
|
+
"max": 1000000000.0,
|
884
|
+
"type": "number",
|
885
|
+
"description": "Production-based incentive value"
|
886
|
+
},
|
887
|
+
"om_cost_per_kw": {
|
888
|
+
"default": 35,
|
889
|
+
"min": 0,
|
890
|
+
"max": 1000.0,
|
891
|
+
"type": "number",
|
892
|
+
"description": "Total annual operations and maintenance costs for wind"
|
893
|
+
},
|
894
|
+
"utility_rebate_per_kw": {
|
895
|
+
"default": 0,
|
896
|
+
"min": 0,
|
897
|
+
"max": 1000000000.0,
|
898
|
+
"type": "number",
|
899
|
+
"description": "Utility rebates based on installed capacity"
|
900
|
+
},
|
901
|
+
"min_kw": {
|
902
|
+
"default": 0,
|
903
|
+
"min": 0,
|
904
|
+
"max": 1000000000.0,
|
905
|
+
"type": "number",
|
906
|
+
"description": "Minimum wind power capacity constraint for optimization"
|
907
|
+
},
|
908
|
+
"macrs_itc_reduction": {
|
909
|
+
"default": 0.5,
|
910
|
+
"min": 0,
|
911
|
+
"max": 1,
|
912
|
+
"type": "number",
|
913
|
+
"description": "Fraction of the full ITC that depreciable basis is reduced by"
|
914
|
+
},
|
915
|
+
"federal_rebate_per_kw": {
|
916
|
+
"default": 0,
|
917
|
+
"min": 0,
|
918
|
+
"max": 1000000000.0,
|
919
|
+
"type": "number",
|
920
|
+
"description": "Federal rebate based on installed capacity"
|
921
|
+
}
|
922
|
+
}
|
923
|
+
},
|
924
|
+
"Generator": {
|
925
|
+
"type": "object",
|
926
|
+
"properties": {
|
927
|
+
"pbi_years": {
|
928
|
+
"default": 0,
|
929
|
+
"min": 0,
|
930
|
+
"max": 1000000000.0,
|
931
|
+
"type": "number",
|
932
|
+
"description": "Duration of production-based incentives from installation date"
|
933
|
+
},
|
934
|
+
"macrs_bonus_fraction": {
|
935
|
+
"default": 0,
|
936
|
+
"min": 0,
|
937
|
+
"max": 1,
|
938
|
+
"type": "number",
|
939
|
+
"description": "Fraction of upfront project costs to depreciate under MACRS"
|
940
|
+
},
|
941
|
+
"om_cost_per_kwh": {
|
942
|
+
"default": 0.01,
|
943
|
+
"min": 0,
|
944
|
+
"max": 1000.0,
|
945
|
+
"type": "number",
|
946
|
+
"description": "diesel generator per unit production (variable) operations and maintenance costs in $/kWh"
|
947
|
+
},
|
948
|
+
"max_kw": {
|
949
|
+
"default": 1000000000.0,
|
950
|
+
"min": 0,
|
951
|
+
"max": 1000000000.0,
|
952
|
+
"type": "number",
|
953
|
+
"description": "Maximum diesel generator size constraint for optimization. Set to zero to disable gen"
|
954
|
+
},
|
955
|
+
"production_incentive_max_benefit": {
|
956
|
+
"default": 0,
|
957
|
+
"min": 0,
|
958
|
+
"max": 1000000000.0,
|
959
|
+
"type": "number",
|
960
|
+
"description": "Maximum rebate allowed under utility production-based incentives"
|
961
|
+
},
|
962
|
+
"state_ibi_fraction": {
|
963
|
+
"default": 0,
|
964
|
+
"min": 0,
|
965
|
+
"max": 1,
|
966
|
+
"type": "number",
|
967
|
+
"description": "Fraction of upfront project costs to discount under state investment based incentives"
|
968
|
+
},
|
969
|
+
"fuel_intercept_gal_per_hr": {
|
970
|
+
"default": 0,
|
971
|
+
"min": 0,
|
972
|
+
"max": 10,
|
973
|
+
"type": "number",
|
974
|
+
"description": "Generator fuel consumption curve y-intercept in gallons per hour."
|
975
|
+
},
|
976
|
+
"generator_only_runs_during_grid_outage": {
|
977
|
+
"default": true,
|
978
|
+
"type": "boolean",
|
979
|
+
"description": "If there is existing diesel generator, must specify whether it should run only during grid outage or all the time in the bau case."
|
980
|
+
},
|
981
|
+
"utility_rebate_max": {
|
982
|
+
"default": 0,
|
983
|
+
"min": 0,
|
984
|
+
"max": 10000000000.0,
|
985
|
+
"type": "number",
|
986
|
+
"description": "Maximum rebate allowed under utility rebates"
|
987
|
+
},
|
988
|
+
"installed_cost_per_kw": {
|
989
|
+
"default": 600,
|
990
|
+
"min": 0,
|
991
|
+
"max": 100000.0,
|
992
|
+
"type": "number",
|
993
|
+
"description": "Installed diesel generator cost in $/kW"
|
994
|
+
},
|
995
|
+
"utility_ibi_max": {
|
996
|
+
"default": 0,
|
997
|
+
"min": 0,
|
998
|
+
"max": 10000000000.0,
|
999
|
+
"type": "number",
|
1000
|
+
"description": "Maximum rebate allowed under utility investment based incentives"
|
1001
|
+
},
|
1002
|
+
"fuel_avail_gal": {
|
1003
|
+
"default": 1000000000.0,
|
1004
|
+
"min": 0,
|
1005
|
+
"max": 1000000000.0,
|
1006
|
+
"type": "number",
|
1007
|
+
"description": "On-site generator fuel available in gallons."
|
1008
|
+
},
|
1009
|
+
"min_turn_down_fraction": {
|
1010
|
+
"default": 0,
|
1011
|
+
"min": 0,
|
1012
|
+
"max": 1,
|
1013
|
+
"type": "number",
|
1014
|
+
"description": "Minimum generator loading in fraction of capacity (size_kw)."
|
1015
|
+
},
|
1016
|
+
"pbi_system_max_kw": {
|
1017
|
+
"default": 0,
|
1018
|
+
"min": 0,
|
1019
|
+
"max": 1000000000.0,
|
1020
|
+
"type": "number",
|
1021
|
+
"description": "Maximum system size for which production-based incentives apply"
|
1022
|
+
},
|
1023
|
+
"utility_ibi_fraction": {
|
1024
|
+
"default": 0,
|
1025
|
+
"min": 0,
|
1026
|
+
"max": 1,
|
1027
|
+
"type": "number",
|
1028
|
+
"description": "Fraction of upfront project costs to discount under utility investment based incentives"
|
1029
|
+
},
|
1030
|
+
"state_ibi_max": {
|
1031
|
+
"default": 0,
|
1032
|
+
"min": 0,
|
1033
|
+
"max": 10000000000.0,
|
1034
|
+
"type": "number",
|
1035
|
+
"description": "Maximum rebate allowed under state investment based incentives"
|
1036
|
+
},
|
1037
|
+
"fuel_cost_per_gallon": {
|
1038
|
+
"default": 3,
|
1039
|
+
"min": 0,
|
1040
|
+
"max": 100.0,
|
1041
|
+
"type": "number",
|
1042
|
+
"description": "diesel cost in $/gallon"
|
1043
|
+
},
|
1044
|
+
"fuel_slope_gal_per_kwh": {
|
1045
|
+
"default": 0,
|
1046
|
+
"min": 0,
|
1047
|
+
"max": 10,
|
1048
|
+
"type": "number",
|
1049
|
+
"description": "Generator fuel burn rate in gallons/kWh."
|
1050
|
+
},
|
1051
|
+
"state_rebate_per_kw": {
|
1052
|
+
"default": 0,
|
1053
|
+
"min": 0,
|
1054
|
+
"max": 1000000000.0,
|
1055
|
+
"type": "number",
|
1056
|
+
"description": "State rebates based on installed capacity"
|
1057
|
+
},
|
1058
|
+
"macrs_option_years": {
|
1059
|
+
"default": 0,
|
1060
|
+
"type": "integer",
|
1061
|
+
"description": "MACRS schedule for financial analysis. Set to zero to disable",
|
1062
|
+
"restrict_to": [0, 5, 7]
|
1063
|
+
},
|
1064
|
+
"state_rebate_max": {
|
1065
|
+
"default": 0,
|
1066
|
+
"min": 0,
|
1067
|
+
"max": 10000000000.0,
|
1068
|
+
"type": "number",
|
1069
|
+
"description": "Maximum rebate allowed under state rebates"
|
1070
|
+
},
|
1071
|
+
"federal_itc_fraction": {
|
1072
|
+
"default": 0,
|
1073
|
+
"min": 0,
|
1074
|
+
"max": 1,
|
1075
|
+
"type": "number",
|
1076
|
+
"description": "Fraction federal capital cost incentive"
|
1077
|
+
},
|
1078
|
+
"production_incentive_per_kwh": {
|
1079
|
+
"default": 0,
|
1080
|
+
"min": 0,
|
1081
|
+
"max": 1000000000.0,
|
1082
|
+
"type": "number",
|
1083
|
+
"description": "Production-based incentive value"
|
1084
|
+
},
|
1085
|
+
"existing_kw": {
|
1086
|
+
"default": 0,
|
1087
|
+
"min": 0,
|
1088
|
+
"max": 100000.0,
|
1089
|
+
"type": "number",
|
1090
|
+
"description": "Existing diesel generator size"
|
1091
|
+
},
|
1092
|
+
"om_cost_per_kw": {
|
1093
|
+
"default": 10,
|
1094
|
+
"min": 0,
|
1095
|
+
"max": 1000.0,
|
1096
|
+
"type": "number",
|
1097
|
+
"description": "Annual diesel generator fixed operations and maintenance costs in $/kW"
|
1098
|
+
},
|
1099
|
+
"utility_rebate_per_kw": {
|
1100
|
+
"default": 0,
|
1101
|
+
"min": 0,
|
1102
|
+
"max": 1000000000.0,
|
1103
|
+
"type": "number",
|
1104
|
+
"description": "Utility rebates based on installed capacity"
|
1105
|
+
},
|
1106
|
+
"min_kw": {
|
1107
|
+
"default": 0,
|
1108
|
+
"min": 0,
|
1109
|
+
"max": 1000000000.0,
|
1110
|
+
"type": "number",
|
1111
|
+
"description": "Minimum diesel generator size constraint for optimization"
|
1112
|
+
},
|
1113
|
+
"macrs_itc_reduction": {
|
1114
|
+
"default": 0,
|
1115
|
+
"min": 0,
|
1116
|
+
"max": 1,
|
1117
|
+
"type": "number",
|
1118
|
+
"description": "Fraction of the full ITC that depreciable basis is reduced by"
|
1119
|
+
},
|
1120
|
+
"federal_rebate_per_kw": {
|
1121
|
+
"default": 0,
|
1122
|
+
"min": 0,
|
1123
|
+
"max": 1000000000.0,
|
1124
|
+
"type": "number",
|
1125
|
+
"description": "Federal rebate based on installed capacity"
|
1126
|
+
},
|
1127
|
+
"generator_sells_energy_back_to_grid": {
|
1128
|
+
"default": false,
|
1129
|
+
"type": "boolean",
|
1130
|
+
"description": "If there is existing diesel generator, must specify whether it should run only during grid outage or all the time in the bau case."
|
1111
1131
|
}
|
1112
1132
|
}
|
1113
1133
|
}
|