Stand: 07.06.2026
Das Gasspeicher Dashboard ist ein privates, nicht-kommerzielles Informationsangebot. Es wird unabhängig und neutral bereitgestellt. Es besteht keine organisatorische, wirtschaftliche oder sonstige Verbindung zu Gas Infrastructure Europe (GIE), der Bundesnetzagentur oder anderen Datenanbietern.
Ziel ist eine transparente, nachvollziehbare und möglichst aktuelle Darstellung veröffentlichter Daten in einer zentralen, visuell aufbereiteten und interaktiven Oberfläche – jeweils entsprechend der Aktualität und Verfügbarkeit der verwendeten Datenquellen.
Die angezeigten Werte werden automatisiert aus den jeweiligen Originalquellen übernommen und für die Darstellung gegebenenfalls gerundet.
Die Daten werden fortlaufend aktualisiert und basieren auf dem jeweils verfügbaren Stand der Quellen. Für fehlerhafte oder unvollständige Angaben übernimmt diese Seite keine Verantwortung. Maßgeblich sind die Originalveröffentlichungen der jeweiligen Datenanbieter.
Für die Stromerzeugung aus Erdgas werden im Dashboard Daten bis zum letzten vollständig erfassten Tag angezeigt. Die vollständige Erfassung erfolgt in der Regel mit etwa 2 Stunden Verzögerung.
Für den europäischen Gaspreisindikator wird der öffentliche MIBGAS-PVB-Day-Ahead-Wert (Produkt GDAES_D+1) aus der Jahresdatei übernommen. Die Daten werden fortlaufend aktualisiert; maßgeblich ist die Originalveröffentlichung von MIBGAS.
Der Dutch TTF ist lizenzpflichtig; daher wird hier MIBGAS als frei verfügbare Alternative verwendet.
Die 14-Tage-Prognose wird im Chart „Verlauf Gasspeicher Füllstände“ eingeblendet und zeigt eine modellbasierte Kurzfristprojektion des aggregierten Speicherfüllstands in Deutschland. Vereinfacht gesagt: Das Modell nimmt den Durchschnitt der letzten 7 Tage als Ausgangsbasis und verschiebt ihn für jeden Prognosetag je nach erwarteter Temperatur sowie erwarteter Wind- und Solarverfügbarkeit nach oben oder unten. Sie dient der Einordnung wahrscheinlicher Richtung und Größenordnung und ist keine amtliche oder offizielle Prognose.
Die Logik in 4 Schritten:
Wichtige Einordnung: Die im Tooltip ausgewiesene Kennzahl „Gasbedarf Strom“ ist der absolute Tageswert des modellierten Gas-Proxys in GWh/Tag. Für die Prognose zählt jedoch nicht der absolute Wert allein, sondern die Abweichung zur 7-Tage-Basis.
Mit „wetterbedingter Zusatzkorrektur“ ist daher immer die tägliche Abweichung gemeint, die den 7-Tage-Basistrend nach oben oder unten verschiebt - nicht der absolute Tageswert allein.
Backtest der 14-Tage-Prognose:
Getestet wurde jeweils die Abweichung am 14. Prognosetag im Vergleich zum später tatsächlich erreichten Füllstand.
Im Backtest für Forecast-Starts von 1. Oktober 2025 bis 15. Februar 2026 lag die durchschnittliche Abweichung der wetterangepassten 14-Tage-Prognose am Tag 14 bei 1,57 Prozentpunkten, basierend auf 138 Forecast-Starts. Ein reiner Basistrend, der nur die durchschnittliche 7-Tage-Nettoänderung fortschreibt, lag im Vergleich bei 2,52 Prozentpunkten.
Im Backtest für Forecast-Starts von 1. Februar 2026 bis 15. Februar 2026 lag die durchschnittliche Abweichung der 14-Tage-Prognose am Tag 14 bei 0,43 Prozentpunkten, basierend auf 15 Forecast-Starts. Beim reinen Basistrend betrug sie im gleichen Zeitraum 3,15 Prozentpunkte.
Besonders bei fortlaufenden Temperaturänderungen und wechselnden Wetterlagen ist die Prognose mit Berücksichtigung von Heizgradtagen und Gasproxy (Erdgasenergiebedarf) einem reinen Basistrend überlegen, da sie wetterbedingte Änderungen beim Heizbedarf und beim wahrscheinlichen Erdgasenergieeinsatz im Stromsektor besser abbildet.
Verbleibende Abweichungen entstehen vor allem dann, wenn sich die Nettoimporte innerhalb des 14-Tage-Zeitraums kurzfristig deutlich verändern. Solche Änderungen sind aus dem Ausgangsbild der letzten 7 Tage nur begrenzt vorhersagbar. Innerhalb der mit den verfügbaren Eingangsdaten abbildbaren Einflussfaktoren arbeitet das Modell im Backtest damit insgesamt robust; bei relativ stabilen Nettoimporten liegt die Prognose typischerweise besonders nahe am später tatsächlich erreichten Füllstand.
Der Tageswert der Prognose ergibt sich aus Basistrend + wetterbedingter Zusatzkorrektur. Die wetterbedingte Zusatzkorrektur besteht aus einem Temperaturbeitrag und einem Stromsektor-Beitrag. Erst danach wird über den Speicheranteil (ShareIn / ShareOut) bestimmt, wie viel davon plausibel direkt im Speicher sichtbar wird.
Hinweis zu Konstanten: Die festen Modellparameter sind bewusst als robuste Kurzfristlogik gewählt und anhand von Backtests auf historische Perioden plausibilisiert bzw. feinjustiert. Ziel ist keine physikalisch vollständige Systemabbildung, sondern eine nachvollziehbare, stabile und plausibilisierte Kurzfristprojektion.
Hinweis: clamp(...) bedeutet „auf einen Bereich begrenzen“
(z. B. 0 bis 1 oder 0 % bis 100 %).
| Konstante | Wert(e) | Begründung / Einordnung |
|---|---|---|
| Wochentagsgewichtung | Mo–Do 1,06 · Fr 1,02 · Sa 0,85 · So 0,77 | Leitet typische Tagesmuster im Speicherbetrieb ab; der Wochendurchschnitt bleibt näherungsweise bei 1,00. Gilt für Ausspeicherung. Bei Einspeicherung wird die Logik um 1 gespiegelt: 2 − Gewicht. |
| DOW-Vollwirkungsschwelle | 0,10 %-Punkte/Tag | Unterhalb davon wird die Wochentagswirkung weich Richtung 1,00 gedämpft; ab diesem Betrag greift sie voll. |
| HDD-Basis | 18 °C | Etablierte Referenztemperatur, um Temperaturänderungen in einen robusten Heizbedarfs-Proxy zu übersetzen. |
| Temperatur-Koeffizient | −0,0625 %-Punkte je 1 HDD Abweichung | Kalibriert den Temperaturbeitrag so, dass er den Basistrend sinnvoll ergänzt, aber nicht dominiert. |
| Kälte-Boost | Start bei +2 °C · voller Boost bei −8 °C · max +35 % | Bildet ab, dass der Heizbedarf in Frostlagen häufig überproportional steigt; der Effekt bleibt bewusst gedeckelt. |
| Solarer Entlastungseffekt | max 0,05 | Kleiner Korrekturfaktor für passive solare Wärmegewinne; wirkt nur in echter Heizlage und nur entlastend. |
| Konstante | Wert(e) | Begründung / Einordnung |
|---|---|---|
| Wind-Normalisierung | (Wind − 2,6) / 3,4 | Normiert die tägliche mittlere Windgeschwindigkeit in einen Score von 0 bis 1. |
| Solar-Normalisierung | Shortwave / 16 | Skaliert die tägliche kurzwellige Strahlung in einen Score von 0 bis 1; dient als Tages-Proxy, nicht als Ertragsmodell. |
| Solar-Saisonalität | min 0,80 · neutral 1,00 · max 1,20 Maximum 20.06. · Minimum 21.12. |
Moduliert ausschließlich den Solar-Anteil des Erneuerbaren-Index entlang einer glatten Jahreskurve. Dadurch wird berücksichtigt, dass dieselbe kurzwellige Strahlung je nach Jahreszeit unterschiedlich zu bewerten ist; das bildet die Wirkung von Tageslänge und jahreszeitlich typischer Solarverfügbarkeit ab, ohne den Wind-Anteil zu verändern. |
| Mix-Gewichte Wind/Sonne | 0,55 / 0,45 | Wind ist leicht dominant, Solar liefert zusätzliche Tages-/Saisonalitätsinformation. |
| Rand-Kompression des Erneuerbaren-Index | 0,40 | Staucht die Ränder zur Mitte hin. Dadurch werden Extremwerte später erreicht, ohne die Grenzen 0 und 1 grundsätzlich aufzuheben. |
| renIdx-Schwelle für Sättigung | ≤ 0,02 (nach Kompression) | Bei nahezu fehlender Wind-/Solarverfügbarkeit wird direkt die obere Plausibilitätsgrenze des Gas-Proxys gesetzt. |
| Proxy-Krümmung | (1 − renIdx)3,2 | Steile Knappheitskurve: Bei wenig Wind und Sonne steigt der Gas-Proxy deutlich überproportional. |
| GasProxy_Gain | 1,15 | Technischer Anpassungsfaktor des Gas-Proxys. Bei 1,15 werden Abweichungen oberhalb der Untergrenze (60 GWh/Tag) um 15 % verstärkt; das feste Band des Gas-Proxys bleibt bestehen. |
| GasProxy-Band | min 60 · max 900 GWh/Tag | Untergrenze gegen unrealistische Null-Tage, Obergrenze als Plausibilitätsdeckel für knappe Erneuerbaren-Lagen. |
| Konstante | Wert(e) | Begründung / Einordnung |
|---|---|---|
| DE-Arbeitsgaskapazität | 251.000 GWh | Grundlage für die Umrechnung von Energiemengen in Füllstands-Prozentpunkte; 1 % entspricht 2.510 GWh. |
| Volle Speicher-Umrechnung | 0,03984 %-Punkte je 100 GWh | Direkte Umrechnung aus der Arbeitsgaskapazität, falls eine Energiemenge vollständig speicherwirksam wäre. |
| Share-Modell-Gewicht | 0,30 | Das Modell mischt 30 % der Share-Logik mit 70 % einer neutralen 1:1-Übertragung des Wettereffekts; so bleibt die Wirkung plausibel, aber nicht zu hart. |
| Regime-Skalierung des Basistrends | ±250 GWh/Tag | Normierungsgröße dafür, ab wann das bestehende Speicherregime modellseitig als klar gilt. |
| ShareOut (Ausspeicherungsanteil) | warm 11 °C · kalt −8 °C · min 0,30 · max 0,70 · Regime-Boost +0,05 | Bestimmt, welcher Anteil negativer Wetterimpulse als zusätzliche Ausspeicherung im Speicher ankommt. Bei kalter Witterung und negativer Grundtendenz fällt dieser Anteil höher aus. |
| ShareIn (Einspeicherungsanteil) | Start 11 °C · voll 18 °C · min 0,30 · max 0,70 · Regime-Boost +0,05 | Bestimmt, welcher Anteil positiver Wetterimpulse im Speicher als Einspeicherung oder geringere Ausspeicherung sichtbar wird. Bei milder Witterung und positiver Grundtendenz fällt dieser Anteil höher aus. |
| Stabilisierung | clamp(Δ_wetter_effektiv, −1, +1) | Sicherheitskappung gegen Ausreißer aus Wettermodell oder Proxy-Logik. |
| Variable | Bedeutung | Herkunft im Modell |
|---|---|---|
| Füllstand_alt | letzter bekannter Füllstand in % | letzter verfügbarer AGSI-Tageswert |
| Δ_basis_roh | Ø 7-Tage-Nettoänderung in %-Punkten/Tag | aus den letzten 7 bekannten Speicheränderungen |
| Δ_basis | kalendergewichteter Basistrend | Δ_basis_roh × Wochentagsgewicht |
| T̄_7d | 7-Tage-Mitteltemperatur | Mittel der letzten 7 Tageswerte an der DE-Referenzkoordinate |
| renIdx̄_7d_raw | 7-Tage-Mittel des täglichen Erneuerbaren-Index | Mittel der letzten 7 Tageswerte von renIdx_Tag_raw |
| T_Tag | prognostizierte Tagesmitteltemperatur | Open-Meteo Forecast |
| solarSeasonFactor_Tag | saisonaler Faktor auf den Solar-Anteil | aus dem Kalendertag über die glatte Jahreskurve zwischen 21.12. und 20.06. |
| Wind_Tag | prognostizierte mittlere Windgeschwindigkeit in 10 m | Open-Meteo Forecast |
| Shortwave_Tag | prognostizierte tägliche kurzwellige Strahlung | Open-Meteo Forecast |
| Δ_temp_roh | roh berechneter Temperaturbeitrag | aus HDD-Abweichung, Kälte-Boost und solarem Entlastungseffekt |
| GasProxy_Tag | „Gasbedarf Strom“ des Prognosetags in GWh/Tag | aus Wind, Solar, Kompression, Knappheitskurve und Gain |
| GasProxy_7d_Basis | „Gasbedarf Strom“ der 7-Tage-Basis in GWh/Tag | aus renIdx̄_7d_raw über dieselbe Proxy-Funktion |
| Δ_ren_roh | roh berechneter Stromsektor-Beitrag | aus der Differenz GasProxy_Tag − GasProxy_7d_Basis |
| Δ_wetter_roh | gemeinsame wetterbedingte Zusatzkorrektur vor Share-Logik | Δ_temp_roh + Δ_ren_roh |
| shareRaw | roh berechneter direkt speicherwirksamer Anteil | aus Temperatur und Grundrichtung (ShareIn oder ShareOut) |
| Δ_wetter_effektiv | effektive wetterbedingte Zusatzkorrektur | Δ_wetter_roh nach Teilgewichtung und Kappung |
| Δ_tag | endgültige tägliche Änderung in %-Punkten | Δ_basis + Δ_wetter_effektiv |
HDD_7d_Basis = max(0, 18 - T̄_7d)
// Heizgradtage der 7-Tage-Wetterbasis.
// Je kälter die letzten 7 Tage im Mittel waren, desto höher dieser Wert.
HDD_Tag = max(0, 18 - T_Tag)
// Heizgradtage des Prognosetags.
// Je kälter der Prognosetag, desto höher der angenäherte Heizbedarf.
HDD_Abw = HDD_Tag - HDD_7d_Basis
// Abweichung des Heizbedarfs gegenüber der 7-Tage-Basis.
// Positiv = Prognosetag ist kälter als das jüngste Wettermittel.
// Negativ = Prognosetag ist milder als das jüngste Wettermittel.
Δ_temp_roh = -0,0625 * HDD_Abw
// Rohbeitrag der Temperatur zur Prognose in %-Punkten.
// Kälter als die 7-Tage-Basis wirkt negativ auf den Speicherstand,
// milder als die 7-Tage-Basis wirkt entlastend bzw. positiv.
Kältefaktor = 1 + 0,35 * clamp((2 - T_Tag) / 10, 0, 1)
// Verstärkt den Temperaturbeitrag an sehr kalten Tagen zusätzlich.
// Ab +2 °C kein Zusatz-Boost, Richtung −8 °C schrittweise bis zum Maximalwert.
Δ_temp_roh = Δ_temp_roh * Kältefaktor
// Wendet den Kälte-Boost auf den rohen Temperaturbeitrag an.
// Sehr kalte Tage beeinflussen die Prognose dadurch stärker als nur linear über HDD.
solarScore_Tag = clamp(Shortwave_Tag / 16, 0, 1)
// Normiert die tägliche kurzwellige Strahlung (0..16 MJ/m²) auf einen Bereich von 0 bis 1.
// Dient hier als einfacher Tages-Proxy für solare Entlastung.
solarRelief_Tag = 0,05 * solarScore_Tag
// Maximal 5 % Entlastung des Temperaturbeitrags, skaliert nach Solar-Score.
wenn (HDD_Tag > 0 und Δ_temp_roh < 0):
Δ_temp_roh = Δ_temp_roh * (1 - solarRelief_Tag)
// Solare Entlastung wird nur angewendet,
// wenn überhaupt Heizbedarf vorliegt (HDD_Tag > 0)
// und der Temperaturbeitrag tatsächlich in Richtung zusätzlicher Ausspeicherung wirkt.
windScore_Tag = clamp((Wind_Tag - 2,6) / 3,4, 0, 1)
// Normiert die mittlere Windgeschwindigkeit (2,6..6,0 m/s) auf einen Bereich von 0 bis 1.
// Niedriger Wind ergibt einen kleinen Score, höherer Wind einen größeren Score.
solarSeasonFactor_Tag = SolarSaisonFaktor(Datum_Tag)
// Liefert einen glatten saisonalen Faktor nur für den Solar-Anteil.
// 21.12. = 0,80 | 20.06. = 1,20 | Jahresmittel = 1,00.
renIdx_Tag_raw = clamp(0,55 * windScore_Tag + 0,45 * solarScore_Tag * solarSeasonFactor_Tag, 0, 1)
// Bildet aus Wind und saisonal moduliertem Solar-Anteil den täglichen Erneuerbaren-Index.
// Der Faktor wirkt nur auf den Solar-Anteil; der Wind-Anteil bleibt unverändert.
// Hoher Wert = mehr erwartbare Erneuerbaren-Verfügbarkeit.
renIdx̄_7d_raw = Mittelwert der letzten 7 Tageswerte von renIdx_Tag_raw
// 7-Tage-Basis des Erneuerbaren-Index (gleiche Koordinate).
// Jeder Tageswert enthält dabei seine eigene kalendarische Solar-Modulation.
// Verglichen wird also der Prognosetag mit der jüngsten Wetterlage,
// nicht mit einem langfristigen Klimamittel.
Kompression(x, a = 0,40):
// Komprimiert den Erneuerbaren-Index vor der Umrechnung in den Gas-Proxy.
// Ziel: Sehr niedrige und sehr hohe Rohwerte etwas zur Mitte hin verschieben,
// damit Extremzonen robuster und realitätsnäher abgebildet werden.
wenn (x < 0,5):
0,5 * (x / 0,5)^(1 - a)
// Untere Hälfte: Kleine Werte werden etwas angehoben.
sonst:
1 - 0,5 * ((1 - x) / 0,5)^(1 - a)
// Obere Hälfte: Große Werte werden etwas abgesenkt.
renIdx_Tag = Kompression(renIdx_Tag_raw, 0,40)
// Wendet die Kompression auf den Erneuerbaren-Index des Prognosetags an.
renIdx_7d_Basis = Kompression(renIdx̄_7d_raw, 0,40)
// Wendet dieselbe Kompression auch auf die 7-Tage-Basis an,
// damit Tageswert und Vergleichsbasis methodisch konsistent behandelt werden.
GasProxy(renIdx):
// Übersetzt den komprimierten Erneuerbaren-Index in einen Proxy
// für den wahrscheinlichen Erdgasenergieeinsatz im Stromsektor.
// Wenig Erneuerbare -> höherer Gas-Proxy.
// Viel Erneuerbare -> niedrigerer Gas-Proxy.
wenn (renIdx <= 0,02):
GasProxy = 900
// Bei extrem geringer Erneuerbaren-Verfügbarkeit
// wird direkt die obere Plausibilitätsgrenze gesetzt.
sonst:
scarcity = 1 - renIdx
// Knappheitsmaß der Erneuerbaren.
// Je kleiner der Erneuerbaren-Index, desto größer die Knappheit.
shaped = scarcity^3,2
// Nichtlineare Verstärkung der Knappheit.
// Niedrige Erneuerbaren-Verfügbarkeit wirkt dadurch überproportional
// auf den späteren Gas-Proxy.
GasRaw = 60 + (900 - 60) * shaped
// Rohwert des Gas-Proxys innerhalb des festen Bands von 60 bis 900 GWh/Tag.
GasProxy = clamp(60 + (GasRaw - 60) * GasProxy_Gain, 60, 900)
// Wendet den technischen Anpassungsfaktor (GasProxy_Gain) auf den Rohwert an.
// GasProxy_Gain = 1,15 verstärkt Abweichungen oberhalb der Untergrenze (60) um 15 %.
// Unabhängig davon begrenzt clamp den Wert auf das Band von 60 bis 900 GWh/Tag.
GasProxy_Tag = GasProxy(renIdx_Tag)
// Gas-Proxy des Prognosetags.
// Entspricht dem modellierten "Gasbedarf Strom" für den einzelnen Prognosetag.
GasProxy_7d_Basis = GasProxy(renIdx_7d_Basis)
// Gas-Proxy der 7-Tage-Basis.
// Dient als Vergleichswert, um nur die wetterbedingte Abweichung zu erfassen.
Δ_ren_roh = -((GasProxy_Tag - GasProxy_7d_Basis) / 100) * 0,03984
// Rohbeitrag des Stromsektors in %-Punkten.
// Liegt der Gas-Proxy des Prognosetags über der 7-Tage-Basis,
// wirkt das negativ auf den Speicher.
// Die Umrechnung erfolgt von GWh in Füllstands-Prozentpunkte.
Δ_wetter_roh = Δ_temp_roh + Δ_ren_roh
// Fasst Temperaturbeitrag und Stromsektor-Beitrag
// zur gesamten wetterbedingten Zusatzkorrektur zusammen.
BasisTrend_GWh = (Δ_basis_roh / 100) * 251000
// Rechnet den rohen Basistrend in GWh/Tag um.
// Dieser Wert wird genutzt, um das aktuelle Speicherregime
// als eher ausspeichernd oder eher einspeichernd einzuordnen.
wenn (Δ_wetter_roh < 0):
coldness = clamp((11 - T_Tag) / (11 - (-8)), 0, 1)
// Misst, wie kalt der Prognosetag im ShareOut-Sinn ist.
// Je kälter der Tag, desto höher der Wert.
withdrawRegime = clamp((-BasisTrend_GWh) / 250, 0, 1)
// Misst, wie stark bereits ein ausspeicherndes Grundregime vorliegt.
// Je negativer der Basistrend, desto stärker die laufende Entnahmephase.
shareRaw = clamp(0,30 + (0,70 - 0,30) * coldness + 0,05 * withdrawRegime, 0,30, 0,70)
// Bestimmt den plausiblen Anteil negativer Wetterimpulse,
// der tatsächlich als zusätzliche Ausspeicherung im Speicher sichtbar wird.
sonst:
warmth = clamp((T_Tag - 11) / (18 - 11), 0, 1)
// Misst, wie mild der Prognosetag im ShareIn-Sinn ist.
// Je milder der Tag, desto höher der Wert.
injectRegime = clamp(BasisTrend_GWh / 250, 0, 1)
// Misst, wie stark bereits ein einspeicherndes Grundregime vorliegt.
// Je positiver der Basistrend, desto stärker die laufende Einspeicherungsphase.
shareRaw = clamp(0,30 + (0,70 - 0,30) * warmth + 0,05 * injectRegime, 0,30, 0,70)
// Bestimmt den plausiblen Anteil positiver Wetterimpulse,
// der tatsächlich als Einspeicherung oder geringere Ausspeicherung im Speicher sichtbar wird.
effectiveShare = (1 - 0,30) + 0,30 * shareRaw
// Mischt 30 % Share-Logik mit 70 % neutraler 1:1-Übertragung.
// Dadurch wird der Wetterimpuls weder vollständig nach Share-Logik
// noch vollständig ungedämpft übernommen.
Δ_wetter_effektiv = clamp(Δ_wetter_roh * effectiveShare, -1, +1)
// Berechnet die tatsächlich wirksame wetterbedingte Zusatzkorrektur.
// Gleichzeitig wird der Tageseffekt auf einen plausiblen Bereich begrenzt,
// damit Ausreißer die Prognose nicht ungebremst verzerren.
Δ_tag_roh = Δ_basis_roh + Δ_wetter_effektiv
// Roh-Tagesdelta vor Wochentagslogik.
// Es setzt sich aus Basistrend und effektivem Wetterbeitrag zusammen.
wenn (Δ_tag_roh > 0):
Zielgewicht = 2 - Wochentagsgewicht
// Spiegelt die Wochentagslogik für Einspeicherung um 1,00.
wenn (Δ_tag_roh < 0):
Zielgewicht = Wochentagsgewicht
// Verwendet die normale Wochentagslogik für Ausspeicherung.
wenn (Δ_tag_roh == 0):
Zielgewicht = 1,00
// Bei neutralem Roh-Tagesdelta bleibt der Kalendereffekt neutral.
DOW_Stärke = smoothstep01(clamp(|Δ_tag_roh| / 0,10, 0, 1))
// Dämpft die Wochentagswirkung bei kleinen Tagesbewegungen Richtung 1,00.
// Ab 0,10 %-Punkten Roh-Tagesdelta greift die Zielgewichtung voll.
DOW_Faktor = 1 + DOW_Stärke * (Zielgewicht - 1)
// Bildet den tatsächlich wirksamen Wochentagsfaktor.
Δ_tag = Δ_tag_roh * DOW_Faktor
// Endgültige tägliche Veränderung des Speicherfüllstands.
// Erst hier wirkt der richtungsabhängige Kalendereffekt.
Füllstand_neu = clamp(Füllstand_alt + Δ_tag, 0, 100)
// Schreibt den Füllstand einen Tag weiter fort.
// Das Ergebnis wird technisch auf den Bereich 0 % bis 100 % begrenzt.
Das Beispiel zeigt die Modelllogik Schritt für Schritt: Variablen festlegen → Formel zeigen → Werte einsetzen → Ergebnis berechnen.
| Gegebene Größe | Wert | Herkunft / Bedeutung |
|---|---|---|
| Füllstand_alt | 43,0 % | letzter bekannter Speicherfüllstand |
| Δ_basis_roh | −0,08 %-Punkte/Tag | Ø 7-Tage-Nettoänderung der letzten 7 Tage |
| Datum_Tag | 11.02.2026 | Kalendertag des Prognosetags |
| Tag der Woche | Mittwoch | für die Wochentagsgewichtung |
| Wochentagsgewicht | 1,06 | Zielgewicht für Ausspeicherung am Mittwoch |
| DOW-Vollwirkungsschwelle | 0,10 %-Punkte/Tag | ab diesem Betrag greift die Wochentagslogik voll |
| T̄_7d | 5,0 °C | 7-Tage-Mitteltemperatur der Referenzkoordinate |
| T_Tag | 0,0 °C | prognostizierte Tagesmitteltemperatur |
| Wind_Tag | 4,0 m/s | prognostizierte mittlere Windgeschwindigkeit in 10 m |
| Shortwave_Tag | 8,0 MJ/m²/Tag | prognostizierte tägliche kurzwellige Strahlung |
| renIdx̄_7d_raw | 0,55 | Mittelwert der letzten 7 Tageswerte des saisonal gewichteten Erneuerbaren-Index |
1) Basistrend
Formel:
Δ_basis_roh = Ø 7-Tage-Nettoänderung
Einsetzen:
Δ_basis_roh = −0,08 %-Punkte
2) Temperaturbeitrag
Formeln:
HDD_7d_Basis = max(0, 18 − T̄_7d)
HDD_Tag = max(0, 18 − T_Tag)
HDD_Abw = HDD_Tag − HDD_7d_Basis
Δ_temp_roh = −0,0625 × HDD_Abw
Einsetzen:
HDD_7d_Basis = 18 − 5,0 = 13,0
HDD_Tag = 18 − 0,0 = 18,0
HDD_Abw = 18,0 − 13,0 = 5,0
Δ_temp_roh = −0,0625 × 5,0 = −0,3125 %-Punkte
3) Kälte-Boost und solarer Entlastungseffekt
Formeln:
Kältefaktor = 1 + 0,35 × clamp((2 − T_Tag) / 10, 0, 1)
solarScore_Tag = clamp(Shortwave_Tag / 16, 0, 1)
solarRelief_Tag = 0,05 × solarScore_Tag
Δ_temp_roh_neu = Δ_temp_roh × Kältefaktor × (1 − solarRelief_Tag)
Einsetzen:
Kältefaktor = 1 + 0,35 × ((2 − 0,0) / 10) = 1,07
solarScore_Tag = 8,0 / 16 = 0,50
solarRelief_Tag = 0,05 × 0,50 = 0,025 (= 2,5 %)
Δ_temp_roh_neu = −0,3125 × 1,07 × (1 − 0,025) = −0,3260 %-Punkte
4) Tageswert des Erneuerbaren-Index aus Wind, Sonne und Kalendertag
Formeln:
windScore_Tag = clamp((Wind_Tag − 2,6) / 3,4, 0, 1)
solarScore_Tag = clamp(Shortwave_Tag / 16, 0, 1)
solarSeasonFactor_Tag = SolarSaisonFaktor(Datum_Tag)
renIdx_Tag_raw = clamp(0,55 × windScore_Tag + 0,45 × solarScore_Tag × solarSeasonFactor_Tag, 0, 1)
Einsetzen:
windScore_Tag = (4,0 − 2,6) / 3,4 = 0,4118
solarScore_Tag = 8,0 / 16 = 0,5000
solarSeasonFactor_Tag = SolarSaisonFaktor(11.02.2026) = 0,8761
renIdx_Tag_raw = 0,55 × 0,4118 + 0,45 × 0,5000 × 0,8761 = 0,4236
5) Kompression und Gasbedarf Strom
Formeln:
Für x < 0,5 gilt: x_kompr = 0,5 × (x / 0,5)0,60
Für x ≥ 0,5 gilt: x_kompr = 1 − 0,5 × ((1 − x) / 0,5)0,60
scarcity = 1 − renIdx
shaped = scarcity3,2
GasRaw = 60 + (900 − 60) × shaped
GasProxy = clamp(60 + (GasRaw − 60) × 1,15, 60, 900)
Einsetzen für den Prognosetag:
renIdx_Tag = 0,5 × (0,4236 / 0,5)0,60 = 0,4526
scarcity_Tag = 1 − 0,4526 = 0,5474
shaped_Tag = 0,54743,2 = 0,1454
GasRaw_Tag = 60 + 840 × 0,1454 = 182,1 GWh/Tag
GasProxy_Tag = 60 + (182,1 − 60) × 1,15 = 200,4 GWh/Tag
Einsetzen für die 7-Tage-Basis:
renIdx_7d_Basis = 1 − 0,5 × ((1 − 0,55) / 0,5)0,60 = 0,5306
scarcity_7d = 1 − 0,5306 = 0,4694
shaped_7d = 0,46943,2 = 0,0889
GasRaw_7d = 60 + 840 × 0,0889 = 134,7 GWh/Tag
GasProxy_7d_Basis = 60 + (134,7 − 60) × 1,15 = 145,9 GWh/Tag
6) Stromsektor-Beitrag
Formel:
Δ_ren_roh = −((GasProxy_Tag − GasProxy_7d_Basis) / 100) × 0,03984
Einsetzen:
GasDelta = 200,4 − 145,9 = 54,5 GWh/Tag
Δ_ren_roh = −((54,5 / 100) × 0,03984) = −0,0217 %-Punkte
7) Gemeinsame wetterbedingte Zusatzkorrektur
Formel:
Δ_wetter_roh = Δ_temp_roh_neu + Δ_ren_roh
Einsetzen:
Δ_wetter_roh = −0,3260 + (−0,0217) = −0,3477 %-Punkte
8) ShareOut und effektiver Wetterbeitrag
Formeln:
BasisTrend_GWh = (Δ_basis_roh / 100) × 251.000
coldness = clamp((11 − T_Tag) / (11 − (−8)), 0, 1)
withdrawRegime = clamp((−BasisTrend_GWh) / 250, 0, 1)
shareRaw = clamp(0,30 + 0,40 × coldness + 0,05 × withdrawRegime, 0,30, 0,70)
effectiveShare = 0,70 + 0,30 × shareRaw
Δ_wetter_effektiv = Δ_wetter_roh × effectiveShare
Einsetzen:
BasisTrend_GWh = (−0,08 / 100) × 251.000 = −200,8 GWh/Tag
coldness = (11 − 0,0) / 19 = 0,5789
withdrawRegime = clamp(200,8 / 250, 0, 1) = 0,8032
shareRaw = 0,30 + 0,40 × 0,5789 + 0,05 × 0,8032 = 0,5717
effectiveShare = 0,70 + 0,30 × 0,5717 = 0,8715
Δ_wetter_effektiv = −0,3477 × 0,8715 = −0,3030 %-Punkte
9) Roh-Tagesdelta
Formel:
Δ_tag_roh = Δ_basis_roh + Δ_wetter_effektiv
Einsetzen:
Δ_tag_roh = −0,08 + (−0,3030) = −0,3830 %-Punkte
10) Richtungsabhängige Wochentagsgewichtung
Formeln:
Zielgewicht = Wochentagsgewicht, da Δ_tag_roh < 0
DOW_Stärke = smoothstep01(clamp(|Δ_tag_roh| / 0,10, 0, 1))
DOW_Faktor = 1 + DOW_Stärke × (Zielgewicht − 1)
Δ_tag = Δ_tag_roh × DOW_Faktor
Einsetzen:
Zielgewicht = 1,06
DOW_Stärke = smoothstep01(clamp(0,3830 / 0,10, 0, 1)) = 1,0000
DOW_Faktor = 1 + 1,0000 × (1,06 − 1) = 1,0600
Δ_tag = −0,3830 × 1,0600 = −0,4060 %-Punkte
11) Neuer Prognosewert
Formel:
Füllstand_neu = Füllstand_alt + Δ_tag
Einsetzen:
Füllstand_neu = 43,0 + (−0,4060) = 42,5940 %
Ergebnis technisch begrenzt auf 0 % bis 100 %.
Die Darstellung im Dashboard dient der Information und Einordnung. Maßgeblich bleiben die Originalveröffentlichungen und Aktualisierungen der jeweiligen Datenquellen. Bei Abweichungen sind die Angaben der Datenanbieter maßgeblich.