1{
2 "$schema": "https://gitlab.sintef.no/energy/ltm/pyltmapi/-/raw/main/model.schema.json",
3 "model": {
4 "global_settings": {
5 "name": "global_settings",
6 "output_path": "testout_pumps/",
7 "default_spill_cost": 0.01,
8 "delete_output_dir": false,
9 "default_load_penalty": 900.0,
10 "generate_output_dir": true,
11 "allow_validation_failures": false,
12 "interest_rate": 4.42,
13 "simulation_period": {
14 "timestamps": [
15 "2023-W20",
16 "2026-W01"
17 ]
18 },
19 "historical_type": "civillian",
20 "historical_period": {
21 "timestamps": [
22 "2000-01-01T00:00:00Z",
23 "2008-01-01T00:00:00Z"
24 ]
25 },
26 "timesteps_per_week": 168
27 },
28 "dclines": [
29 {
30 "#comment": "",
31 "name": "PUMPE_TEV_DC",
32 "forward_capacity": {
33 "scenarios": [
34 [
35 200
36 ]
37 ]
38 },
39 "backward_capacity": {
40 "timestamps": [
41 "2023-01-02T00:00:00Z",
42 "2023-02-02T00:00:00Z",
43 "2023-03-02T00:00:00Z",
44 "2023-04-02T00:00:00Z",
45 "2023-05-02T00:00:00Z",
46 "2023-06-02T00:00:00Z",
47 "2023-07-02T00:00:00Z",
48 "2023-08-02T00:00:00Z",
49 "2023-09-02T00:00:00Z",
50 "2023-10-02T00:00:00Z",
51 "2023-11-02T00:00:00Z"
52 ],
53 "scenarios": [
54 [
55 100.0,
56 110.0,
57 120.0,
58 130.0,
59 140.0,
60 150.0,
61 160.0,
62 170.0,
63 180.0,
64 190.0,
65 200.0
66 ]
67 ]
68 },
69 "loss_percentage": 2.0,
70 "forward_cost": 2.0,
71 "backward_cost": 1.0
72 }
73 ],
74 "market_steps": [
75 {
76 "name": "market_step",
77 "price": {
78 "timestamps": [
79 "2023-01-01T00:00:00Z",
80 "2024-01-01T00:00:00Z"
81 ],
82 "scenarios": [
83 [
84 260,
85 200
86 ]
87 ]
88 },
89 "capacity": {
90 "timestamps": [
91 "2023-01-01T00:00:00Z"
92 ],
93 "scenarios": [
94 [
95 150
96 ]
97 ]
98 }
99 }
100 ],
101 "loads": [
102 {
103 "#comment": "Gruppe 16",
104 "name": "FLAT",
105 "capacity": {
106 "timestamps": [
107 "2023-01-01T00:00:00Z"
108 ],
109 "scenarios": [
110 [
111 100
112 ]
113 ]
114 }
115 },
116 {
117 "#comment": "Gruppe 16",
118 "name": "FLAT2",
119 "capacity": {
120 "timestamps": [
121 "2023-01-01T00:00:00Z"
122 ],
123 "scenarios": [
124 [
125 150
126 ]
127 ]
128 }
129 }
130 ],
131 "busbars": [
132 {
133 "name": "pumpekraft"
134 },
135 {
136 "name": "tev"
137 }
138 ],
139 "market_calibration_areas": [
140 {
141 "name": "calibration_area"
142 }
143 ],
144 "price_series": [],
145 "inflow_series": [
146 {
147 "name": "small",
148 "series": {
149 "timestamps": [
150 "1900-01-01T00:00:00Z"
151 ],
152 "scenarios": [
153 [
154 0.001
155 ]
156 ]
157 }
158 },
159 {
160 "name": "ten",
161 "series": {
162 "timestamps": [
163 "1900-01-01T00:00:00Z"
164 ],
165 "scenarios": [
166 [
167 10.0
168 ]
169 ]
170 }
171 },
172 {
173 "name": "after_one_year",
174 "series": {
175 "external_reference": {
176 "type": "hdf5",
177 "path": "/inflow/tannsvatn",
178 "filename": "inflow.h5"
179 }
180 },
181 "forecast": {
182 "external_reference": {
183 "type": "hdf5",
184 "path": "/inflow/tannsvatn",
185 "filename": "inflow.h5"
186 }
187 },
188 "forecast_period": {
189 "timestamps": [
190 "2023-W25",
191 "2024-W45"
192 ],
193 "scenarios": [
194 [
195 1,
196 0
197 ]
198 ]
199 }
200 },
201 {
202 "name": "aamot",
203 "series": {
204 "external_reference": {
205 "type": "hdf5",
206 "path": "/inflow/aamot",
207 "filename": "inflow.h5"
208 }
209 },
210 "forecast": {
211 "timestamps": [
212 "1931-W01"
213 ],
214 "scenarios": [
215 [
216 500
217 ]
218 ]
219 }
220 },
221 {
222 "name": "aamot2",
223 "series": {
224 "external_reference": {
225 "type": "hdf5",
226 "path": "/inflow/aamot",
227 "filename": "inflow.h5"
228 }
229 }
230 },
231 {
232 "name": "dyrdalsvatn",
233 "series": {
234 "external_reference": {
235 "type": "hdf5",
236 "path": "/inflow/dyrdalsvatn",
237 "filename": "inflow.h5"
238 }
239 }
240 },
241 {
242 "name": "krinsvatn",
243 "series": {
244 "external_reference": {
245 "type": "hdf5",
246 "path": "/inflow/krinsvatn",
247 "filename": "inflow.h5"
248 }
249 }
250 },
251 {
252 "name": "tannsvatn",
253 "series": {
254 "external_reference": {
255 "type": "hdf5",
256 "path": "/inflow/tannsvatn",
257 "filename": "inflow.h5"
258 }
259 },
260 "forecast": {
261 "timestamps": [
262 "1931-W01"
263 ],
264 "scenarios": [
265 [
266 10000
267 ]
268 ]
269 },
270 "forecast_period": {
271 "timestamps": [
272 "2023-W20",
273 "2023-W30"
274 ],
275 "scenarios": [
276 [
277 1,
278 0
279 ]
280 ]
281 }
282 }
283 ],
284 "reservoirs": [
285 {
286 "name": "upper_main",
287 "average_spill_energy_equivalent": 2.79,
288 "degree_of_regulation": 3,
289 "regulated_inflow_name": "ten",
290 "average_regulated_inflow": 0,
291 "max_discharge": 70.30,
292 "reference_curve": {
293 "timestamps": [
294 "2023-W17",
295 "2023-W40",
296 "2023-W50"
297 ],
298 "scenarios": [
299 [
300 200,
301 450,
302 350
303 ]
304 ]
305 },
306 "initial_volume": 400,
307 "volume_curve": {
308 "x": [
309 1125.20,
310 1129.20
311 ],
312 "y": [
313 0,
314 500
315 ]
316 }
317 },
318 {
319 "name": "extra_rsv",
320 "average_spill_energy_equivalent": 0.8,
321 "degree_of_regulation": 1,
322 "regulated_inflow_name": "ten",
323 "average_regulated_inflow": 1.0,
324 "max_discharge": 170.30,
325 "reference_curve": {
326 "timestamps": [
327 "2023-W01"
328 ],
329 "scenarios": [
330 [
331 500
332 ]
333 ]
334 },
335 "initial_volume": 750,
336 "volume_curve": {
337 "x": [
338 600,
339 630
340 ],
341 "y": [
342 0,
343 1500
344 ]
345 }
346 },
347 {
348 "name": "lower_main",
349 "average_spill_energy_equivalent": 1.0,
350 "degree_of_regulation": 1,
351 "regulated_inflow_name": "ten",
352 "average_regulated_inflow": 0.0,
353 "max_discharge": 100.0,
354 "reference_curve": {
355 "timestamps": [
356 "2023-W01"
357 ],
358 "scenarios": [
359 [
360 30.0
361 ]
362 ]
363 },
364 "initial_volume": 1,
365 "volume_curve": {
366 "x": [
367 45,
368 50
369 ],
370 "y": [
371 0,
372 45
373 ]
374 },
375 "tailrace_elevation": 40.0,
376 "gross_head": 3
377 },
378 {
379 "name": "rsv_pump_1",
380 "average_spill_energy_equivalent": 1.0,
381 "degree_of_regulation": 3,
382 "regulated_inflow_name": "after_one_year",
383 "average_regulated_inflow": 20,
384 "max_discharge": 45,
385 "reference_curve": {
386 "timestamps": [
387 "2023-W01"
388 ],
389 "scenarios": [
390 [
391 30.0
392 ]
393 ]
394 },
395 "initial_volume": 200,
396 "volume_curve": {
397 "x": [
398 1000,
399 1050
400 ],
401 "y": [
402 0,
403 250
404 ]
405 },
406 "tailrace_elevation": 1000.0,
407 "gross_head": 50
408 }
409 ],
410 "plants": [
411 {
412 "name": "plant",
413 "ownership": 100,
414 "discharge_energy_equivalent": {
415 "timestamps": [
416 "2023-W01"
417 ],
418 "scenarios": [
419 [
420 2.7900
421 ]
422 ]
423 },
424 "pq_curves": {
425 "2023-01-02T00:00:00Z": {
426 "x": [
427 0.0,
428 70.30
429 ],
430 "y": [
431 0.0,
432 200.0
433 ]
434 }
435 },
436 "unregulated_inflow_name": "small",
437 "average_unregulated_inflow": 0.0,
438 "tailrace_elevation": 50.0,
439 "gross_head": 900.0,
440 "unavailable_capacity": {
441 "timestamps": [
442 "2023-01-02T00:00:00Z",
443 "2024-06-01T00:00:00Z",
444 "2024-12-01T00:00:00Z"
445 ],
446 "scenarios": [
447 [
448 170,
449 150,
450 0
451 ]
452 ]
453 }
454 },
455 {
456 "name": "extra_plant",
457 "ownership": 100,
458 "discharge_energy_equivalent": {
459 "timestamps": [
460 "W01"
461 ],
462 "scenarios": [
463 [
464 0.7900
465 ]
466 ]
467 },
468 "pq_curves": {
469 "W01": {
470 "x": [
471 0.0,
472 100.0
473 ],
474 "y": [
475 0.0,
476 100.0
477 ]
478 },
479 "W20": {
480 "x": [
481 0.0,
482 170.0
483 ],
484 "y": [
485 0.0,
486 150.0
487 ]
488 },
489 "W40": {
490 "x": [
491 0.0,
492 90.30
493 ],
494 "y": [
495 0.0,
496 90.0
497 ]
498 }
499 },
500 "unregulated_inflow_name": "small",
501 "average_unregulated_inflow": 0.0,
502 "tailrace_elevation": 150.0,
503 "gross_head": 450.0,
504 "unavailable_capacity": {
505 "timestamps": [
506 "2023-01-02T00:00:00Z",
507 "2023-02-02T00:00:00Z",
508 "2024-06-01T00:00:00Z",
509 "2024-12-01T00:00:00Z"
510 ],
511 "scenarios": [
512 [
513 130,
514 100,
515 50,
516 0
517 ]
518 ]
519 }
520 }
521 ],
522 "pumps": [
523 {
524 "name": "pump1_upper",
525 "ownership": 100,
526 "average_power": 150,
527 "pump_capacity": {
528 "x": [
529 110,
530 100
531 ],
532 "y": [
533 47,
534 150
535 ]
536 },
537 "upper_reservoir_reference_curve": {
538 "name": "pump1_upper_high_refcurve",
539 "timestamps": [
540 "2023-W20",
541 "2023-W40",
542 "2023-W50"
543 ],
544 "scenarios": [
545 [
546 200,
547 200,
548 200
549 ]
550 ]
551 },
552 "lower_reservoir_reference_curve": {
553 "name": "pump1_upper_low_refcurve",
554 "timestamps": [
555 "2023-W20",
556 "2023-W40",
557 "2023-W50"
558 ],
559 "scenarios": [
560 [
561 5,
562 5,
563 5
564 ]
565 ]
566 },
567 "unavailable_capacity": {
568 "timestamps": [
569 "2023-01-02T00:00:00Z",
570 "2023-04-02T00:00:00Z",
571 "2024-12-01T00:00:00Z"
572 ],
573 "scenarios": [
574 [
575 0,
576 130,
577 130
578 ]
579 ]
580 }
581 },
582 {
583 "name": "extra_pump_æøå",
584 "ownership": 100,
585 "average_power": 150,
586 "pump_capacity": {
587 "x": [
588 110,
589 100
590 ],
591 "y": [
592 47,
593 150
594 ]
595 },
596 "upper_reservoir_reference_curve": {
597 "timestamps": [
598 "2023-W17",
599 "2023-W40",
600 "2023-W50"
601 ],
602 "scenarios": [
603 [
604 1450,
605 1400,
606 1000
607 ]
608 ]
609 },
610 "lower_reservoir_reference_curve": {
611 "timestamps": [
612 "2023-W17",
613 "2023-W40",
614 "2023-W50"
615 ],
616 "scenarios": [
617 [
618 5,
619 5,
620 5
621 ]
622 ]
623 },
624 "unavailable_capacity_": {
625 "timestamps": [
626 "2023-01-02T00:00:00Z",
627 "2023-04-02T00:00:00Z",
628 "2023-06-02T00:00:00Z",
629 "2024-06-01T00:00:00Z",
630 "2024-12-01T00:00:00Z"
631 ],
632 "scenarios": [
633 [
634 0,
635 25,
636 0,
637 50,
638 75
639 ]
640 ]
641 }
642 }
643 ],
644 "wind": [
645 {
646 "name": "WIND_TEST_01",
647 "capacity": {
648 "timestamps": [
649 "1981-01-01T00:00:00Z",
650 "1981-01-03T00:00:00Z"
651 ],
652 "scenarios": [
653 [
654 0.1,
655 0.1
656 ],
657 [
658 0.2,
659 0.2
660 ],
661 [
662 0.3,
663 0.3
664 ],
665 [
666 0.4,
667 0.4
668 ],
669 [
670 0.5,
671 0.5
672 ],
673 [
674 0.6,
675 0.6
676 ],
677 [
678 0.7,
679 0.7
680 ],
681 [
682 0.8,
683 0.8
684 ]
685 ]
686 }
687 }
688 ],
689 "connections": [
690 {
691 "from": "WIND_TEST_01",
692 "to": "tev"
693 },
694 {
695 "from": "pumpekraft",
696 "to": "PUMPE_TEV_DC"
697 },
698 {
699 "from": "market_step",
700 "to": "pumpekraft"
701 },
702 {
703 "from": "PUMPE_TEV_DC",
704 "to": "tev"
705 },
706 {
707 "from": "FLAT",
708 "to": "pumpekraft"
709 },
710 {
711 "from": "FLAT2",
712 "to": "tev"
713 },
714 {
715 "from": "upper_main",
716 "to": "pumpekraft"
717 },
718 {
719 "from": "upper_main",
720 "to": "plant"
721 },
722 {
723 "from": "plant",
724 "to": "lower_main"
725 },
726 {
727 "from": "rsv_pump_1",
728 "to": "pumpekraft"
729 },
730 {
731 "from": "rsv_pump_1",
732 "to": "pump1_upper"
733 },
734 {
735 "from": "pump1_upper",
736 "to": "upper_main"
737 },
738 {
739 "from": "extra_rsv",
740 "to": "extra_plant"
741 },
742 {
743 "from": "extra_plant",
744 "to": "lower_main"
745 },
746 {
747 "from": "extra_pump_æøå",
748 "to": "extra_plant"
749 },
750 {
751 "from": "pumpekraft",
752 "to": "calibration_area"
753 },
754 {
755 "from": "tev",
756 "to": "calibration_area"
757 }
758 ]
759 }
760}