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


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, Parameter für den Kontrollkurvenindex, das Indizierter Array-Parameter sowie die Aggregierter Parameter 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 Monatliches Profil (60% in den kommenden Monaten und 45% in anderen) unter Berücksichtigung saisonaler Veränderungen, während die beiden nachfolgenden Kurven Konstanten (40% und 10% der Speicherkapazität des Reservoirs).

Reservoir-Kontrollkurve

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

Fügen Sie einen Pywr_Parameter hinzu

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

Speichersteuerkurve

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
	}
}
Fügen Sie den Code ein und speichern Sie
Aufnahmezeitreihen auswählen und speichern

Bei jedem Zeitschritt Parameter für den Kontrollkurvenindex gibt einen Indexwert zurück, wie unten gezeigt:

Reservoir-Kontrollkurve

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

Assoziierter Nachfragefaktor

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

Reservoir-Kontrollkurve

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

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

Benennen Sie den Parameter
  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
	],
}
Fügen Sie den Code ein und speichern Sie

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.

Aufnahmezeitreihen auswählen und speichern

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:

Beispiel Nachfrage

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. **

Füge einen neuen Pywr_Parameter hinzu

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

Nennen Sie den neuen PYWR_Parameter
  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
}
Fügen Sie den Code ein und speichern Sie

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

Zeitschrittbedarf = Basisbedarf x Bedarfsfaktor

Kalkulieren Zeitschrittnachfrage

Dies kann erreicht werden durch die Verwendung eines Aggregierter Parameter.

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

Füge einen neuen Pywr_Parameter hinzu

Benennen Sie den neuen Parameter „Zeitschrittnachfrage“

Benennen Sie den neuen Parameter
  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“
	]
}
Fügen Sie den Code ein und speichern Sie

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

Wählen Sie die Aufnahme der Zeitreihen
  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).

Geben Sie den Namen des max_flow-Attributs ein

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

Klicken Sie auf max_flow bearbeiten
Wählen Sie DESKRIPTOR
Geben Sie den Namen ein

Vergessen Sie nicht, die Änderungen zu speichern.

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

  1. Lauf das Modell.

Klicken Sie auf, um das Modell auszuführen
  1. Sehen Sie sich das an simuliert \ _volume auf dem Reservoir

Simuliertes _Volumen auf dem Reservoir

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

Simuliertes _Volumen auf dem Reservoir in 2042-2044

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.

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

Klicken Sie hier, um die Ausgabe des Kontrollhärtungsparameters anzuzeigen

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

Steuern Sie die Ausgabe der Härtungsparameter

Übung

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

Last updated

Was this helpful?