Metodologie și surse
Această pagină descrie calculul din spatele analizei Tarnița-Lăpuștești suficient de precis încât un cititor cantitativ să-l poată reproduce conceptual. Fiecare formulă are unități; nu există constante magice neexplicate. Ieșirile anuale, zilele reprezentative, ipotezele și manifestul de proveniență sunt descărcabile ca JSON/CSV din catalogul de date.
1. Surse de date
Lanțul de proveniență al prețurilor de piață are trei verigi, declarate onest:
- Piața primară: PZU OPCOM (piața pentru ziua următoare a României), cuplată prin SDAC. Prețul de închidere al zonei de ofertare RO publicat pe Platforma de Transparență ENTSO-E este prețul oficial cuplat (= prețul PZU OPCOM).
- Oglinda de acces: interfața Fraunhofer ISE energy-charts (api.energy-charts.info), care republică datele de transparență ENTSO-E cu rezoluția nativă a unității de piață. Folosită fiindcă oferă acces HTTPS reproductibil fără cheie.
- Validarea: mediile aritmetice anuale sunt verificate contra mediilor anuale oficiale din rapoartele OPCOM (toleranță 0,15 €/MWh). Build-ul eșuează dacă ancorele nu se reproduc. Tabelul de mai jos este completat din manifestul livrat:
| An | Media oficială OPCOM (€/MWh) | Media procesată (€/MWh) | Diferență | Verdict |
|---|---|---|---|---|
| Se încarcă din manifest… | ||||
Alte surse, în ordinea ierarhiei: studiul de fundamentare CNSP 2019 / materialul ISPH încorporat (parametri tehnici istorici); raportările reglementate Hidroelectrica/BVB și comunicatele EDF (statutul proiectului); Transelectrica (capacitatea BESS instalată); evaluarea strategică de mediu SEA 2019 (Natura 2000, amprentă istorică); cadrul NREL ATB 2024 pentru baterii (randament, viață, O&M — fără atribuire de LCOS); studiul WWF România 2026 ca sursă tehnică secundară modernă.
2. Rezoluție de timp
Modelul păstrează unitatea istorică de timp a pieței (MTU): orară până la ziua de livrare 30 septembrie 2025, inclusiv; sfert-orară din ziua de livrare 1 octombrie 2025 (punerea în funcțiune SDAC a MTU de 15 minute). Nu se fabrică date sfert-orare pentru anii anteriori. Testul automat TEST 3 respinge orice interval de 15 minute înainte de 1 octombrie 2025.
3. Fus orar / DST
Toate intervalele sunt datate în Europe/Bucharest (ora pieței). Zilele de tranziție la ora de vară/iarnă nu sunt normalizate:
- pre-15-minute: zi obișnuită 24 intervale; primăvară 23; toamnă 25;
- post-15-minute: zi obișnuită 96 intervale; primăvară 92; toamnă 100.
TEST 4 verifică fiecare zi de tranziție 2019–2026 (de ex. 2024-03-31 → 23; 2024-10-27 → 25; 2025-10-26 → 100; 2026-03-29 → 92).
4. Unități de preț
Toate prețurile sunt în EUR/MWh, prețuri de închidere PZU/spot. Energia în MWh (sau GWh/TWh unde se precizează), puterea în MW, volumele în m³, debitele în m³/s.
5. Definiția stării de stocare
Pentru modelul public de piață folosim o stare de energie stocată echivalent-energie livrabilă (output-equivalent):
SoC[t] = MWh de electricitate ce pot fi livrați ulterior în rețea din starea curentă a apei stocate, în ipotezele simplificate ale modelului.
cu 0 ≤ SoC ≤ 13.100 MWh, 0 ≤ Ppompă ≤ 1.000 MW, 0 ≤ Pgen ≤ 1.000 MW, iar Ppompă și Pgen nu sunt niciodată simultan pozitive în același interval (verificat: TEST 7).
6. Convenția RTE
Alocarea întregii pierderi de ciclu complet pe ramura de încărcare este o convenție de modelare declarată, preferabilă inventării unei perechi separate de randamente pompă/turbină pentru care documentația nu oferă valori robuste. Trei cazuri selectabile:
- 78,4% — raport documentat al proiectului istoric (1.649,46 / 2.103,33 GWh, CNSP 2019 / ISPH);
- 76,2% — alternativă documentată (scenariu WWF 2026);
- 72% — stres conservator de modelare (ipoteză de scenariu, nu randamentul declarat al Tarniței).
Ecuația pragului de rentabilitate: preț-descărcare [EUR/MWh] ≥ preț-cumpărare / RTE. TEST 5 verifică: 100 MWh pompați la preț zero cu RTE 78,4% dau exact 78,4 MWh livrabili — nicio rotunjire întreagă nu-i transformă în 50 sau 100 MWh.
7. Limite de putere
Configurația documentată: patru grupuri reversibile de 250 MW. Dispecerizarea modelului principal folosește trepte de 250 MW (0 / 250 / 500 / 750 / 1.000 MW), separat pe pompare și generare — transparent și coerent cu granularitatea grupurilor. Puterea de pompare este o ipoteză agregată de 1.000 MW electric (ancoră documentată: max. 258 MW absorbiți/grup, valoare informativă istorică, nu garantată). Modelul abstractizează curbele pompă/turbină dependente de cădere.
8. Derivarea capacității de stocare
Plafonul de energie al modelului este derivat din volumul util, debitul maxim și puterea proiectului:
Parametru simplificat de model, marcat ca atare — nu rating electric oficial. Durata hidraulică corespunzătoare (13,10 h la debit maxim documentat) este o intuiție fizică, nu o durată de stocare certificată.
9. Optimizarea dispecerizării
Simulare cronologică pe întreg orizontul 2019–2026 într-o singură rulare continuă (SoC reportat peste zile/săptămâni/ani; fără cicluri zilnice izolate cu lac gol în fiecare dimineață). Optimizator: programare dinamică descendentă exactă pe o grilă SoC de 25 MWh cu interpolare liniară a funcției de valoare și derulare (rollout) în virgulă mobilă exactă — fără rotunjiri întregi ale stării (clasa de bug din v1.0 este structural absentă). Egalitățile se decid determinist (repaus, apoi putere mai mică, generarea înaintea pompajului la putere egală). Rezultatul este limita superioară cu previziune perfectă: maximul de arbitraj PZU disponibil cu vederea perfectă a trecutului sub constrângerile declarate.
Zilele jocului folosesc același model (aceeași contabilitate, același RTE selectat, același plafon), optimizate standalone cu frontieră neutră 0 → ≤75 MWh — necesar pentru o zi jucabilă. Câștigul realizat de programul publicat este valoarea raportată; acordul său cu valoarea de referință interpolată V₀(0) a programării dinamice pe grilă — o verificare încrucișată independentă, nu o margine dovedită — este verificat automat (toleranță relativă 0,1%; observat sub 0,02% pe toate cele trei cazuri).
10. Condiția inițială/finală SoC
SoC inițial = 0 (fără energie gratuită). SoC final ≤ 75 MWh, neevaluat: apa rămasă nu primește niciun credit valoric (este o pierdere pură de partea centralei, ≤0,004% din rulajul anual). TEST 8 verifică: marja = venituri − costuri exact, fără termen de creditare; pe prețuri perfect plate, optimul este repausul exact (marjă 0).
11. Agregarea anuală
- preț mediu = medie ponderată cu durata intervalelor cu preț;
- spread mediu zilnic = media pe zilele de livrare a (max − min) zilnic;
- EFC (cicluri echivalente complete) = energie descărcată / 13.100 MWh;
- utilizare [%] = descărcat / (1.000 MW × orele perioadei) × 100;
- concentrația venitului: intervalele cu preț ordonate descrescător după venitul din generare pe interval; ponderea venitului anual din generare câștigată în top 1/5/10% (mărginită în [K%, 100%]);
- episoade de generare/pompare = blocuri maximale contigue de intervale active.
Mediile multianuale folosesc doar anii compleți 2019–2025; 2026 YTD este prezentat separat, niciodată mediat.
12. Haircut-ul de captură
Cursor ilustrativ 50–100%, implicit 100%. Nu este o estimare de acuratețe a prognozei: întreabă cum se schimbă rezultatul dacă operatorul captează doar X% din valoarea optimă ex-post.
13. Sensibilitatea la compresia spread-ului
Cursor 0–40%, implicit 0%. Sensibilitate de scenariu, nu estimare a impactului de echilibru al Tarniței asupra prețurilor: reclearing-ul pieței ar necesita modelarea cererii–ofertei și de rețea/sistem. Combinat: marjă × captură × (1 − compresie).
14. Formula de recuperare a capitalului
Test simplificat de recuperare anuală a capitalului — nu model bancabil lender-grade. Vezi secțiunea 15 pentru ce lipsește.
15. Veniturile excluse
Modelul nu cuantifică niciun leu din: optimizarea intrazilnică; venituri din piața de echilibrare; produse de rezervă; servicii auxiliare/de sistem; contracte de tip disponibilitate/capacitate; aranjamente bilaterale/contractuale. De aceea diferența calculată se numește „necesar anual de venit rămas neacoperit în model”, niciodată automat „subvenție necesară”.
16. Metoda comparației BESS
Frontiera LCOS compară, pe fiecare (durată h, cicluri/an c), LCOS-ul modelat al unei baterii LFP cu cel al hidrocentralei, pe o frontieră consecventă:
- aceeași monedă (EUR), aceeași rată de actualizare ca testul de capital (ambele părți), același preț al energiei de încărcare (prețul mediu de pompare derivat din simulare, cazul RTE selectat);
- baterie: RTE 85% AC–AC, viață min(15 ani, 4000/cicluri-an), O&M fix 2,5% din CAPEX incluzând augmentarea (cadru NREL ATB 2024); costurile urmează traiectoria ilustrativă din assumptions.json (ani-ancoră 2026/2030/2035/2040/2050, interpolare liniară, fiecare an 2026–2050 rezolvat explicit);
- hidro: CAPEX și OPEX din cursoarele paginii, viață financiară 60 ani, RTE din cazul selectat, debit energetic c × 13,1 h × 1.000 MW;
- markerul Tarnița: (13,1 h derivate, EFC mediu simulat 2019–2025, cazul selectat).
NREL ATB declară explicit că nu calculează LCOS pentru baterii; LCOS-ul de aici este calculat în acest model și nu este atribuit NREL sau BNEF. „LCOS modelat mai mic” nu este un clasament tehnologic complet: LCOS nu prețuiește toate serviciile de sistem.
17. Metoda incertitudinii/sensibilității
Determinist, mai întâi: secțiunea „Ce ar schimba concluzia?” calculează praguri exacte din matematica modelului (CAPEX maxim compatibil, venit suplimentar necesar, WACC de echilibru prin bisecție, captură de echilibru). Laboratorul de incertitudine: 1.000 de trageri Monte Carlo din distribuții uniforme cu intervale setate și vizibile integral pe ecran (CAPEX, WACC, durată execuție, marjă anuală, OPEX); CAPEX eșalonat pe construcție, 40 de ani de operare; seed determinist cu opțiune explicită de reeșantionare. Rezultatul raportat este „ponderea tragerilor cu VAN > 0 în distribuțiile selectate” — niciodată o probabilitate estimată a lumii reale.
18. Limitări cunoscute
- Previziunea perfectă este o limită superioară, nu o prognoză de operare; captura realizabilă este necunoscută și parametrizată ca sensibilitate.
- Fără reclearing de piață: la 1.000 MW, centrala și-ar muta propriile prețuri de cumpărare/vânzare; compresia este doar o sensibilitate.
- Fără curbe hidraulice (cădere, randamente pe grup), fără pierderi de pornire/oprire, fără indisponibilități și mentenanță planificată.
- Fără rețea de transport, fără congestii, fără risc geotehnic și fără EIA de proiect.
- Testul de capital nu este o structură de finanțare: fără grafic de trageri, dobândă pe construcție, datorie/capital, taxe, refinanțare, rezerve sau depășiri de cost.
- Parametrii tehnici istorici pot să nu coincidă cu proiectul final EDF/Hidroelectrica.
19. Data-limită a datelor
Acoperire: 2019-01-01 → … (ultima zi de livrare completă). 2026 este YTD (259 zile) și este marcat vizibil oriunde apare. Goluri marcate în sursă (fără interpolare; centrala stă pe repaus forțat cu SoC reportat):
- Se încarcă din manifest…
20. Versiunea modelului
Model v1.1.0 — actualizare de metodologie și integritate a datelor (17 septembrie 2026). Istoricul complet: butonul „Ce s-a schimbat?” din subsolul paginii principale.
21. Fișiere de reproducere
- scripts/fetch_opcom.mjs — calea reproductibilă de descărcare a seriei de intervale;
- scripts/process_opcom.mjs — procesare, datare Europe/Bucharest, ancore OPCOM;
- scripts/model.mjs — fizica stocării + optimizatorul (programare dinamică);
- scripts/backtest.mjs — rularea cronologică continuă pe 3 cazuri RTE;
- scripts/select_days.mjs — selecția deterministă a celor 4 zile reale;
- scripts/write_public.mjs — scrierea ieșirilor livrate;
- scripts/tests.mjs — testele tari TEST 1–13 (build-ul eșuează dacă pică);
- public/data/{backtest-annual,representative-days,assumptions,data-manifest,methodology,hero}.json + CSV anual.
Seria completă de intervale nu este redistribuită din motive de licență a oglinzii; oricine o poate reconstrui cu scripturile de mai sus și poate verifica ancorele din secțiunea 1.