WaterStrategy
Deutsch
Deutsch
  • WaterStrategy Dokumentation
  • Unterstützung
  • Erste Schritte
    • Ein Konto erstellen
    • Einloggen
    • Rundgang durch das Interface
    • Neues Projekt und Netzwerk erstellen
    • Projekte und Netzwerke teilen
    • Modelle exportieren und importieren
    • Umgang mit Modellfehlern
    • Externe Daten hochladen
  • Grundlagen der Modellierung
    • Modellierung von Wasserressourcensystemen?
    • Was ist Pywr?
    • Pywr-Konzepte
    • Knotentypen
      • Wassereingabe
        • Eingabeknoten
        • Einzugsgebiet
        • Proportionaler Eingangsknoten
      • Transport auf dem Wasser
        • Link Node
        • Flussknoten
        • Knoten „Delay“
        • RiverSplit Node
        • RiverSplitWithGauge Node
        • RiverGauge-Knoten
        • BreakLink Node
        • PiecewiseLink Node
        • MultiSplitLink Node
      • Speicherung von Wasser
        • Storage Node
        • Reservoirknoten
        • VirtualStorage Node
        • Rollender virtueller Storage-Knoten
        • Jährlicher virtueller Speicherknoten
        • Saisonaler virtueller Storage-Knoten
        • AggregatedStorage-Knoten
      • Wasserleistung
        • Ausgangsknoten
        • Verlust Link Node
      • Wasserkraft
        • Turbinenknoten
      • Andere
        • Aggregierter Knoten
    • Zuweisungsstrafen
    • Szenarien
      • WaterStrategy Szenarien
      • Pywr-Szenarien
        • Parameter- und Pywr-Szenario-Integration
    • Parameter
      • Basisparameterklasse
        • Parameter
        • Indexparameter
      • Einfache Parameter
        • Konstante
        • Konstanter Szenario-Parameter
        • Konstanter Szenario-Indexparameter
      • Kombinieren mehrerer Parameter
        • Aggregierter Parameter
        • Aggregierter Indexparameter
        • Abteilungsparameter
        • Negativer Parameter
        • Maximaler Parameter
        • Negativer Max-Parameter
        • Min-Parameter
        • Negativer MIN-Parameter
        • Offset-Parameter
      • Zeitreihen und Profile
        • Tägliches Profil
        • Wöchentliches Profil
        • Monatliches Profil
        • Einheitliches Drawdown-Profil
        • Szenario Tagesprofil
        • Szenario Wöchentliches Profil
        • Monatliches Szenario-Profil
        • Monatliche Faktoren für Array-indizierte Szenarien
        • RBF-Profil
      • DataFrame-Parameter
      • HDF5-Parameter
      • Array-basierte Parameter
        • Indizierter Array-Parameter
        • Array-indizierter Szenario-Parameter
        • Indizierter Array-Parameter
      • Schwellenwertparameter
        • Abstrakter Schwellenwert
        • Speicherschwellenwert
        • Knotenschwellenwert
        • Parameter-Schwellenwert
        • Schwellenwert für Rekorder
        • Schwellenwert für das aktuelle Jahr
        • Aktueller Schwellenwert für ordinale Tage
      • Interpolationsparameter
        • Interpolierter Parameter
        • Interpolierte Quadratur
        • Interpolierter Fluss
        • Interpoliertes Volumen
      • Parameter für Steuerkurven
        • Basis-Kontrollkurve
        • Interpolierter Parameter der Steuerkurve
        • Stückweise interpolierter Parameter der Steuerkurve
        • Parameter für den Kontrollkurvenindex
      • Wasserkraftparameter
      • Andere
        • Jährlicher Parameter der harmonischen Reihe
        • Defizitparameter
        • Scenario-Wrapper-Parameter
        • Stückweiser Integralparameter
        • Durchflussparameter
        • Parameter für die Flussverzögerung
        • Parameter für den Rabattfaktor
    • Rekorder
      • Basisrekorder
        • Rekorder
        • Node-Rekorder
        • Speicherrekorder
        • Parameter-Rekorder
        • Indexparameter-Rekorder
        • Aggregator
      • Numpy Array-Rekorder
        • Numpy Array-Knotenrekorder
        • Numpy Array-Speicherrekorder
        • Numpy Array-Levelrekorder
        • Numpy Array-Bereichsrekorder
        • Numpy-Array-Parameterrekorder
        • Numpy-Array-Indexparameter-Rekorder
        • Täglicher Profilparameter-Recorder von Numpy Array
      • Durchflussdauer-Kurvenschreiber
        • Kurvenrekorder für die Durchflussdauer
        • Kurvenrekorder für Speicherdauer
        • Durchflussdauer-Kurvenabweichungsrekorder
        • Kurvenrekorder für saisonale Strömungsdauer
      • Defizitrekorder
        • Numpy-Array-Node-Defizitrekorder
        • Von Numpy Array Node mitgelieferter Ratio-Rekorder
        • Numpy-Rekorder zur Reduzierung des Verhältnisses von Array-Knoten
        • Rekorder für Gesamtdefizitknoten
        • Knotenrekorder für Defizitfrequenzen
      • Statistische Rekorder
        • Aggregierter Rekorder
        • Node-Recorder für mittleren Durchfluss
        • Gesamtfluss-Knotenrekorder
        • Jährlicher Gesamtflussrekorder
        • Mittelwertaufzeichner
        • Gesamtparameter-Rekorder
        • Drehknotenrekorder für den mittleren Durchfluss
        • Speicherrekorder für Mindestvolumen
        • Speicherrekorder für Mindestschwellenvolumen
        • Indexparameter-Recorder für Zeitschrittzähler
        • Schwellenwertaufzeichner für den jährlichen Zählindex
        • Rollender Fenster-Parameterrekorder
      • Index-Rekorder
        • Parameterrekorder für den jährlichen Zählindex
      • Dateirekorder
        • CSV-Rekorder
        • Tabellen-Recorder
      • Wasserkraftrekorder
        • Wasserkraft-Rekorder
        • Total Hydro Energy Rekorder
  • Angewandte Modellierung
    • Reservoir- und Speicherknoten
  • Tutorials
    • Ein einfaches Modell erstellen und ausführen
      • Ein Modell erstellen und ausführen
        • Projekt und Netzwerk einrichten
        • Hinzufügen von Knoten und Links (Kanten)
        • Daten zu den Knoten hinzufügen
        • Den Zeithorizont festlegen
        • Das Modell ausführen und seine Ausgaben visualisieren
        • Neues Szenario erstellen
        • Übung
      • Änderungen an einem Modell vornehmen
        • Reservoir hinzufügen
        • Hinzufügen grundlegender Betriebsregeln
    • Modellierung von Beckenreservoirsystemen
      • Neues Projekt und Netzwerk erstellen
      • Hinzufügen eines Damms (Reservoir)
      • Eine Nachfrage hinzufügen
      • Das Hinzufügen einer Wasseraufbereitung funktioniert mit Verlusten
      • Hinzufügen einer Quelle, die das Grundwasser darstellt
      • Zusätzliche Übungen
      • Hinzufügen von Reservoir-Bathymetrie, Verdunstung und Niederschlag
        • Hintergrundinformationen zu Verdunstung und Niederschlag in Stauseen
        • Reservoir-Bathymetrie hinzufügen (Fläche)
        • Reservoir-Bathymetrie hinzufügen (Level)
        • Monatliche Verdunstung und Niederschlag hinzufügen
      • Verwendung von Zuweisungsstrafen und Kontrollregeln zum Ausgleich der Quellen
      • Steuerkurven und Nachfrageeinsparungen
        • Hinzufügen von Lagerstättenkontrollkurven und Bedarfseinsparungen (Reduktionen)
    • Verwendung von Zuweisungsstrafen zur Zuteilung von Wasser
    • PYWR-Szenarien, die externen DataFrame lesen und benutzerdefinierte Regeln hinzufügen
      • Dateien hochladen
      • CSV-DataFrame lesen
      • Pywr-Szenarien ausführen
      • Lesen von h5 DataFrame für Pywr-Szenarien
      • Benutzerdefinierte Regel erstellen - TranscientDecisionParameter
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. Angewandte Modellierung

Reservoir- und Speicherknoten

PreviousTotal Hydro Energy RekorderNextEin einfaches Modell erstellen und ausführen

Last updated 6 months ago

Was this helpful?


description: Diese Seite beschreibt das Verhalten und die Konfiguration der Pywr-Reservoirknoten in WaterStrategy.


Reservoir- und Speicherknoten

Zuweisungsstrafen für Stauseen

Reservoir- und Speicherknoten sind mit Zuweisungsstrafen (Kosten) belegt. Negative Kosten bedeuten, dass sich im Reservoir Wasser ansammelt, und positive Kosten bedeuten stattdessen, dass das Reservoir Wasser abgibt. Bei der Zuweisung kann es sich um Konstanten (konstante Parameter) oder um Profile (monatlich, täglich, wöchentlich) handeln, die sich mit der Zeit ändern. Außerdem können die Zuweisungsstrafen unterschiedliche Höhen haben, die durch unterschiedliche Steuerkurven auf der Grundlage des Reservoirvolumens definiert werden. Zwar wirken sich die Strafen bei der Zuteilung von Reservoir und Speicher auf die Speicherung von Wasser aus, doch aufgrund eines Kostengleichgewichts im System werden Wasseraustritte aus diesen Knoten unter Berücksichtigung der Zuweisungsstrafen für flussabwärts gelegene Knoten verursacht.

Im Folgenden werden verschiedene Beispiele vorgestellt.

Konstante Zuweisungsstrafe

In diesem Beispiel werden konstante Werte als Zuweisungsstrafen für verschiedene Knoten in einem Netzwerk verwendet. Abbildung 1 zeigt ein einfaches Netzwerk, das Einzugsgebiet-, Speicher-, Nachfrage- und Ausgangsknoten umfasst.

Abbildung 1. Einfaches Pywr-Modell, implementiert in WaterStrategy

Der Einzugsgebietsknoten umfasst eine Zuflusszeitreihe, die in Abbildung 2 dargestellt ist. Die maximale Kapazität des storage node beträgt 2000000 Mm3, und der Bedarf des Bedarfsknotens beträgt __1234567890__mm3/Tag.

Abbildung 2. Zeitreihen für Zuflüsse, die dem Einzugsgebiet zugeordnet sind

Dieses einfache Netzwerk hat zwei Zuweisungsstrafen für die Speicher- und Bedarfsknoten. Die Zuweisungsstrafe für storage node ist -5, und für den Demand-Node ist -1234567890. Abbildung 3 zeigt das simulierte Volumen von storage node und das Nachschubvolumen des Bedarfsknotens.

![Ein Diagramm mit einer Linie

Beschreibung wird automatisch generiert](../.gitbook/assets/3.png)

Abbildung 3. Simuliertes Volumen für den storage node und Wasserversorgung für den Bedarfsknoten. Strafe für Speicherzuweisung = -5, Strafe für Bedarfszuweisung = -10

Abbildung 3 zeigt, dass der Bedarf von __1234567890__□ mm3/Tag während der Simulation immer erfüllt wird. Das liegt daran, dass die Zuweisungsstrafe für den Bedarfsknoten höher ist als die Strafe für den storage node. Wenn die Zuweisungsstrafe für den storage node nicht festgelegt wird, entsprechen die Ergebnisse ebenfalls denen in Abbildung 3. Wenn nun die Zuweisungszuweisungen umgekehrt werden, d. h. der Zuweisungszuschlag für die Speicherzuweisung ist -__1234567890__□ und der Zuschlag für die Bedarfszuweisung ist -5, wird __1234567890__das Wasser zurückhalten, und es gibt kein Angebot für den Bedarfsknoten (Abbildung 4).

![Ein Diagramm mit einer Linie, die nach oben geht

Beschreibung wird automatisch generiert](../.gitbook/assets/4.png)

![Ein Diagramm mit einer Linie

Beschreibung wird automatisch generiert](../.gitbook/assets/5.png)

Abbildung 4. Simuliertes Volumen für den storage node und Wasserversorgung für den Bedarfsknoten. Strafe für Speicherzuweisung = -10, Strafe für Bedarfszuweisung = -5

Strafe für die Profilzuweisung

In diesem Beispiel wird ein monatliches Profil als Zuweisungsstrafe für storage node (Abbildung 5) und eine konstante Zuweisungsstrafe in Höhe von -10 für den Bedarfsknoten verwendet. Das Netzwerk in Abbildung 1 veranschaulicht die Verwendung eines Pywr MonthlyProfileParameters. Jeder andere Pywr-Profilparameter kann auf die gleiche Weise verwendet werden.

Abbildung 5. Monatliche Strafe für die Profilzuweisung.

Von Mai bis September ist die Zuweisungsstrafe niedriger als die Strafe im Bedarfsknoten, was dazu führt, dass die storage node nur in den Monaten veröffentlicht wird, in denen der Bedarf gedeckt werden muss (siehe Abbildung 6).

![Ein Diagramm mit einer Linie, die nach oben geht

Beschreibung wird automatisch generiert](../.gitbook/assets/7.png)

Abbildung 6. Simuliertes Volumen für den storage node und Wasserversorgung für den Bedarfsknoten mithilfe eines monatlichen Profilparameters

Knoten mit gleichen Zuweisungsstrafen

Wie in Abschnitt 1.1 erwähnt, werden Zuweisungsstrafen verwendet, um Versorgungsprioritäten in einem Netzwerk darzustellen. Bei Wasserknappheit und dem Vorhandensein von zwei oder mehreren Knoten mit gleicher Priorität ist es nicht möglich, eine proportionale Versorgung mit Zuweisungsstrafen zu erzielen. Abbildung 7 zeigt ein Beispiel für eine Wasserknappheit in einem Netzwerk mit zwei Bedarfsknotenpunkten mit gleichem Bedarf und gleichen Prioritäten.

Abbildung 7. Einfaches Pywr-Modell, implementiert in WaterStrategy mit gleichen Zuweisungsstrafen

Wenn wir das Netzwerk in Abbildung 7 betreiben, erhalten wir nicht das gleiche Angebot für die Knoten Nachfrage 1 und 2 (Abbildung 8), da dies davon abhängt, dass der Solver das Problem der Wasserzuteilung löst. Im Beispiel in Abbildung 7 weist der Solver dem Knoten Demand 2 mehr Wasser zu, wie in Abbildung 8 zu sehen ist.

![Ein Diagramm mit Zahlen und einer Linie

Beschreibung wird automatisch generiert](../.gitbook/assets/10.png)

Abbildung 8. Wasserversorgung der Bedarfsknotenpunkte mit gleichen Zuordnungsprioritäten.

Zwar ist es nicht möglich, gleiche Zuweisungsstrafen zu verwenden, um ein gleiches Angebot zu erreichen, aber in WaterStrategy kann ein „AggregatedNode“ verwendet werden, um das gewünschte Verhalten einer proportionalen Versorgung bei Wasserknappheit zu erreichen (siehe Abbildung 9).

Abbildung 9. Einfaches Pywr-Modell, implementiert in WaterStrategy mit gleichen Zuweisungsstrafen unter Verwendung eines „AggragtedNode“

In diesem Fall muss der Benutzer im Attribut „Knoten“ des „AggregatedNode“ die Knoten mit einer gleichen Zuweisungsstrafe eingeben und im Attribut „Factors“ das erforderliche Angebotsverhältnis zwischen den Knoten eingeben. Beispielsweise sollten für einen gleichen Angebotsanteil in zwei Knoten die Faktoren\ [0.5, 0.5], siehe Abbildung __1234567890__2].

Abbildung 10. Knoten- und Faktorenattribut in einem aggregierten Knoten.

Beachten Sie, dass der „AggregatedNode“ mit keinem Knoten im Netzwerk verbunden ist (Abbildung 9). Wenn wir dieses neue Netzwerk betreiben, erhalten wir eine gleiche Wasserversorgung für die Knoten Demand 1 und 2 (siehe Abbildung 11).

![Ein Diagramm mit Zahlen und einer Linie

Beschreibung wird automatisch generiert](../.gitbook/assets/14.png)

Abbildung 11. Wasserversorgung der Bedarfsknoten mit gleichen Zuordnungsprioritäten und einem aggregierten Knoten.

Modellierung von Wasserkraftplänen

Pywr hat keinen expliziten Knoten, um ein Wasserkraftwerk zu modellieren. Alternativ können Benutzer einen „Link“ -Knoten, einen Pywr-Parameter und einen Rekorder kombinieren, um ein Wasserkraftwerk zu modellieren. Der Parameter kann ein „HydropowerTargetParameter“ und der Rekorder ein „HydropowerRecorder“ sein. Der Zielparameter für Wasserkraft ist ein Parameter, der zur Berechnung des Durchflusses verwendet wird, der zur Erreichung eines bestimmten Ziels für die Erzeugung von Wasserkraft erforderlich ist. Er soll an einem Knoten verwendet werden, der eine Turbine darstellt, wo für jeden Zeitschritt ein bestimmtes Produktionsziel erforderlich ist. Der Wasserkraftrekorder berechnet und speichert die Stromerzeugung anhand der Wasserkraftgleichung. Dieser Rekorder speichert in jedem Zeitschritt eine Reihe von Daten zur Stromerzeugung aus Wasserkraft. Um die Benutzerinteraktion mit Pywr zu erleichtern, enthält WaterStrategy einen „Turbine“ -Knoten, der eine Schnittstelle (Abbildung 12) zur Eingabe der Informationen der Wasserkraftanlage anzeigt und intern einen „HydropowerTargetParameter“ und einen „HydropowerRecorder“ erstellt.

Abbildung 12. Schnittstelle in WaterStrategy zur Eingabe technischer Daten für Turbinenknoten.

Reservoirwasserkraftwerke oder Laufwasserkraftwerke können in WaterStrategy mithilfe eines „Turbine“ -Knotens modelliert werden. Der einzige Unterschied besteht darin, dass für Stauwasserkraftwerke ein storage node definiert werden muss, um die Pegelschwankungen im Reservoir für die Leistungsberechnung zu berücksichtigen. Die Wasserhöhe für die Leistungsberechnung wird anhand der angegebenen Wasserhöhe im „Speicher“ berechnet_Knoten“ und „Turbine_„Höhe“ -Werte. Wenn ein Wert von storage node mit einer Wasserhöhe angegeben wird, entspricht die Förderhöhe dem Höhenunterschied zwischen dem Wasser und der Turbine. Wenn der Parameter für die Wasserhöhe „Keine“ lautet, entspricht die Förderhöhe einfach der Turbinenhöhe.