Bengt J. Olsson
LinkedIn: beos
X/Twitter: @bengtxyz
VAD ÄR VATTNET VÄRT?
Ett gaskraftverk vet vad nästa megawattimme kostar: gaspriset delat med verkningsgraden. Ett vattenkraftverk vet det inte. “Bränslet” vatten föll ju ner gratis, som regn. Men det är inte gratis att använda. Varje megawattimme som produceras i juni är en som inte finns kvar i januari. Kostnaden är inget man betalar, utan något man avstår. Den heter vattenvärdet, och den är den enda substantiella kostnad vattenkraften har. Blir den fel blir priset fel, för vattenkraften är ofta den som sätter priset.
En bra definition på vattenvärde: Vattenvärdet är priset på det bästa alternativa tillfället att sälja, arbitrerat till jämvikt och betingat av hur långt lagret räcker. Den senare delen pekar på att lagernivåerna är viktiga.
Expansion vs Dispatch
NordPSA har två sorters körningar för att beräkna ett scenario. Först en “expansion”, vilket är en investeringsoptimering som bestämmer hur mycket som ska byggas av varje produktionsresurs för att möta det framtida behovet. Expansionen har perfekt framsyn, dvs den optimerar systemet med full vetskap om allt som kommer att hända under de tre år vi simulerar. Framsynen är ok när det gäller saker som konsumtion t ex, vi kan ganska väl förutspå den. Men resurser som kan omfördelas i tiden är mer problematiska. Typiskt vattenkraft med reservoarer, med perfekt framsyn vet modellen hur stort inflöde vi har till magasinen under hela simuleringsperioden, och kan därför fördela vattenkraftsproduktionen på ett optimalt sätt. Men i verkligheten vet operatören inte om vårfloden blir svag eller om konsumtionen till hösten stiger på grund av kyligare väder etc.
Därför, när vi gjort en expansionskörning så låser vi kapaciteterna och kör en sk “dispatch” körning som löser optimeringsproblemet en vecka i taget med tre veckors framförhållning, lite grand som en verklig producent tvingas göra. När veckan är slut ligger det vatten kvar i magasinet, och utan ett pris på det så skulle magasinet tömmas varje söndag (eftersom vattnet är gratis). Vattnets “pris” eller “marginalvärde” ges i modellen av den här funktionen:
Vattenvärdesfunktion
λ(v, x) = λ_bas · A(v) · e^(−b(v) · (x − x_ref(v)))
där v är veckan och x fyllnadsgraden (nedan också per zon, z). Den har fyra delar:
- Nivå
- Säsong
- Normalbana
- Avvikelsevärde
Notera att λ inte är värdefunktionen i sig. V(x) är det totala värdet av vattnet som funktion av fyllnadsgraden, och λ är dess derivata, ∂V/∂x. λ är alltså marginalvärdet av att tillföra ytterligare en MWh till reservoaren. Men det är V som går in i optimeringen; att λ faller med fyllnadsgraden gör V konkav, vilket är vad som får modellen att fylla de värdefulla nivåerna först.
Det är en väldigt förenklad funktion av något som vattenkraftsföretagen spenderar stora resurser på att ta fram i fråga om väderprognoser, historiska utfall, omvärldsanalyser med mera. Syftet i NordPSA är att ha en vattenvärdesmodell som är någorlunda begriplig, och inte har för många parametrar. Helt kort kan man säga att den beskriver en funktion som värderar vattnet beroende på årstid (säsong) och avvikelse från den “normala” reservoarnivån.
Nedan beskrivs de ingående komponenterna.
λ_bas — NIVÅN, 73 EURO PER MEGAWATTIMME
Vad vatten är värt vid normal fyllnad. Talet är avläst, inte trimmat: låter man modellen se alla tre åren på en gång blir vattenvärdet ett skuggpris i lösningen, och det landar på 73 i samtliga fem elområden och samtliga 13 152 timmar. Samma i norr som i söder — med ett utbyggt nät konkurrerar alla zoners reservoarer om samma timmar, så arbitraget jämnar ut värdet.
A(v) — SÄSONGEN

Formen är en summa av två sinusfunktioner: en årscykel plus en halvårscykel. Toppen ligger i vecka 1–5, botten kring vårfloden. Utslaget är ungefär ±20 procent, från knappt 58 till nära 87 EUR/MWh beroende på zon. Med sinusfunktioner centrerade runt 73 så ändras inte medelvärdet när amplituden justeras, kurvan bara omfördelar värdet under året.
x_ref(v) — NORMALBANAN
Fyllnadsgraden mäts mot vad som är normalt just den veckan, anpassat mot tolv års uppmätta magasinnivåer.
b(v) — SVARET PÅ ATT LIGGA FEL

Brantheten mot fyllnadsgraden. Exponentialen gör värdefunktionen konkav, vilket får optimeringen att fylla de värdefulla nivåerna först helt av sig själv.
b är mätt som en elasticitet i observerad data: elva år av veckovisa magasinnivåer och elpriser, med en egen konstant per år som äter upp prisnivån och säsongstermer som äter upp årsgången. Kvar står frågan om elen var dyrare de veckor magasinet råkade ligga under sin egen normalbana.
Kalibrering
Kurvan har tre frihetsgrader, och alla tre är globala — ett värde var, samma i alla fem elområden: nivån, brantheten och en skala på
säsongsamplituden. Två av dem är mätta, den tredje anpassad mot vattenkraftens observerade vinter/sommar-kvot.
Elområdena skiljer sig bara i form och tidpunkt, säsongens och branthetens faser, och normalbanan. De delarna är låsta.
I den rullande dispatchkörningen justeras nivån några enheter per elområde för att lagret inte ska vandra i väg och sluta för högt eller lågt, men det
är en ren driftkorrigering, inte en värdering.
HUR DEN VERKAR
I den rullande körningen används funktionen i varje veckoslut, som ett pris på det vatten som blir kvar. I investeringskörningen används bara λ_bas · A(v): marginalkostnaden måste vara exogen per tidssteg, annars är problemet inte längre linjärt.

Resultatet är ett vattenvärde som svänger mellan drygt 40 och 130 euro. Ingen har skrivit in den svängningen — den uppstår när säsongen multipliceras med avvikelsen från det normala.

Provet är hur magasinbanan faktiskt föll ut. Modellens svenska magasin ligger innanför det observerade normalspannet 94 procent av veckorna och bottnar kring fem terawattimmar av 32.5, som verkligheten.
En sak att vara medveten om: normalbanan är anpassad mot hur de nordiska magasinen faktiskt har körts de senaste tolv åren. Modellen förutsätter alltså att reservoarerna även 2040 sköts ungefär som idag, med samma säsongsrytm. Lagernivåerna i utfallet avspeglar det antagandet lika mycket som de prövar det.
Det som däremot inte är antaget är avvikelserna: hur långt modellen tillåts vandra från banan, när på året, och vad det kostar. Det avgörs av brantheten, och den är mätt oberoende.
