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
  • Hinzufügen von Lagerstättenkontrollkurven und Bedarfseinsparungen (Reduktionen)
  • Einführung
  • Klonen Sie das Szenario und definieren Sie eine Kontrollkurve
  • Assoziierter Nachfragefaktor
  • Definieren Sie den Basisbedarf
  • Kalkulieren Zeitschrittnachfrage
  • Führen Sie das Modell aus und sehen Sie sich die Ergebnisse an
  • Übung

Was this helpful?

Export as PDF
  1. Tutorials
  2. Modellierung von Beckenreservoirsystemen
  3. Steuerkurven und Nachfrageeinsparungen

Hinzufügen von Lagerstättenkontrollkurven und Bedarfseinsparungen (Reduktionen)

PreviousSteuerkurven und NachfrageeinsparungenNextVerwendung von Zuweisungsstrafen zur Zuteilung von Wasser

Last updated 6 months ago

Was this helpful?


layout: description: visible: false outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true


Hinzufügen von Lagerstättenkontrollkurven und Bedarfseinsparungen (Reduktionen)

Einführung

Steuerkurven können verwendet werden, um eine Bedarfsreduzierung vorzunehmen, wenn der Reservoirstand bestimmte Schwellenwerte unterschreitet. Dabei handelt es sich um die Umsetzung vorübergehender Maßnahmen zur Nachfragesteuerung. Dabei wird die Nachfrage schrittweise reduziert, wenn der Stausee bestimmte Speicherschwellen unterschreitet. In dieser Übung wird demonstriert,, das sowie die sowie Parameterverschachtelung.

Klonen Sie das Szenario und definieren Sie eine Kontrollkurve

  1. Klonen Sie die „Ausgewogene Quellen“ Szenario und nenne das neue „Nachfragerückgänge“

  2. Zuerst definieren wir eine Steuerkurve das Schwellenwerte für das Speichervolumen verwendet, um die Nachfrage schrittweise zu reduzieren, um Nachfragebeschränkungen zu modellieren, die einer Nachfrage auferlegt werden. Die erste Kurve ist eine (60% in den kommenden Monaten und 45% in anderen) unter Berücksichtigung saisonaler Veränderungen, während die beiden nachfolgenden Kurven (40% und 10% der Speicherkapazität des Reservoirs).

Die Kontrollkurve wird in der Parameter Tab. Fügen Sie auf der Registerkarte Parameter eine hinzu Pyr_Parameter.

Benennen Sie den Parameter 'Lagersteuerkurve' und drücke Geben Sie ein**. **

Fügen Sie den folgenden JSON-Codeausschnitt unten ein. Bitte beachten Sie, wie im Attribut "storage_node"auf das "Beispielreservoir" verwiesen wird.

{
	„type“: „ControlCurveindexparameter“,
	„storage_node“: „Beispielreservoir“,
	„Control_Curves“: [
		{
			„type“: „monatlicher Profilparameter“,
			„Werte“: [
				0.45,
				0.45,
				0.45,
				0.45,
				0.45,
				0.45,
				0.45,
				0.45,
				0.45,
				0.45,
				0.6,
				0.6
			]
		},
		{
			„Typ“: „konstant“,
			„Wert“: 0.4
		},
		{
			„Typ“: „konstant“,
			„Wert“: 0.1
		}
	],
	„__Recorder__„: {
		„Timeseries“: wahr
	}
}

Assoziierter Nachfragefaktor

  1. Wir werden Folgendes verbinden Nachfragefaktoren zu den verschiedenen Ausfallstufen der Steuerkurve:

Dadurch wird die Nachfrage auf 90%, 80% und 50% der Basisnachfrage reduziert, was 10%, 20% und 50% Nachfragerückgängen entspricht.

  1. Erstellen Sie ein neues Pyr_Parameter

  1. Benennen Sie den Parameter „Bedarfsfaktor der Steuerkurve“ und drücke Geben Sie ein**. **

  1. Fügen Sie unten den folgenden JSON-Codeausschnitt ein. Bitte beachten Sie, wie im Attribut "index_parameter"auf die Kontrollkurve" des Speichers verwiesen wird.

{
	„Typ“: „indexedarrayparameter“,
	„index_parameter“: „Speichersteuerkurve“,
	„Parameter“: [
		1,
		0.9,
		0.8,
		0.5
	],
}

Das params-Attribut nimmt entweder Skalare oder Pywr-Parameter auf und der Index des Arrays entspricht dem Index in dem Parameter, auf den in der indizieren_Parameter, der in diesem Fall die Steuerkurve ist.

  1. Wählen Sie diese Option, um diesen Parameter auszugeben.

Definieren Sie den Basisbedarf

Als Nächstes definieren wir die Basisnachfrage. Dies ist die Nachfrage, die das Reservoir hat, bevor irgendwelche Reduktionen vorgenommen werden. Im vorherigen Tutorial wurde der Beispielbedarf als Skalar (0.1) im Max\ _flow-Attribut des Bedarfsausgabeknotens Beispiel definiert:

Wir werden dies durch eine ersetzen Parameterreferenz.

  1. Zunächst definieren wir die Grundnachfrage anhand einer Konstanter Parameter.

Füge ein neues hinzu **Pyr_Parameter. **

Und nenne es Grundnachfrage und drücke Geben Sie ein.

  1. Die Grundnachfrage bleibt bei 0.1 mm3/Tag. Kopieren Sie den JSON-Codeausschnitt und fügen Sie ihn in den JSON-Tab ein.

{
	„Typ“: „konstant“,
	„Wert“: 0.1
}

In jedem Zeitschritt entspricht der modellierte Bedarf dem Basisbedarf multipliziert mit dem Nachfragefaktor:

Zeitschrittbedarf = Basisbedarf x Bedarfsfaktor

Kalkulieren Zeitschrittnachfrage

  1. Füge ein neues hinzu **Pyr_Parameter. **

Benennen Sie den neuen Parameter „Zeitschrittnachfrage“

  1. Kopieren Sie den JSON-Codeausschnitt und fügen Sie ihn in den JSON-Tab ein.

{
	„type“: „AggregatedParameter“,
	„agg_func“: „Produkt“,
	„Parameter“: [
		„Grundnachfrage“,
		„Bedarfsfaktor der Kontrollkurve“
	]
}

Wählen Sie diese Option, damit dieser Parameterwert in jedem Zeitschritt ausgegeben wird.

  1. Das „Zeitschrittnachfrage“ definiert den Bedarf in jedem Zeitschritt unter Berücksichtigung des Zustands (d. h. der Speicherung in Echtzeit) im Reservoir.

Das Parameter muss auf der referenziert werden maximal_flow-Attribut des Demand-Knotens.

  1. Klicken Sie auf den Knoten Nachfrage und schreiben oder fügen Sie 'einZeitschrittanforderung“ im Attribut max\ _flow, das den Skalarwert ersetzt (0.1).

Bitte beachten Sie, wenn der Parametername nicht gespeichert wird, ändern Sie den Typ des Eintrags in „Deskriptor“.

Vergessen Sie nicht, die Änderungen zu speichern.

Führen Sie das Modell aus und sehen Sie sich die Ergebnisse an

  1. Lauf das Modell.

  1. Sehen Sie sich das an simuliert \ _volume auf dem Reservoir

Du kannst zoomen in die Dürre, das ist zum Beispiel die Dürre, die in 2042-2044 aufgetreten ist.

Im Szenario mit Nachfragereduktionen erreichte das Reservoir nicht das niedrigste Speichervolumen (9.4 gegenüber 8.__1234567890__Mm3).

  1. Klicken Sie auf den simulierten\ _flow des Demand-Knotens. Die Nachfragerückgänge sind sichtbar.

  1. Sie können die Ausgabe des Control-Cure-Parameters anzeigen, indem Sie auf das Netzwerkdaten Ansicht.

Klicken auf simuliert_Die Speichersteuerungskurve zeigt, welchen Index die Speichersteuerungskurve bei jedem Zeitschritt zurückgibt. Dieser Wert variiert zwischen 0 und 2.

Übung

  1. Erhöhen Sie den Parameter für den Basisbedarf. Wie hoch kann der Ausgangsbedarf sein, bevor sich das Reservoir vollständig entleert?

Bei jedem Zeitschritt gibt einen Indexwert zurück, wie unten gezeigt:

Diese Indizes können einem Nachfragefaktor zugeordnet werden, der mit einem definiert wird . Der Nachfragefaktor wird verwendet, um die Nachfrage zu reduzieren, wenn jeder Schwellenwert der Kontrollkurve überschritten wird.

Dies kann erreicht werden durch die Verwendung eines .

Parameter für den Kontrollkurvenindex
Indizierter Array-Parameter
Aggregierter Parameter
Parameter für den Kontrollkurvenindex
Indizierter Array-Parameter
Aggregierter Parameter
Monatliches Profil
Konstanten
Reservoir-Kontrollkurve
Fügen Sie einen Pywr_Parameter hinzu
Speichersteuerkurve
Fügen Sie den Code ein und speichern Sie
Aufnahmezeitreihen auswählen und speichern
Reservoir-Kontrollkurve
Reservoir-Kontrollkurve
Erstelle einen neuen Pywr_Parameter
Benennen Sie den Parameter
Fügen Sie den Code ein und speichern Sie
Aufnahmezeitreihen auswählen und speichern
Beispiel Nachfrage
Füge einen neuen Pywr_Parameter hinzu
Nennen Sie den neuen PYWR_Parameter
Fügen Sie den Code ein und speichern Sie
Füge einen neuen Pywr_Parameter hinzu
Benennen Sie den neuen Parameter
Fügen Sie den Code ein und speichern Sie
Wählen Sie die Aufnahme der Zeitreihen
Geben Sie den Namen des max_flow-Attributs ein
Klicken Sie auf max_flow bearbeiten
Wählen Sie DESKRIPTOR
Geben Sie den Namen ein
Klicken Sie auf, um das Modell auszuführen
Simuliertes _Volumen auf dem Reservoir
Simuliertes _Volumen auf dem Reservoir in 2042-2044
simulated_flow des Demand-Knotens
Klicken Sie hier, um die Ausgabe des Kontrollhärtungsparameters anzuzeigen
Steuern Sie die Ausgabe der Härtungsparameter