User:Lebm05

From Simulace.info
Revision as of 21:57, 15 June 2025 by Lebm05 (talk | contribs) (Soubor)
Jump to: navigation, search

autor: Michal Lebeda


Definice problému

Elektrárna na zemní plyn generuje pouze pokud je tzv. spark spread kladný, tedy pokud jsou náklady na výrobu MW nižší než možný zisk (spotová cena elektřiny). Dalším důležitým parametrem je rump-up time, tedy čas, za jaký je schopná plynová elektrárna naběhnout do plného výkonu (v kterém zůstane, dokud to dovolí spark spread). Efektivně tedy jde o binární dodávku, buďto elektrárna jede na plný výkon nebo na nulový (krom chvvilkové rump-up křivky). Posledním důležitým parametrem je účinnost převodu plynu na el. energii, typicky 30-55%.

Některé typy elektráren se podílejí na celkovém generování velice málo, případně jen v některá časová rozmezí, jako například solární a větrné. Tyto typy elektráren by mohlo být možné nahradit elektrárnou spalující zemní plyn.


Data

Veškerá zpracovaná data jsou od roku 2017-2024 (včetně), a obsahují tedy i cenové a jiné výkyvy, v závislosti na rozpoutaném konfliktu.


Spotřeba a generování

Pro simulaci byla potřeba data o spotřebě a počtu generovaných MW dle typu elektrárny. Tato data jsem stáhl z https://transparency.entsoe.eu/dashboard/show. Stránka nabízí stažení balíku ročních dat ve formátu CSV, takže bylo snažší. Jediný problém představovala skutečnost, že starší data měla rozlišení hodinu, zatímco novější 15 minut. Data jsem proto lineární interpolací upscaloval na 15m. Také se u některých zdrojů vyskytoval null hodnoty, typicky pro zdroje, které v ČR nemáme (mořské větrné elektrárny atd). Jinde se vyskytovaly null hodnoty způsobené sběrem dat či jinou chybou, které jsem rovněž lineární interpolací doplnil z okolních hodnot, ale bylo jich poměrně málo. Další zpracování bylo zaměřeno na parsování datumů, které naštěstí byly v UTC.


ČR: Generování a spotřeba elektřiny

Spotová cena plynu a elektřiny

Tato data jsem stáhl z https://www.ote-cr.cz/en/short-term-markets/electricity/intra-day-market a proces byl mnohem náročnější. Předně stránka nedovoluje stáhnout balík ročních dat, a proto jsem musel pomocí Python scriptu data tzv “vyscrapovat”. Dále bylo nutné podobně jako u spotřeby a generování interpolovat chybějící hodnoty. Největší problém bylo (české) časové pásmo u timestampů, protože některé dny, kdy dochází ke změné mezi letním a zimním časem, měly 25 hodin.

ČR: Spotové ceny

Modelový týden

Původně jsem veškerá data chtěl importovat do Vensim, bohužel se ukázalo, že verze PLE neumí importovat soubory .xlsx, .csv, ani jiné. Nicméně jsem objevil možnost, jak toto omezení částečně obejít. Místo importu dat jsem použil LOOKUP proměnnou, kdy jsem si pomocí Python scriptu nakopíroval do schránky v požadovaném formátu páry čas-hodnota a následně je paste tlačítkem v prostředí Vensim PLE hromadně vložil do tabulky. Bohužel jsem zjistil, že původní datasety (200 000+ řádků) tímto způsobem importovat nelze. Dokonce i 10 000 řádků vedlo k zamrznutí programu než nakonec spadl.

Z tohoto důvodu jsem vytvořil modelový týden agregací historických dat podle trojice (den v týdnu, hodiny a minuty). Nevýhodou je, že se tím zahladily anomálie 2022-2023, bohužel jsem ale jiné řešení nenalezl.

Ze struktury zdrojů lze vidět, že solární elektrárny napomáhají peak hours, oproti tomu větrné nejsou pořádně ani vidět. Převládá jádro a hnědouhelné elektrárny.

![Modelový týden: spotřeba & dodávky dle typu][model_week_generation.png]

![Modelový týden: Spotová cena elektřiny & zemního plynu][model_week_prices.png]


Modely

Pro simulaci změny spotové ceny plynu a elektřiny, v závislosti na generování dodatečnými elektrárnami, jsem zvolil lineární model, který jsem natrénoval na historických datech. Oba modely pracují s diferencemi (rozdíly v rámci 15m intervalů), tedy skoky hodnot, aby šly použít při simulaci.

Modely jsem zkoušel fitovat jak na agregovaných, tak neagregovaných datech. Na neagregovaných datech (2017-2024 včetně) modely trpěly na nezahlazené outliery z období 2022-2023. Nakonec jsem tedy použil data z modelového týdne.


Model ceny plynu

Pro model ceny plynu jsem jako vstupní proměnnou uvažoval nepřímo zjištěnou spotřebu přes úroveň generování elektráren na zemní plyn.

Parametry:

  • Intercept: -3.4551033181729914e-06
  • Sklon: 1.442057491733879e-05

Zdá se, že parametry nejsou příliš významné. Na obrázku níže lze také pozorovat velké množství outlierů, které vznikly převážně v letech 2022-2023.


Delta spotřeby na cenu zemního plynu

Model ceny elektřiny

Model ceny elektřiny jsem udělal obdobně, pouze jsem jako vstupní proměnou použil deltu přebytku generované energie.

Parametry:

  • Intercept -0.0011127649462628903
  • Sklon: -0.017021461696885152

Zde vyšla hodnota, která se mi nezdá úplně nevýznamná a hlavně čím vyšší je přebytek, tím cena klesá, což dává smysl.


Vztah rozdílu přebytku energie a spotové ceny

Vensim model

Pro finální simulace jsem zvolil program Vensim PLE, protože v simulaci se neřeší prostorové vazby ale pouze celkové vztahy.

Jak již bylo řečeno, data modelového týdnu jsem do programu importoval pomocí LOOKUP proměnných. Informace o generování z jednotlivých zdrojů jsou slučována do proměnných (Fossil a Hydro), v kterých pomocí nastavitelných konstant lze simulovat úbytek tohoto zdroje. Stejně tak lze omezit zdroje Solar a WindOnshore. Některé zdroje by bylo možné sloučit již v předzpracování dat, nicméně vysoká granularita vstupů umožňuje bližší analýzu a možnost rozšíření do budoucna.


Vensim model


Konstanty

  • WindOnshoreRatio - kolik % z historického generování větrných elektráren použít pro simulaci
    • default: 1 (100 %)
  • SolarRatio - kolik % z historického generování solárních elektráren použít pro simulaci
    • default: 1 (100 %)
  • AllFossilRatio - kolik % ze historického generování všech typů elektráren na fosilní paliva použít pro simulaci
    • default: 1 (100 %)
  • AllHydroRatio - kolik % ze historického generování všech typů vodních elektráren použít pro simulaci
    • default: 1 (100 %)
  • GasRumpupTime - Za jak dlouho plynová elektrárna naběhne do plného výkonu
    • default: 30min (na základě předmětu 1BP437 Analýza trhů energetických komodit), posuvníkem lze volit mezi 15-50 min
  • AdditionalGasOutputPower - Kolik dodatečná plynová elektrárna dodá MW/h, tento parametr je předmětem experimentu. Jelikož lze postavit prakticky jakkoli velká elektrárna s jakýmkoli výkonem (pokud to je ekonomicky únosné), nepřepočítával jsem na kusy nýbrž zjišťoval celkovou hodnotu tohoto výkonu.
    • default: 1000, ale ukázalo se, že na výsledek nemá příliš vliv, pokud není hodnota příliš nízká. Od určité hodnoty již nemá význam.
  • GasConversionRatio - Jak efektivně elektrárna převádí plyn na elektřinu
    • default: 45 % (opět se odkáži na předmět Analýza trhů energetických komodit), pohybuje se mezi 30-55 % u nejmodernějších elektráren


Důležité proměnné

  • GenerationDelta - Nedůležitější promněná, která říká, zda je v síti přebytek nebo nedostatek (pak hrozí blackout)
  • DemandAdjustedGasPrice - Jedná se o spotovou cenu z modelového týdne s přidanou složkou reagující na změnu poptávky podle již zmíněného lineárního modelu
  • SupplyAdjustedElectricityPrice - Spotová cena z modelového týdne s přidanou složkou reagující na navýšení objemu při generování plynovou elektrárnou, opět pomocí lineárního modelu (viz výše)
  • AdditionalFossilGas - Kolik generuje simulovaná dodatečná plynová elektrárna (na základě spark gapu a konstant výše)

Velké množství ostatních proměnných má úlohu zdroje dat, či kombinaci parametrického poměru a těchto dat.

Experimenty

Vzhledem k vysokému podílu hnědouhelných elektráren a jádra nemá smysl tyto zdroje nahrazovat. Větrné elektrárny generují naopak tak malé množství energie, že by se nic nestalo, kdyby se nepoužívaly.

Proto jsem se primárně rozhodl zkusit nahradit solární elektrárny.


Nahrazení solárních elektráren

Parametry:

  • SolarRatio = 0
  • AdditionalGasOutputPower = 1000
  • GasConvertionRatio = 0.45
  • GasRumpupTime = 30min

Simulace ukázala, že by docházelo k výpadkům (viz záporné hodnoty v GenerationDelta) a to dokonce nezávisle na celkovém novém výkonu, protože elektrárna nebyla schopná dostatečně rychle nastartovat.


Výsledek experimentu

Nahrazení solárních elektráren plynovou elektrárnou s hypotetickou 100% účinností

Vyzkoušel jsem i hypotetickou situaci, kdy elektrárna běží se 100% účinností (GasConvertionRatio=100) Parametry:

  • SolarRatio = 0
  • AdditionalGasOutputPower = 1000
  • GasConvertionRatio = 1.00
  • GasRumpupTime = 30min

Elektrárna nyní běžela většinu času, ale o víkendu kvůli zápornému spark gapu nezvládne dodávat. Opět platí, že celkový výkon na tento výpadek nemá vliv.


Výsledek experimentu


Nahrazení solárních elektráren plynovou elektrárnou s hypotetickou 100% účinností a 15min rump-up časem

Ukázalo se, že ani nerealistická elektrárna s 100% účinností a pouze 15min rump-up časem (kterého lze dosáhnout při použití moderních technologií) nepomůže nedělnímu propadu, protože pro elektrárnu není ekonomicky výhodné generovat elektrickou energii (nezávisle na celkovém výkonu).

Parametry:

  • SolarRatio = 0
  • AdditionalGasOutputPower = 1000
  • GasConvertionRatio = 1.00
  • GasRumpupTime = 15min

Výsledek experimentu


Závěr

Simulace ukázala, že solární elektrárny nelze nahradit elektrárnami na zemní plyn, protože během neděle pro ně není výhodné generovat elektrickou energii. Během práce na projektu jsem zjistil spoustu věcí o naší energetické síti a složkách různých zdrojů, podílejících se na generování. Díky tomu mne projekt obohatil i o jiné znalosti, než vytváření simulací.

Zdroje

Soubor

File:Lebm05-simulace.zip