Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
description: WaterStrategy hilft Menschen und Organisationen, ihr Wassersystem zu verstehen und zukünftige Pläne zu bewerten. Die Dokumentation von WaterStrategy hilft Ihnen dabei, einen digitalen Zwilling Ihres Wassersystems zu erstellen, zu verfeinern und zu verwenden. layout: description: visible: true outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
layout: description: visible: false outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
WaterStrategy meldet Fehler, wenn entweder ein technischer Fehler vorliegt oder das Modell falsch konfiguriert wurde. Zu lernen, wie man einen Modellfehlerbericht versteht und verwendet, um ein Problem in einem Modell zu finden, ist eine wichtige und unverzichtbare Modellierungskompetenz.
Dieses Kapitel enthält ein Beispiel dafür, wie man einen Fehlerbericht liest, um den Teil eines Modells zu finden, der zu dem Fehler führt.
Wenn ein Lauf fehlschlägt, wirst du sehen, dass der Lauf im Abschnitt Runs rot wird.
Klicken Sie auf den roten Run-Balken und Sie erhalten eine Übersicht über den Lauf, einschließlich des Fehlerberichts.
Scrollen Sie zum Ende des Berichts. Hier meldet der Lauf seinen Fehler.
Für diesen Lauf kann festgestellt werden, dass ein Monatsprofil nicht korrekt eingegeben wurde.
In einigen Fällen werden im Ausführungsbericht weitere Einzelheiten zu einem Fehler angegeben. Es ist wichtig, die Ausführungsprotokolle noch einmal durchzusehen, um festzustellen, ob es Hinweise auf das Problem gibt.
Beim Scrollen nach oben sehen wir „KRITISCH“. Dies ist ein Hinweis darauf, dass ein Fehler erkannt wurde. In derselben Zeile wird angegeben, wo der Fehler liegt.
Die Eingabe „Verdunstung“ des Knotens „Beispielreservoir“ ist falsch.
Wir können den Parameter „Verdunstung“ bearbeiten, um dieses Problem zu lösen.
Das Monatsprofil enthält 13 Werte. Wir müssen den Wert entfernen, der nicht dazu gehört. In diesem Fall sollte '3.1234567890' nicht im Monatsprofil stehen.
Speichern Sie den Parameter und führen Sie dieses Modell erneut aus.
Jetzt wurde das Modell erfolgreich ausgeführt.
Um sich einzuloggen, gehen Sie zu (Hydra ist der sichere Server, auf dem wir derzeit WaterStrategy hosten)
Wenn Sie Ihr Passwort vergessen haben, klicken Sie auf ''Link.
description: So teilen Sie ein Projekt oder Netzwerk mit anderen WaterStrategy Benutzern
Projekte: Diese sind wie Ordner, in denen Unterprojekte und Netzwerke zusammengefasst sind.
Netzwerke: Jedes Modell mit einem eindeutigen Netzwerk wird in WaterStrategy als „Netzwerk“ bezeichnet.
Personensymbol: Zeigt an, dass Sie ausschließlich Zugriff auf das Projekt oder Netzwerk haben.
Personensymbol: Zeigt an, dass mehrere Personen Zugriff auf ein Projekt oder Netzwerk haben.
Ersteller: Das Projekt oder Netzwerk wurde erstellt.
Direkt geteilt: Das Projekt oder Netzwerk wurde speziell für einen Benutzer freigegeben.
Geerbt von: („Projektname“): Der Benutzer hat Zugriff auf dieses Unterprojekt oder Netzwerk, indem er ein Projekt teilt, das es umschließt.
Um ein Projekt zu teilen, geben Sie das Projekt ein und klicken Sie auf den Tab Mitglieder.
Geben Sie die E-Mail-Adresse des Kontos des Empfängers ein, mit dem Sie teilen möchten.
Es gibt zwei Berechtigungen, die Sie einem Empfänger gewähren können.
Benutzern das erneute Teilen erlauben? : Ermöglicht es ihnen, das Projekt und die darin enthaltenen Projekte/Netzwerke mit anderen zu teilen.
Benutzern erlauben, das Projekt zu bearbeiten? : Ermöglicht es ihnen, die Projekte/Netzwerke innerhalb des Projekts zu bearbeiten.
Wählen Sie „Einladen“, nachdem Sie die Berechtigungen ausgewählt haben.
Im Folgenden können Sie sehen, mit wem das Projekt geteilt wurde, verwalten, mit wem es geteilt wurde, ihre Berechtigungen einsehen und sehen, wie sie Zugriff erhalten haben.
Es gibt Berechtigungen, die Sie einem Empfänger gewähren können.
Benutzern das erneute Teilen erlauben? : Ermöglicht es ihnen, das Netzwerk mit anderen zu teilen.
Benutzern erlauben, das Projekt zu bearbeiten? : Ermöglicht es ihnen, das Netzwerk zu bearbeiten.
Clone Network: Erstellt ein doppeltes Netzwerk. Verhindert Änderungen am bereits vorhandenen Netzwerk. Hat die folgenden Optionen, wenn „Geklontes Netzwerk“ ausgewählt ist.
Ergebnisse in neues Netzwerk einbeziehen? : Führungsergebnisse in das geklonte Netzwerk einbeziehen.
Alle Szenarien einbeziehen? : Schließt die erstellten Szenarien in das geklonte Netzwerk ein.
Netzwerkname: Erstellen Sie den Namen des geklonten Netzwerks.
Geben Sie die E-Mail-Adresse des Kontos des Empfängers ein, mit dem Sie teilen möchten.
Klicken Sie auf „Teilen“, nachdem Sie die Berechtigungen ausgewählt haben.
Um ein Netzwerk zu teilen, klicken Sie auf das Symbol „Teilen“ in einem Netzwerk.
description: Es gibt verschiedene Möglichkeiten, Unterstützung für WaterStrategy anzufordern.
Der Discord-Kanal von WaterStrategy wird regelmäßig überwacht und bietet Unterstützung von Entwicklern und Benutzern. Dort kannst du Bugs melden oder neue Funktionen anfragen. Melde dich über diesen Link an:
Alternativ können Sie eine E-Mail senden support@waterstrategy.org
description: So erstellen Sie ein kostenloses Konto in WaterStrategy
Ein Konto erstellen
Wählen Sie unten auf der Webseite „Konto erstellen“. Zu „Anmelden“ gelangen Sie.
Geben Sie auf der Registrierungsseite Ihre E-Mail-Adresse, Ihren Vornamen, Nachnamen, Organisationstyp, Organisation, Land oder Region ein, erstellen Sie ein Passwort, wählen Sie „Ich bin kein Roboter“ und kreuzen Sie die drei Kästchen an.
Wählen Sie dann „Registrieren“.
Sie erhalten eine Bestätigung per E-Mail, um Ihr Konto zu bestätigen. Stellen Sie sicher, dass Sie auch Ihren Spam-Ordner überprüfen.
Ihr Konto wurde erstellt.
Einloggen
Geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein und kreuzen Sie die drei unteren Felder erneut an. Wählen Sie „Remember Me“, wenn Sie möchten.
Wählen Sie dann „Anmelden“.
Sie werden auf der Water Strategy Interface-Homepage sein.
Schauen Sie sich das Video an oder folgen Sie dem Text unten. Konten werden erstellt am ('Hydra' ist der Name unseres Webservers).
Auf der Webseite wählen Sie „LOGIN“ in der oberen rechten Ecke.
Um sich einzuloggen, besuchen Sie oder benutzen Sie die WaterStrategy Webseite „Login“
Neues Projekt und Netzwerk erstellen
Klicken Sie auf der Startseite der Benutzeroberfläche in der oberen rechten Ecke auf „Projekt erstellen“.
Geben Sie Ihren Projektnamen ein und wählen Sie „Hinzufügen“.
Geben Sie Ihr neues Projekt ein.
Klicken Sie auf der rechten Seite auf „Netzwerk erstellen“.
Wählen Sie den Tab „Manuell“.
Geben Sie einen Netzwerknamen ein.
Wählen Sie eine dieser beiden Pywr-Vorlagen.
\ -Die anderen Vorlagen sind für andere Modellierungssysteme wie Energiesysteme.
Wählen Sie „Karte verwenden“, um sich die Weltkarte für den Modellbau anzeigen zu lassen.
Klicken Sie auf „Senden“.
Geben Sie das erstellte Netzwerk ein.
Schalten Sie um und zoomen Sie auf einen Bereich entlang des Nils.
Wählen Sie das Drop-down-Menü „Build“ aus.
Ziehen Sie ein Einzugsgebiet, einen Link und zwei Ausgabeknoten in das Modell, wie unten dargestellt.
\ -Der zweite Ausgangsknoten (Off-River) wird als Wasserentnahmeknoten verwendet.
\ -Beachten Sie, dass der Einzugsknoten flussaufwärts und der Ausgangsknoten flussabwärts liegt.
(der Nil fließt in diesem Teil und insgesamt nach Norden)
Verbinden Sie die Knoten mithilfe der Funktion „Links“ in Flussrichtung.
\ -Dazu klicken Sie zuerst auf den Upflow-Knoten und dann auf den Downflow-Knoten.
description: Um einen „digitalen Zwilling“ (einen Computersimulator) Ihres Wassersystems zu bauen, verwendet WaterStrategy Pywr ('Python Water Resources').
Pywr ist eine kostenlose Open-Source-Softwarebibliothek in Python-Sprache, mit der hochwertige (detaillierte und genaue) Simulationsmodelle von Wasserressourcensystemen erstellt werden können.
Pywr-Modelle laufen schnell auf Ihrem Computer oder, im Fall von WaterStrategy, in der Cloud. Sie können kleine Wasserressourcensysteme, wie die Wasserversorgung einer Stadt, oder sehr große, wie Flusseinzugsgebiete, die sich über mehrere Länder erstrecken und über Hunderte von Wassernutzern und Infrastrukturanlagen verfügen, darstellen. Pywr kann kurze Zeiträume (wie ein paar Monate) oder längere (wie 100 Jahre) in einer Reihe von Zeitschritten (von täglich bis monatlich) simulieren.
Hier ist eine Zusammenfassung des Pywr-Modellierungsprozesses:
1. Richten Sie das Modell ein
Zunächst werden eine räumliche Wassersystemkarte und zugehörige hydrologische Daten und Wasserbedarfsdaten benötigt. WaterStrategy hilft Ihnen dabei, diese Netzwerkkarte aller Standorte („Knoten“) zu erstellen, an denen Wasser in das System gelangt („Zuflüsse“), an denen Wasser genutzt wird („Wasserbedarf“) und an denen Wasser verwaltet wird (Standorte der Infrastruktur). Diese Knoten bilden ein Netzwerk, das durch Flüsse, Kanäle oder Pipelines verbunden ist (Pywr nennt diese „Links“ oder „Kanten“). Sobald Sie Ihre Netzwerkkarte eingerichtet haben, stellen Sie Daten zu Wasserversorgung und -nachfrage bereit (in der Regel als Zeitreihen).
2. Führen Sie eine Simulation aus
Wenn alle Daten, einschließlich Zeitschritt und Zeithorizont, eingegeben wurden, kann das Modell simuliert werden (d. h. Schritt für Schritt und Durchführung der Wasserabrechnung im gesamten System). Zu Beginn jedes Zeitschritts injiziert der Computer zunächst Wasser in alle Zuflussstellen. Dieses Wasser wird dann durch das Netzwerk geleitet und den verschiedenen Wasserbedarfs- und Infrastrukturstandorten zugewiesen. Dieser Zuweisungsprozess wird mit einer Berechnungstechnik durchgeführt, die als lineare Programmierung bezeichnet wird. Nach Abschluss eines Zeitschritts aktualisiert das Modell die Speicher, zeichnet auf, an welchen Orten wie viel Wasser gewonnen wurde, und fährt dann bis zum Ende des simulierten Zeithorizonts mit dem nächsten Zeitschritt fort.
Jedem Wasserbedarfsknoten wird eine Priorität zugewiesen, um die Wasserzuteilung im Modell darzustellen. Jedem Knoten ist ein Nachteil zugeordnet, und der Allokationsalgorithmus verteilt das Wasser im gesamten Netzwerk, um die Gesamtbelastung zu minimieren. Dieser einfache Ansatz ermöglicht schnelle und wartbare Simulationen, die flexibel genug sind, um detaillierte und realistische Regeln für die Wasserwirtschaft abzubilden.
3. Ergebnisse überprüfen
Zu den Modellausgaben gehört, wie viel Wasser in jeden Standort (Knoten) gelangt und wie viel Wasser in jedem Zeitschritt gespeichert, verbraucht oder durch ihn fließt. Auf diese Weise lässt sich nachvollziehen, wie die Infrastruktur genutzt wird und ob Städte, Ökosysteme, Bewässerungsgebiete, Kraftwerke usw. ausreichend mit Wasser versorgt werden. Die Ergebnisse vermitteln ein detailliertes Bild davon, wie das Wassermanagementsystem funktioniert und wie die Vorteile des Wassers verteilt werden.
Anfänglich sind Modelle schlecht parametrisiert und liefern ungenaue Vorhersagen (die Phase „Müll rein, Müll raus“). Im Laufe der Zeit kann das Modell jedoch, wenn es verbessert („kalibriert“) wird, zu einem wertvollen digitalen Zwilling werden, der den Betrieb oder die Planung eines Wassersystems unterstützt. Das Tool hilft Ihrem Unternehmen dabei, schnell und kostengünstig die Auswirkungen potenzieller zukünftiger Wasseränderungen und Interventionen zu bewerten und gute Entscheidungen zu treffen.
Viel Glück!
CSV
Excel
HDF 5
Hinweis: Unter den vorherigen Optionen haben Excel-Dateien die langsamste Leistung, während HDF5-Dateien die beste Leistung haben und für große Datensätze bevorzugt werden.
Dadurch wird die Datei zu Ihrem Projekt hinzugefügt, sodass sie in allen Netzwerken innerhalb des Projekts verwendet werden kann.
Sobald die Dateien hochgeladen wurden, werden sie im Dateien Tab in Ihrem Projekt. Von dort aus können Sie sie einfach anzeigen, verwalten und in allen Netzwerken des Projekts teilen.
WaterStrategy ist nicht erforderlich, um ein Pywr-Modell auszuführen. Es dient dazu, die Verwendung von Pywr-Modellen zu vereinfachen. Wenn Sie eine Pywr-Modell-Eingabedatei haben (sie werden „JSON“ -Dateien genannt) und die erforderlichen Python- und Pywr-Bibliotheken auf Ihrem Computer installiert haben, können Sie Ihr Pywr-Modell ohne WaterStrategy ausführen (Hinweis: Python-Kenntnisse sind erforderlich). Ebenso können Sie, wenn Sie ein vorhandenes Pywr-Modell (eine JSON-Datei) haben, es in __1234567890__importieren.
Diese Seite zeigt, wie man Modelle aus WaterStrategy in eine Pywr JSON-Datei exportiert und wie man bestehende Pywr-Modelle (JSON-Dateien) in WaterStrategy importiert
In diesem Abschnitt wird das „Demo One Network“ verwendet, das bei der Kontoerstellung zur Verfügung gestellt wird.
Klicken Sie zuerst auf den Download-Button.
Dann wählen wir unser Format.
Wählen Sie zuerst das Hydra JSON-Format. Wenn Sie Zeilenumbrüche aktivieren möchten, damit Ihr Code oder Text leichter lesbar ist. Wenn es sich um eine große Datei handelt, können Sie sie komprimieren.
Reichen Sie es ein.
Laden Sie als Nächstes das Pywr JSON-Format herunter.
Anschließend finden Sie die beiden Dateien in dem Ordner, in dem Sie sie speichern möchten.
Mal sehen, wie man Pywr-Dateien importiert.
Klicken Sie zunächst auf „Projekt erstellen“, um einen Projektordner in Ihrem Water Strategy Konto zu erstellen.
Benennen Sie das Projekt und klicken Sie auf „Hinzufügen“.
Klicken Sie auf das erstellte Projekt.
Klicken Sie auf „Netzwerk erstellen“.
Wählen Sie 'Hydra JSON'.
Klicken Sie auf „Datei auswählen“.
Wählen Sie die Hydra JSON-Datei.
Wählen Sie die Vorlage aus.
Klicken Sie auf „Senden“.
Dann können Sie feststellen, dass das Netzwerk importiert wurde.
Um die Pywr JSON-Datei zu importieren, können Sie diesen Schritten folgen.
Klicken Sie erneut auf „Netzwerk erstellen“.
Wählen Sie das 'Pywr JSON'.
Klicken Sie auf „Datei auswählen“.
Wählen Sie die Pywr JSON-Datei.
Wählen Sie die Vorlage aus.
Für die Projektion können Sie „Keine“, „Großbritannien“ oder „Welt“ wählen. In diesem Fall wählen wir die „Welt“.
Klicken Sie auf „Senden“.
Schließlich können Sie das importierte Netzwerk hier.
description: Schlüsselbegriffe, die in Pywr verwendet werden.
Pywr, eine Python-Bibliothek, die von WaterStrategy verwendet wird, ermöglicht die Simulation der Ressourcenzuweisung, indem ein Ressourcensystem mithilfe von „Knoten“ und „Kanten“ als Netzwerk dargestellt wird. Die Ressourcenzuweisung basiert auf Betriebsregeln, die „Allocation Penalties“, „Constraints“ und „Parameter“ verwenden. Die Modellausgaben werden mithilfe von „Recorders“ erfasst und gespeichert. Variationen von Modelleingaben können mithilfe von „Szenarien“ spezifiziert und parallel ausgeführt werden.
Die allgemeinen Konzepte, die zur Erstellung eines Simulationsmodells für die Ressourcenzuweisung in Pywr verwendet werden, ähneln zwar denen anderer Tools, die Verwendung von Begriffen kann jedoch unterschiedlich sein. In diesem Abschnitt definieren wir die wichtigsten Pywr-Begriffe und ihre Rolle in Simulationsmodellen.
Um ein Netzwerk zu bilden, werden Knoten über Verbindungen miteinander verbunden, die den Wassertransport darstellen. Pywr nennt diese „Kanten“. Eine Kante hat einen Anfangs- und einen Endknoten, und Wasser fließt vom Startknoten zum Endknoten. Pywr weist diesen Verbindungen (den Kanten) keine Informationen zu, sondern weist Daten den Quell- und Zielknoten zu. Alle Daten, die zur Simulation des Wassermanagements benötigt werden, werden auf Knoten gespeichert, die Kanten bestimmen nur die Richtung des Wasserflusses. Ein Pywr-Modellierer würde sagen, „Pywr-Kanten bestimmen die Netzwerktopologie“, was bedeutet, dass „die Verbindungen zwischen den Knoten bestimmen, wie sich das Wasser im Computermodell bewegt“.
Einschränkungen können für verschiedene Knotentypen festgelegt werden, um das Systemverhalten besser abzubilden. Beispielsweise kann ein Flussknoten maximale und/oder minimale Durchflusswerte haben, um die Förderkapazität darzustellen. In Pywr haben viele Knoten den Wert 'max_flow' und 'min_Flow-Attribute, um bei Bedarf die Ober- und Untergrenzen des Flusses durch den Knoten festzulegen. Für das Attribut 'max\ _flow' ist es nicht erforderlich, dass der Fluss durch diesen Knoten diesen Wert erreicht, aber wenn das Wasservolumen und die Priorität ausreichend sind, versucht das Modell, den 'Max Flow' einzuhalten. Minimale Durchflussbeschränkungen sollten mit Vorsicht verwendet werden, da sie zur Undurchführbarkeit des Modells führen können, wenn der Mindestwert nicht erreicht werden kann.
Zuweisungsstrafen sind Knotenattribute, die die Priorität der Wasserzuteilung steuern. Diese werden in der Regel als Strafen oder „Kosten“ ausgedrückt, und das Modell weist Wasser zuerst dem Knoten mit der niedrigsten Belastung zu. Wenn Sie es vorziehen, Wasser nach Nutzen zuzuweisen und Wasser zuerst dorthin zu leiten, wo es den größten Nutzen hat, müssen Sie Ihre Prioritäten in Pywr als negative Kosten ausdrücken (d. h. negative Zahlen verwenden). Tatsächlich können beide zusammen verwendet werden. Wenn also beispielsweise 3 Knoten Strafen -10, 2, 6 haben, erhalten sie Wasser in dieser Reihenfolge (der Knoten mit einer Strafe von -10 erhält zuerst Wasser, und der Knoten mit der Zuweisungsstrafe 6 erhält Wasser zuletzt).
Parameter in Pywr bieten eine flexible und bequeme Möglichkeit, Eingaben für Knoten bereitzustellen. Beispielsweise kann ein bestimmter Parametertyp verwendet werden, um Zufluss- oder Bedarfsdaten aus einer Microsoft Excel-Datei zu laden. Parameter bieten auch eine flexible und anpassbare Möglichkeit, die Betriebsregeln eines Systems zu definieren (z. B. Regeln für die Freigabe von Reservoirs). Die meisten Modelleingabedaten können mithilfe von Parametern bereitgestellt werden.
Pywr-Recorder werden zur Nachbearbeitung der Ergebnisse verwendet. Indem Sie einen Rekorder erstellen, können Sie Simulationsergebnisse beobachten und speichern. Einige Rekorder ermöglichen die Aggregation der Ergebnisse über Zeit (z. B. von täglich zu jährlich) und räumlich (z. B. Wasser, das einer Gruppe von Knoten zugewiesen ist).
In Pywr können Sie Szenarien mit unterschiedlichen Eingabedaten zu Angebot, Nachfrage oder anderen Veränderungen erstellen und simulieren. Wasserplaner verwenden zunehmend Langzeitsimulationen mit vielen Szenarien, um zukünftige Veränderungen zu bewerten oder mögliche Interventionen zu testen. Die Fähigkeit, viele plausible Zukunftsszenarien schnell zu simulieren, ist einer der Hauptvorteile von Pywr.
Hinweis:
description: Wie funktioniert es? was gibt es aus? und wie wird es benutzt?
Um zu verstehen, wie ein Wassersystem heute funktioniert, und um die Auswirkungen zukünftiger Veränderungen zu bewerten, erstellen Planer Modelle für Wasserressourcensysteme.
Wasserressourcensysteme können klein sein, wie eine Stadt und ihre Wasserversorgungsquellen, oder groß, wie ein Land mit vielen verschiedenen Flüssen, Wasserinfrastrukturanlagen und Wassernutzern. Ganz gleich, ob Sie versuchen, die Zuverlässigkeit der aktuellen Quellen zu bewerten oder neue Interventionen unter plausiblen zukünftigen Bedingungen zu evaluieren, ein solches Computermodell hilft Ihnen dabei, das Wasser im gesamten System (räumlich) und im Zeitverlauf zu verfolgen.
Ausgehend von Daten zu Wasserflüssen und Klima, Wasserbedarf und -nutzung sowie zu Regeln und Zuteilungen für die Wasserwirtschaft gibt ein Wassersystemmodell Wasserflüsse und -mengen an jedem modellierten Ort und in jedem modellierten Zeitschritt aus. Wenn diese Ergebnisse aggregiert werden, vermitteln sie ein genaues Bild davon, wie sich verschiedene Wassermaßnahmen (Änderungen der Wasserpolitik oder der Infrastruktur) auswirken könnten.
description: Sehen Sie sich einen Überblick über die WaterStrategy Schnittstelle an; eine Textzusammenfassung folgt.
Projekt: Ordner, der verwandte Netzwerke enthält, kann auch andere Projektordner (Unterprojekte) enthalten.
\ -Jeder Projektordner zeigt die Anzahl der darin enthaltenen Netzwerke und Unterprojektordner an.
Netzwerk: Modell.
Wählen Sie auf der Startseite der Benutzeroberfläche das Projekt „Schulungsmaterial“ aus.
Wählen Sie das Demo 1-Netzwerk aus.
\ -Im Netzwerk sehen Sie oben auf der Seite eine Leiste, die wie folgt aussieht.
\ -Die Tabs „Home“ und „Meine Projekte“ bringen Sie zurück zur Interface-Startseite.
\ - „Dokumentation und Schulung“ führt Sie auf die Seite mit den Tutorial-Videos und den schriftlichen Anweisungen der Benutzeroberflächen.
\ -Auf der Registerkarte „Favoriten“ können Sie Projekte, Netzwerke und Szenarien mit einem Lesezeichen versehen. Es bietet auch die Möglichkeit, zu kürzlich aufgerufenen und kürzlich geänderten Projekten und Netzwerken zu wechseln.
\ - „Zurück zu 'Schulungsmaterial'“ bringt Sie zurück zum Projektordner für Schulungsmaterial.
\ -Die grüne Play-Taste steuert ein Modell.
\ -Der Schraubenschlüssel ermöglicht den Zugriff auf erweiterte Netzwerkdienstprogramme, wie z. B. das Importieren oder Exportieren von Netzwerkdaten.
\ -Der Abwärtspfeil in der rechteckigen Schaltfläche dient zum Herunterladen des Modells. Er wird verwendet, um es offline auszuführen oder an jemanden zu senden.
\ -Die drei Zeilen sind „Netzwerkdaten anzeigen“.
Klicken Sie auf „Netzwerkdaten anzeigen“.
\ -In „Details“ können Sie den Namen des Netzwerks ändern.
\ -Manchmal muss das Netzwerk beendet werden, um aktualisiert zu werden.
\ -In „Eingaben“ können Sie den Start, das Ende und den Zeitschritt Ihres Modells ändern.
\ -d=Tag, m=Monat, Y=Jahr für Zeitschritt.
Klicken Sie auf das Schraubenschlüsselsymbol, um zu „Einstellungen“ zu gelangen.
Beschriftungen anzeigen — zeigt Knotennamen an
Linkrichtung- zeigt die Flussrichtung der Links
Tooltips anzeigen — zeigt Knoteninformationen an, wenn Sie den Mauszeiger darüber bewegen
Seitenleiste automatisch ausblenden- Blendet die Seitenleiste aus, wenn sie nicht verwendet wird
Kategorisieren Sie Attribute immer nach Typ- Gruppiert Attribute innerhalb eines Knotens als Skalare, Deskriptoren usw.
Klicken Sie auf das „i“, um zu „Info“ zu gelangen.
\ -Sie können Ihre „Netzwerk-ID“ und andere Informationen sehen.
Schließen Sie die Seitenleiste und gehen Sie zum Abschnitt Szenario auf der linken Seite der Seite.
\ -Szenarien sind Variationen von Eingabedaten, Hydrologie usw. innerhalb eines Modells.
\ -Üblich, um mehrere Szenarien innerhalb eines Modells zu erstellen.
Button 1 (links) — Szenario klonen
Button 2 — Szenario bearbeiten
Button 3- Szenario löschen
Button 4- Szenarioliste aktualisieren
Button 5 — Szenario als Lesezeichen speichern
Button 6 (rechts) — Szenarien vergleichen
\ -Um ein neues Szenario zu erstellen, klonen Sie ein bereits vorhandenes Szenario und geben Sie ihm einen neuen Namen. Sobald Sie es erstellt haben, ändern Sie die Modelleingabedaten wie gewünscht.
Klicken Sie auf die Schaltfläche „Modell ausführen“.
\ -Behalten Sie das Basisszenario bei.
\ -Behalten Sie alle anderen Standardwerte bei.
Klicken Sie auf „Senden“.
\ -Im Abschnitt „Läufe“ auf der linken Seite der Seite siehst du deinen neuen Lauf und vergangene Läufe.
\ -Yellow=In der Warteschlange ausführen
\ -Blue=Wird ausgeführt
\ -Green=Erfolgreicher Lauf
\ -Red=Ausführung fehlgeschlagen
Klicken Sie unter dem Abschnitt „Ausführen“ auf „Build“.
\ -Dies stellt alle Knoten und Links bereit, die zum Erstellen eines Modells benötigt werden.
\ -Nach dem Einfügen eines Knotens müssen Daten eingegeben werden.
Klicken Sie unter dem Abschnitt „Build“ auf „Suchen“.
\ -Damit können Sie Knoten und Links in großen Modellen leicht finden.
Mit der Bombenschaltfläche in der oberen linken Ecke der Karte kannst du dein Modell erweitern, um es bei Bedarf weniger überfüllt zu machen.
Karte- Zeigt Modell
Ressourcen- Kann Ihre Knoten, Links und Gruppen anzeigen
Metrics- Bietet Funktionen für die Aggregation von Modellausgaben
Benutzerdefinierte Regeln — Benutzerdefinierte Betriebsregeln
Parameters- Fügen Sie Parameter hinzu, die nicht in Pywr enthalten sind
Recorders- Fügen Sie Rekorder hinzu, die nicht in Pywr enthalten sind
Mitglieder- Zeigt die Mitglieder an, die Zugriff auf das Modell haben, und die Berechtigungen, die sie besitzen. Sie können auch Mitglieder in diesem Tab hinzufügen und die Berechtigungen auswählen, die sie haben
Analyse — Vergleich von Knoten und Links innerhalb von Szenarien
In WaterStrategy haben Benutzer die Flexibilität, große und komplexe Datensätze effizienter zu verwalten, indem sie Daten aus externen Dateien laden als Verwenden Sie das Schlüsselwort „url“, anstatt alle Daten direkt in die Schnittstelle einzubetten. Zu den Dateiformaten gehören:
Um eine Datei in WaterStrategy hochzuladen, navigieren Sie zu Ihrem Projekt und klicken Sie auf den Tab Dateien. Klicken Sie von dort aus auf Wählen Sie Dateien und wählen Sie die Datei aus, die Sie hochladen möchten, und klicken Sie auf .
Knoten stellen Stellen im simulierten Wassersystem dar, an denen Wasser hinzugefügt, gespeichert, verwendet, verbraucht oder übertragen wird. In Pywr gibt es verschiedene Knotentypen, die Ihnen bei der Erstellung Ihres Wassersystemmodells helfen. Mehr über sie erfahren Sie in der Abschnitt. Die Daten, die die physikalischen Eigenschaften und das Verhalten eines Knotens definieren, können dem Knoten direkt oder indirekt hinzugefügt werden, indem auf einen Parameter verwiesen wird (siehe unten).
Weitere Informationen finden Sie in dem Open-Access-Papier mit dem Titel: .
Pywr-Knotentypen können auch weiter in 6 Kategorien unterteilt werden: , , , , , und . Weitere Informationen zu diesen Gruppierungen von Knoten und Knotentypen finden Sie in den Unterabschnitten des Abschnitts „Knotentypen“.
Eine Übersicht der Knoten in Pywr finden Sie . Die vollständige Liste der integrierten Knoten in Pywr finden Sie .
layout: description: visible: false outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
Wassereingangsknoten sind der Mechanismus, durch den Wasser in das System gelangen kann. Hier stellen wir die drei am häufigsten verwendeten Knoten für den Wassereintrag vor.
layout: description: visible: false outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
Der Wassertransportknotentyp ermöglicht es Benutzern, zu definieren, wie Wasser unter realen Bedingungen durch verschiedene Knoten fließt. Im Folgenden sind die am häufigsten verwendeten Knoten für den Wassertransport aufgeführt:
Eingabeknoten stellen Wassereingänge in das System dar.
Eingabeknoten werden häufig verwendet, um Quellen darzustellen, die durch Erträge definiert sind. Sie werden häufig zur Darstellung der Grundwassererträge verwendet.
Zuweisungsstrafe
Die Zurechnungskosten pro Einheit fließen über den Knoten
Fakultativ
Maximaler Durchfluss
Die maximale Flussbeschränkung auf dem Knoten
Fakultativ
Minimaler Durchfluss
Die minimale Flussbeschränkung auf dem Knoten
Fakultativ
kommt bald...
Das Einzugsgebiet ist eine andere Art von Eingabeknoten mit festem Zufluss. Einzugsgebietsknoten werden häufig verwendet, um einen Fluss oder eine andere Art von Zufluss in das System darzustellen. Jeder auf ihnen definierte Fluss muss in das System münden.
Oft werden Zuflusszeitreihen (z. B. Pywr-Datenrahmen) auf dem definiert fließen Attribut zur Darstellung von Zuflüssen aus Einzugsgebieten, es können jedoch auch andere Parameter verwendet werden (z. B. konstant, monatliches Profil usw.).
kommt bald...
Eingabeknoten
Eingabeknoten stellen Wassereinträge in das System dar.
Einzugsgebiet
Einzugsgebiete werden häufig verwendet, um einen Fluss oder eine andere Art von Zufluss in das System darzustellen.
Proportionaler Eingangsknoten
Der proportionale Eingangsknoten ist für einen einfachen Fall vorgesehen, in dem ein festes Durchflussverhältnis erforderlich ist, um auf mehrere flussabwärts gelegene Strecken verteilt zu werden.
Link Node
Link node steht für eine Verbindung im Wassersystem oder für eine andere interessante Stelle, der eine maximale oder minimale Durchflussbeschränkung oder eine Zuordnungspriorität zugewiesen wurde.
Flussknoten
Ein Flussknoten ist ein Knoten im Flussnetz, der mehrere Knoten flussaufwärts (d. h. einen Zusammenfluss) haben kann, aber nur einen Knoten flussabwärts.
Knoten „Delay“
Diese Verzögerungen dauern für eine bestimmte Anzahl von Zeitschritten oder Tagen. Dies wird verwendet, wenn die Flusslaufzeit nicht ignoriert werden kann, z. B. weil die Zeitschritte relativ kurz sind.
Storage Node
Storage node ist ein allgemeiner Knoten, der Wasser (wie Dämme oder Grundwasserleiter) speichern kann, für das ein Mindest- und ein Höchstvolumen gelten.
Reservoirknoten
Der Reservoirknoten ist ein Typ von storage node mit zusätzlichen Funktionen zur Darstellung von Verdunstung und Niederschlag.
Ausgangsknoten
Ausgangsknoten sind Orte, an denen Wasser das System verlässt.
Verlust Link Node
Loss Link ermöglicht die Definition eines festen proportionalen Durchflussverlustes, der durch diesen Knoten fließt.
Turbinenknoten
Ein Turbinenknoten kann eine Turbine einer Wasserkraftanlage darstellen. Es berechnet den Durchfluss, der erforderlich ist, um in jedem Zeitschritt ein bestimmtes Ziel für die Erzeugung von Wasserkraft zu erreichen.
Bei jedem Zeitschritt kann ein Eingangsknoten so viel Wasser bereitstellen, wie vom Maximaler Durchfluss attribut. Jedoch im Gegensatz die zur Abgabe der in ihrem Flow-Attribut definierten Wassermenge erforderlich sind. Eingabeknoten müssen kein Wasser abgeben, es sei denn, sie haben einen Wert ungleich Null Minimaler Durchfluss.
.
.
Das proportionaler Eingangsknoten ist für einen einfachen Fall vorgesehen, in dem ein festes Durchflussverhältnis erforderlich ist, um es auf mehrere flussabwärts gelegene Strecken zu verteilen. .
fließen
Die Menge an Wasser, die vom Einzugsknoten zu jedem Zeitschritt geliefert wird
Erforderlich, der Standardwert ist 0, wenn nicht eingegeben.
Zuweisungsstrafe
Die Kosten pro Einheit fließen über den Knoten
Fakultativ
Faktoren
Die Faktoren, die bei den zusätzlichen Spaltungen erzwungen werden müssen. Anzahl der zusätzlichen_
Es wird davon ausgegangen, dass der Slot um eins kleiner ist als die Länge der Faktoren (gemäß der pywr.nodes.MultiSplitLink-Dokumentation) Optionaler Slot
_Namen
Die Identifikatoren, die sich auf die Steckplätze beziehen, wenn von diesem Knoten aus eine Verbindung hergestellt wird. Die Länge muss um eins größer sein als die Anzahl der benötigten zusätzlichen Steckplätze
Fakultativ
fließen
Die Wassermenge, die das Einzugsgebiet in jedem Zeitschritt liefert
Fakultativ
flow
Zuweisungsstrafe
Die Kosten pro Einheit fließen über den Knoten
Fakultativ
max._
Die maximale Durchflussbeschränkung auf dem Knoten
Optionaler
Mindestwert_fließen
Die minimale Flussbeschränkung auf dem Knoten
Fakultativ
kommt bald...
Das RiverGauge-Knoten ist eine Flussmessstation mit einem minimalen Restdurchfluss (MRF). .
Das link node stellt eine Verbindung im Wassersystem oder eine andere Sehenswürdigkeit dar, der eine maximale oder minimale Durchflussbeschränkung oder eine Zuordnungspriorität zugewiesen wurde. Bitte beachten Sie, dass in Pywr Kanten (Verbindungen) keine Fließbeschränkungen zugewiesen werden können und daher häufig Verbindungsknoten für diesen Zweck verwendet werden. .
Das Delay-Knoten ist ein Knoten, der den Fluss um eine bestimmte Anzahl von Zeitschritten oder Tagen verzögert. Dieser Knoten wird verwendet, wenn die Wasserausbreitungszeit im Vergleich zur ausgewählten Zeitskala nicht ignoriert werden kann. .
Das Flussknoten ist ein Knoten im Flussnetz, der mehrere Knoten flussaufwärts (d. h. einen Zusammenfluss) haben kann, aber nur einen Knoten flussabwärts. .
Zuweisungsstrafe
Die Kosten pro Einheit fließen über den Knoten
Fakultativ
Zeitschritte
Anzahl der Zeitschritte, um den Flow zu verzögern
Fakultativ
Tage
Anzahl der Tage, um den Ablauf zu verzögern. Die Angabe einer Anzahl von Tagen (statt einer Anzahl von Zeitschritten) ist nur gültig, wenn die Anzahl der Tage exakt durch das Zeitschrittdelta des Modells teilbar ist
Fakultativ
initial_flow
Vom Knoten bereitgestellter Flow für die ersten Zeitschritte, bevor ein verzögerter Flow verfügbar ist. Dieser Wert ist für alle verzögerten Zeitschritte und alle Modellszenarien konstant. Die Standardeinstellung ist 0.0
Fakultativ
Zuweisungsstrafe
Die Kosten pro Einheit fließen über den Knoten
Fakultativ
max._
Die maximale Durchflussbeschränkung auf dem Knoten
Optionaler
Mindestwert_fließen
Die minimale Flussbeschränkung auf dem Knoten
Fakultativ
Konzeptionell sieht dieser Knoten intern wie folgt aus:
Ein zusätzlicher Sublink im PieceWiseLink (d. h. X2 oben) und Knoten (d. h. Bo und Bi) in dieser Klasse werden für jeden zusätzlichen Slot hinzugefügt.
Hinweise: Benutzer müssen vorsichtig sein, wenn sie den Faktormechanismus verwenden. Faktoren verwenden den letzten nicht geteilten Unterlink (d. h. X1, aber nicht X0). Wenn diese Verbindung durch einen maximalen oder minimalen Fluss eingeschränkt ist oder wenn es eine andere uneingeschränkte Verbindung gibt (d. h. wenn X0 nicht eingeschränkt ist), werden die Verhältnisse für diesen gesamten Knoten möglicherweise nicht wie erwartet durchgesetzt.
flow names
Zuweisungsstrafe
Die Kosten pro Einheit fließen über den Knoten
Fakultativ
max._
Die maximale Durchflussbeschränkung auf dem Knoten
Optionales
Extra_Steckplätze
Anzahl der zusätzlichen Steckplätze (und Unterlinks), die bereitgestellt werden sollen. Muss größer als Null sein.
Fakultativ
Schlitz_
Die Namen, mit denen bei der Verbindung zu anderen Knoten auf die Steckplätze verwiesen werden soll. Die Länge muss um eins größer sein als die Anzahl der zusätzlichen_Spielautomaten. Das erste Element bezieht sich auf die PieceWiseLink-Verbindung mit den folgenden Elementen für jeden zusätzlichen Steckplatz.
Fakultativ
Faktoren
Falls angegeben, muss die Länge um eins größer als die Anzahl der extra_slots sein. Jedes Element entspricht dem Anteil des gesamten Datenflusses, der durch die zusätzlichen Unterlinks geleitet wird. Wenn für einen bestimmten Unterlink kein Faktor erforderlich ist, verwenden Sie Keine für seine Artikel. Die Faktoren werden vor der Verwendung im Solver normalisiert.
Fakultativ
kommt bald...
Kosten Kosten Die Faktoren Die
mrf
Der minimale Restdurchfluss (MRF) am Messgerät
Erforderlich
mrf_
Die Kosten der Route über das MRF
Erforderliche
Kosten
der anderen (uneingeschränkten) Route
Erforderliche
Faktoren, die bei den zusätzlichen
Teilungen erzwungen werden müssen. Anzahl der zusätzlichen_Es wird davon ausgegangen, dass Slot um eins kleiner ist als die Länge der Faktoren (gemäß Multisplit-Verbindung Dokumentation)
Erforderlich
Slot-Namen
Die Identifikatoren, die sich auf die Steckplätze beziehen, wenn von diesem Knoten aus eine Verbindung hergestellt wird. Die Länge muss um eins größer sein als die Anzahl der benötigten zusätzlichen Steckplätze
Erforderlich
kommt bald...
). _Namen
Faktoren
Die Faktoren, die bei den zusätzlichen Spaltungen erzwungen werden müssen. Anzahl der zusätzlichen_Es wird davon ausgegangen, dass Slot um eins kleiner ist als die Länge der Faktoren (gemäß der pywr.nodes.MultiSplitLink-Dokumentation
Optionaler
Steckplatz
Die Identifikatoren, die sich auf die Steckplätze beziehen, wenn von diesem Knoten aus eine Verbindung hergestellt wird. Die Länge muss um eins größer sein als die Anzahl der benötigten zusätzlichen Steckplätze.
Fakultativ
kommt bald...
Das MultiSplitLink node ist eine Erweiterung von das beinhaltet zusätzliche Steckplätze, von denen aus eine Verbindung hergestellt werden kann.
Schließlich wird ein Mechanismus bereitgestellt, um (optional) das Verhältnis zwischen dem letzten nicht geteilten Unterlink (z. B. X1) und jedem der zusätzlichen Unterlinks (z. B. X2) festzulegen. Dieser Mechanismus verwendet Aggregierter Knoten intern. .
Das RiverSplitWithGauge node ist eine Abzweigung des Flussnetzes mit einem minimalen Restfluss (MRF). Gemäß Fluss Split erstellt jedoch standardmäßig eine andere Route im zugrunde liegenden Objekt, um eine MRF zu modellieren. Diese Route ist so gewählt, dass das MRF nicht Teil erzwungener Verhältnisse ist. Mit diesem Objekt soll der Fall modelliert werden, dass ein Teil des Flusses oberhalb des MRF abstrahiert werden kann (z. B. 90% des Flusses über dem MRF). .
Das RiverSplit node ist eine Abzweigung im Flussnetz. Es ist für einen einfachen Fall vorgesehen, in dem ein festes Verhältnis des Durchflusses auf mehrere Flussläufe flussabwärts verteilt werden muss. .
layout: description: visible: false outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
Der Wassertyp storage node ermöglicht es Benutzern, verschiedene Reservoirs mit unterschiedlichen Betriebsmodi zu bauen. Im Folgenden sind die am häufigsten verwendeten Wasserspeicherknoten aufgeführt:
Volumen pc Optionale Einheit
Zuweisungsstrafe
Die Kosten pro Einheit fließen über den Knoten
Fakultativ
Min._
Das Mindestvolumen des Speichers.
Der Standardwert ist 0.0 Optionaler Maximalwert
_Volumen
Das maximale Volumen des Speichers. Die Standardeinstellung ist 0.0
Erforderlich, andernfalls standardmäßig 0
anfänglich_Volumen, Anfangsbuchstabe_Volumen_
Geben Sie das Anfangsvolumen entweder absolut oder proportional an. Beide sind erforderlich, wenn max._Volumen ist ein Parameter, weil der Parameter beim ersten Zeitschritt nicht ausgewertet wird. Wenn beide angegeben sind und max._Volumen ist kein Parameter, dann wird der absolute Wert ignoriert.
Eins ist erforderlicher
Bereich, Ebene Optionaler Float oder Parameter,
der den Bereich und die Ebene des storage node definiert. Auf diese Werte kann über das Get zugegriffen werden_Bereich und erhalten_
Füllstandsmethoden jeweils
Optionale
Verdunstung, Niederschlag
Verdunstungs- und Niederschlagsraten (Länge/Tag)
_Umrechnung
Umrechnungsfaktor zur Umrechnung von Niederschlag und Verdunstung in die erforderlichen Längen-/Tageseinheiten
Optional, die Standardeinstellung ist 0.001, um mm/Tag für die Verwendung mit km2 Reservoirfläche umzurechnen
Verdunstungsstrafe (Verdampfungskosten)
Zuweisungsstrafe für die Verdunstungsleistung
Optional, standardmäßig -999
kommt bald...
Das BreakLink node kann verwendet werden, um die Anzahl der Routen in einem Modell zu reduzieren.
Beispielsweise gibt es in einem Modell mit der Form (3, 1, 3), d. h. 3 (A, B, C) Eingängen, die über einen Engpass (X) mit 3 Ausgängen (D, E, F) verbunden sind, 3\ *3 Routen = 9 Routen.
Wenn X ein Speicher ist, gibt es nur 6 Routen: A->X_Nein, B->X_Nein, C->X_o und X_i->D_Nein, X_i->E_Nein, X_i->f\ _o.
Optionales Maximumflow
Zuweisungsstrafe
Die Kosten pro Einheit fließen über den Knoten
Fakultativ
Umrechnung_
Faktor
Die Umrechnung zwischen Zufluss und Abfluss für den Knoten
_fließen
Die maximale Flussbeschränkung auf dem Knoten
Fakultativ
Min._
Die minimale Flussbeschränkung auf dem Knoten
Optional
prev_fließen
Gesamtfluss über diesen Knoten im vorherigen Zeitschritt
Fakultativ
Volumen pc
Zuweisungsstrafe
Die Kosten pro Einheit fließen über den Knoten
Fakultativ
Min._
Das Mindestvolumen des Speichers.
Der Standardwert ist 0.0 Optionaler Maximalwert
_Volumen
Das maximale Volumen des Speichers. Die Standardeinstellung ist 0.0
Erforderlich, standardmäßig 0, wenn nicht eingegeben
anfänglich_Volumen, Anfangsbuchstabe_Volumen_
Geben Sie das Anfangsvolumen entweder absolut oder proportional an. Beide sind erforderlich, wenn max._Volumen ist ein Parameter, weil der Parameter beim ersten Zeitschritt nicht ausgewertet wird. Wenn beide angegeben sind und max._Volumen ist kein Parameter, dann wird der absolute Wert ignoriert.
Eins ist erforderlicher
Bereich, Ebene Optionaler Float oder Parameter,
der den Bereich und die Ebene des storage node definiert. Auf diese Werte kann über das Get zugegriffen werden_Bereich und get_level jeweils Methoden
Fakultativ
kommt bald...
Hinweise:
TODO: Die Kosteneigenschaft wird derzeit nicht berücksichtigt. Siehe Ausgabe #242.
Volumen
Zuweisungsstrafe
Die Kosten pro Einheit fließen über den Knoten
Fakultativ
Knoten
Liste der Zufluss-/Abflussknoten, die das Speichervolumen beeinflussen
Erforderlich
Min._
Das Mindestvolumen, das der Speicher erreichen darf
Optionales
Maximum_Volumen
Das maximale Volumen des Speichers
Erforderlich, standardmäßig 0, wenn nicht eingegeben
anfängliches_Volumen
Das anfängliche Speichervolumen
Eins ist erforderlich
Faktoren
Liste der Faktoren, mit denen der Knotenfluss multipliziert werden soll. Positive Faktoren entfernen Wasser aus dem Speicher, negative Faktoren entfernen es.
Fakultativ
kommt bald...
Dieser Knoten wird mithilfe einer zusammengesetzten Knotenstruktur wie folgt implementiert:
Das bedeutet, dass Routen diesen Knoten aufgrund der separaten Domäne in der Mitte nicht direkt durchqueren. Stattdessen werden mehrere neue Routen für jeden der Unterlinks und Verbindungen zum Output/Input-Knoten erstellt. Der Grund für diese Unterbrechung der Route besteht darin, einen geometrischen Anstieg der Anzahl der Routen zu vermeiden, wenn mehrere PieceWiseLinks in derselben Route vorhanden sind.
flow
Zuweisungsstrafe
Die Kosten pro Einheit fließen über den Knoten
Fakultativ
max._
Die maximale Durchflussbeschränkung auf dem Knoten
Optionaler
Mindestwert_fließen
Die minimale Flussbeschränkung auf dem Knoten
Fakultativ
kommt bald...
Das Reservoirknoten ist eine Unterklasse von storage node mit zusätzlichen Funktionen zur Darstellung von Verdunstung und Niederschlag. .
Der BreakLink node ist ein zusammengesetzter Knoten, der aus einem mit Nullvolumen und einem . Es kann anstelle eines normalen Links verwendet werden, hat jedoch den Vorteil, dass es die Anzahl der Routen im Modell reduziert (in der oben beschriebenen Situation). Das daraus resultierende LP ist einfacher zu lösen. .
Das storage node ist ein allgemeiner Knoten, der Wasser speichern kann, für das ein Mindest- und ein Höchstvolumen gelten. .
Das VirtualStorage node ist eine virtuelle Speichereinheit. .
Das PiecewiseLink node ist eine Erweiterung von Node, die eine nichtlineare mit einer stückweisen Kostenfunktion. Mit diesem Objekt sollen Situationen modelliert werden, in denen die Bereitstellung bestimmter Durchflussraten von Vorteil ist, bei Überschreitung eines festen Grenzwerts jedoch eine Änderung (oder keine) Kosten auftreten. .
Das SeasonalVirtualStorage-Knoten ist eine virtuelle storage node, die nur für einen bestimmten Zeitraum innerhalb eines Jahres funktioniert.
Dieser Knoten eignet sich besonders für die Darstellung von Lizenzen, die nur während bestimmter Zeiträume durchgesetzt werden. Der zurücksetzen_Tag und zurücksetzen_Monat Parameter geben an, wann der Knoten den Betrieb aufnimmt und Ende_Tag und Ende_Monat wenn es aufhört zu arbeiten. Für den Zeitraum, in dem der Knoten nicht in Betrieb ist, bleibt das Volumen des Knotens unverändert und der Knoten wendet keine Einschränkungen auf das Modell an.
Tag . Volumen
zurücksetzen_
Der Tag des Monats (0-31), an dem der Knoten den Betrieb aufnimmt und sein Volumen auf den Anfangswert oder die maximale Lautstärke zurückgesetzt wird
Reset erforderlich
_Monat
Der Monat des Jahres (0-12), in dem der Knoten den Betrieb aufnimmt und sein Volumen auf den Anfangswert oder die maximale Lautstärke zurückgesetzt wird.
Erforderlich
zurücksetzen_zu_anfänglich_
Setzt das Volumen jedes Jahr auf das ursprüngliche Volumen zurück, statt auf das maximale Volumen (die Standardeinstellung ist False)
Erforderliches
Ende_Tag
Der Tag des Monats (0-31), an dem der Knoten den Betrieb einstellt
Erforderlich
Ende des Monats
Der Monat des Jahres (0-12), in dem der Knoten den Betrieb einstellt
Erforderlich
kommt bald...
Das Ende_Tag und Ende_Monat kann ein Datum darstellen, das früher in dem Jahr liegt, an dem der Reset erfolgt ist_Tag und und Reset_Monat. Diese Situation stellt eine Lizenz dar, die über eine Jahresgrenze hinweg gültig ist. Zum Beispiel eine, die zwischen Oktober und März aktiv ist und zwischen April und September nicht aktiv ist..
Das Turbinenknoten kann eine Turbine einer Wasserkraftanlage darstellen. Es berechnet den Durchfluss, der erforderlich ist, um in jedem Zeitschritt ein bestimmtes Ziel für die Erzeugung von Wasserkraft zu erreichen. .
Das AggregatedStorage-Knoten ist eine aggregierte Summe aus anderen Knoten
Dieses Objekt sollte sich verhalten wie Aufbewahrung durch Rückgabe von Strom fließen, Volumen und aktuell_pc. Dieses Objekt kann jedoch nicht mit anderen innerhalb des Netzwerks verbunden werden. .
Zuweisungsstrafe
Die Kosten pro Einheit fließen über den Knoten
Fakultativ
Ziel
Ziel der Erzeugung von Wasserkraft. Die Einheiten sollten in Energieeinheiten pro Tag angegeben werden
Fakultativ
Wasser_Höhenlage_Einstellung
Höhe des in die Turbine eintretenden Wassers. Die Differenz dieses Werts mit dem Turbine_Die Höhe gibt die Arbeitshöhe der Turbine an
.
Optionales
Obergrenzen für den berechneten Fluss. Falls gesetzt, entspricht der von diesem Parameter zurückgegebene Durchfluss höchstens dem Wert des Maximalwerts_Durchflussparameter
Optionaler
min_fließen
Untere Grenzen für den berechneten Fluss. Wenn diese Option gesetzt ist, entspricht der von diesem Parameter zurückgegebene Durchfluss mindestens dem Wert des Minimums_Durchflussparameter
Optionaler
min_Kopf
Mindestförderhöhe für den Durchfluss. Wenn die tatsächliche Förderhöhe unter diesem Wert liegt, wird der Durchfluss Null zurückgegeben
Fakultativ
Turbine_
Höhe der Turbine selbst. Der Unterschied zwischen dem Wasser_Höhenlage und dieser Wert gibt die Arbeitshöhe der Turbine an
Fakultativ
Effizienz
Der Wirkungsgrad der Turbine
Fakultativ
Dichte
Die Dichte von Wasser
Fakultativ
fließen_Einheit_Umrechnung
Ein Faktor, der verwendet wird, um die Strömungseinheiten so umzuwandeln, dass sie mit der hier angegebenen Gleichung kompatibel sind. Dadurch sollte der Durchfluss in Einheiten von m3/Tag umgerechnet werden
Fakultativ
Energie_Einheit_Umrechnung
Ein Faktor, der verwendet wird, um die Einheiten der Gesamtenergie umzuwandeln. Der Standardwert ist 1e-6, um MJ zurückzugeben
Fakultativ
Modell
`Model`-Instanz
Erforderlich
Name
str
Erforderlich
Storage_Nodes
Das Aufbewahrung Objekte, für die die Gesamtsumme zurückgegeben werden soll
Erforderlich
Hinweise:
TODO: Die Kosteneigenschaft wird derzeit nicht berücksichtigt. Siehe Ausgabe #242.
Volumen
Zuweisungsstrafe
Die Kosten pro Einheit fließen über den Knoten
Fakultativ
Knoten
Liste der Zufluss-/Abflussknoten, die das Speichervolumen beeinflussen
Erforderlich
Min._
Das Mindestvolumen, das der Speicher erreichen darf
Optionales
Maximum_Volumen
Das maximale Volumen des Speichers
Erforderlich, standardmäßig 0, wenn nicht eingegeben
anfängliches_Volumen
Das anfängliche Speichervolumen
Eins ist erforderlich
Faktoren
Liste der Faktoren, mit denen der Knotenfluss multipliziert werden soll. Positive Faktoren entfernen Wasser aus dem Speicher, negative Faktoren entfernen es.
Fakultativ
Zeitschritte
Die Anzahl der Zeitschritte, die auf den rollenden Speicher angewendet werden sollen
Erforderlich
Tage
Die Anzahl der Tage, über die das Rolling Storage angewendet werden soll. Die Angabe einer Anzahl von Tagen (statt einer Anzahl von Zeitschritten) ist nur bei Modellen gültig, die einen Zeitschritt mit täglicher Häufigkeit ausführen
Erforderlich
kommt bald...
zurücksetzen_
Tag
Der Tag des Monats (0-31), an dem die Lautstärke auf den Anfangswert zurückgesetzt werden soll Reset erforderlich
_Monat
Der Monat des Jahres (0-12), in dem die Lautstärke auf den Anfangswert zurückgesetzt werden soll
Erforderlich
zurücksetzen_zu_anfängliches_Volumen
Setzt die Lautstärke jedes Jahr auf die ursprüngliche Lautstärke zurück, statt auf die maximale Lautstärke (die Standardeinstellung ist False)
Erforderlich
kommt bald...
EIN Link verlieren ermöglicht die Definition eines festen proportionalen Strömungsverlusts, der durch diesen Knoten fließt. Verlustverbindungen werden häufig zur Darstellung verwendet Anlagen zur Trinkwasseraufbereitung die einige Prozessverluste mit sich bringen.
Die definierten Flow-Attribute Max und Min werden nach Verlusten auf die Nettoausgabe angewendet.
Der Knoten selbst zeichnet die Nettoausgabe in seinem Flow-Attribut auf (das von allen angeschlossenen Rekordern verwendet würde).
In diesem Beispiel gehen 10% der Bruttowassermenge verloren, die in den Knoten fließt.
Ausgangsknoten sind am Ende eines Flusses erforderlich und in diesem Anwendungsfall wird in der Regel keine Zuweisungsstrafe oder kein maximaler\ _flow zugewiesen.
Ausgangsknoten werden auch verwendet, um den Wasserbedarf abzubilden. In diesem Anwendungsfall werden ihnen in der Regel negative Zuweisungsstrafen zugewiesen, sodass ihnen das lineare Programm Wasser sowie einen max\ _flow zuweist, der entweder eine Konstante oder ein Parameter sein kann, der den Wasserbedarf darstellt.
flow
kommt bald...
Das RollingVirtualStorage-Knoten ist ein rollendes virtuelles storage node, das für die Implementierung fortlaufender Lizenzen nützlich ist. .
Das Jährlicher VirtualStorage-Knoten ist ein virtueller Speicher, der jährlich zurückgesetzt wird und für Lizenzen nützlich ist. .
Das Ausgangsknoten () ist eine allgemeine Ausgabe an einem beliebigen Punkt des Netzwerks. Ausgangsknoten entfernen Wasser aus dem System.
Zuweisungsstrafe
Die Kosten pro Einheit fließen über den Knoten
Fakultativ
Verlustfaktor
Verlust_Faktor: Float oder Parameter. Der Anteil des Flusses, der durch diesen Knoten verloren geht. Muss größer oder gleich Null sein. Dieser Wert ist entweder ein Anteil des Brutto- oder Nettoflusses, abhängig vom Wert des Verlustes_faktor_typ
.
Optional, standardmäßig 0
Art des Verlustfaktors
Entweder „brutto“ oder „netto“ (Standardeinstellung), um anzugeben, ob der Verlustfaktor als Anteil am Brutto- bzw. Nettofluss angewendet wird.
Optional, standardmäßig „net“
Maximaler Durchfluss
Die maximale Flussbeschränkung auf dem Knoten
Fakultativ
Minimaler Durchfluss
Die minimale Flussbeschränkung auf dem Knoten
Fakultativ
Zuweisungsstrafe
Die Kosten pro Einheit fließen über den Knoten
Fakultativ
max._
Die maximale Durchflussbeschränkung auf dem Knoten
Optionaler
Mindestwert_fließen
Die minimale Flussbeschränkung auf dem Knoten
Fakultativ
Die Szenarien in WaterStrategy ermöglichen es Benutzern, verschiedene Wassermanagementstrategien zu simulieren und zu untersuchen, indem sie verschiedene Elemente eines Modells anpassen. Sie bieten einen Rahmen, um zu verstehen, wie Änderungen von Eingaben, Annahmen oder Daten die Ergebnisse unter verschiedenen Bedingungen beeinflussen können.
WaterStrategy bietet zwei Arten von Szenarien, um den unterschiedlichen Anforderungen bei der Modellierung des Wassermanagements gerecht zu werden:
WaterStrategy Szenarien: Dieser Typ wird verwendet, wenn Benutzer bestimmte Verhaltensweisen, Parameter oder Daten in einem lokalisierten oder kleineren Maßstab anpassen müssen. Diese Szenarien eignen sich ideal für Fälle, in denen nur bestimmte Elemente des Modells angepasst werden müssen, ohne den gesamten Datensatz zu verändern. Es ermöglicht gezielte Änderungen und macht es einfacher, die Auswirkungen einzelner Änderungen innerhalb des Systems zu testen.
PYWR-Szenarien: Dieser Szenariotyp ist für komplexere Fälle konzipiert, insbesondere solche, die mit Unsicherheiten behaftet sind. Er ist auf die Kombination von Daten auf mehreren Skalen spezialisiert und ermöglicht so eine umfassende Bewertung verschiedener Variablen. Dieser Ansatz ist besonders nützlich, wenn Sie mit unsicheren Eingaben arbeiten oder wenn Sie zukünftige Bedingungen modellieren, da Sie so untersuchen können, wie sich verschiedene Kombinationen von Daten und Annahmen auf die Ergebnisse auswirken können.
WaterStrategy Szenarien bieten ein Tool, um gezielte Anpassungen an bestimmten Elementen innerhalb eines Wassermanagementmodells vorzunehmen. Diese Szenarien sind besonders nützlich, wenn Sie auf flexible und kontrollierte Weise mit lokalisierten Änderungen an Parametern, Verhaltensweisen oder Daten experimentieren möchten.
Wenn ein WaterStrategy Szenario erstellt wird, fungiert es als Gabel eines bestehenden Netzwerkmodells. Das ursprüngliche Netzwerk wird dem Basisszenario zugewiesen, das die Standard- oder Startbedingungen des Systems darstellt. Ausgehend von diesem Ausgangswert ermöglicht ein WaterStrategy Szenario präzise Änderungen — unabhängig davon, ob Dateneingaben geändert oder Parameter angepasst werden, die das Verhalten von Schlüsselelementen innerhalb des Systems definieren.
Diese Fähigkeit, bestimmte Aspekte des Modells zu modifizieren und den Rest unverändert zu lassen, macht WaterStrategy Szenarien ideal, um die Auswirkungen einzelner Änderungen zu testen. Sie können beispielsweise die Betriebsregeln für Reservoirs oder die Bedarfsprognosen ändern, ohne das gesamte Modell rekonstruieren zu müssen. Mit diesem fokussierten Ansatz können Benutzer schnell beurteilen, wie sich bestimmte Änderungen auf die Ergebnisse von Strategien zur Verbesserung der Wasserwirtschaft auswirken.
Klicken Sie zunächst auf das Symbol „Szenario klonen“.
Wählen Sie das Szenario aus, das Sie klonen möchten, und benennen Sie Ihr Szenario
Das AggregatedNode-Knoten ist eine aggregierte Summe aus anderen Knoten Knoten.
Hinweise: Dieser Knoten kann nicht mit anderen Knoten im Netzwerk verbunden werden.
Modell
`Model`-Instanz
Erforderlich
Name
str
Erforderlich
Storage_Nodes
Das Knoten Objekte, für die die Gesamtsumme zurückgegeben werden soll
Erforderlich
kommt bald...
Allokationsstrafen sind Knotenattribute, die es Pywr ermöglichen, die Wasserzuteilung zu simulieren. Sie können auch als „Zuweisungsprioritäten“ oder „Kosten“ bezeichnet werden.
Eine niedrige Strafe hat die höchste Zuweisungspriorität, eine hohe Zahl die niedrigste.
Wenn also beispielsweise drei Knoten die Prioritäten 100, 3 und -2 haben, dann erhält der Knoten mit -2 zuerst sein Wasser, dann 3, dann 100.
Im Folgenden finden Sie einige Fragen zu den Strafen für die Gewässerzuteilung, die Sie möglicherweise haben, und einige kurze Antworten:
Warum und wie verteilt Pywr Wasser auf diese Weise? Bei jedem Zeitschritt minimiert der Allokationsalgorithmus von Pywr (ein lineares Programm) die Allokationsbelastung des gesamten Systems. Der Durchfluss durch Knoten wird mit den jeweiligen Zuweisungsgebühren multipliziert. Diese Technik wird seit den 1950er Jahren von Energie-, Transport- und Wasserplanern sowie von Logistikunternehmen eingesetzt. Sie alle wollen Systeme, die kostengünstig funktionieren, weshalb sie in der Regel finanzielle Betriebskosten als Strafzahlung verwenden. Das ist sinnvoll, denn es ermöglicht es, das Modell zu verwenden, um ein Netzwerk zwischen Angebot und Nachfrage zu den niedrigsten Kosten auszugleichen.
Finden Sie die Idee einer negativen Strafe verwirrend? Wenn ja, stellen Sie sich eine negative Strafe als negative Kosten vor. Was ist das? ein Vorteil! Wenn Sie also in Ihrem Pywr-Modell Wasser dort einsetzen möchten, wo es den größten Nutzen bringt, werden Sie negative Abzüge anwenden. In diesem Fall könnten Sie diese Knotenattribute nicht als Zuweisungsstrafen oder Kosten bezeichnen, sondern als Zuordnungsprioritäten bezeichnen. In diesem Fall erhält ein Knoten mit einer Zuordnungspriorität von -__1234567890__Wasser lange vor -__1234567890__□. Wie im Beispiel im dritten Satz oben gezeigt, können sowohl negative als auch positive Zuweisungsstrafen in demselben Modell verwendet werden.
Haben Zuweisungsstrafen eine besondere Bedeutung? Nein, haben sie nicht. Sie sind nur dazu da, Ihrem Modell dabei zu helfen, Wasser so zuzuordnen, dass es für Sie, den Wassermanager und Planer, sinnvoll ist.
Woher weiß ich, ob ich die Strafen für die Wasserzuteilung korrekt festgelegt habe? Wenn Ihr Modell Wasser unter normalen Bedingungen, aber auch bei Überschwemmungen und Dürren, angemessen zuweist, haben Sie angemessene Strafen festgelegt. Herzlichen Glückwunsch! Ihr Modell ist auf dem besten Weg, „gut kalibriert“ zu werden.
Wenn ich eine große Änderung an meinem Modell vornehme, z. B. eine große neue Infrastruktur hinzufüge oder einen neuen Wassernutzertyp hinzufüge, muss ich dann die Strafen in meinem Modell ändern? Ja, einige Strafen in Ihrem Modell müssen möglicherweise verfeinert werden, je nachdem, wie stark die Änderung ist. Probieren Sie es aus.
Kann ich irgendwelche Zahlen für Strafen verwenden? Wenn mein Modell zum Beispiel 2 Knoten hat, kann ich dann eine negative und eine positive Million als meine Strafen verwenden? Ja, aber das ist eine schlechte Idee. Verwenden Sie Zahlen, die so nah wie möglich beieinander liegen. Andernfalls gehen Ihnen bei wachsendem Modell möglicherweise die verfügbaren Abzüge aus, und Ihr Modell macht Rundungsfehler. Wenn Sie jedoch zu ähnliche Strafen verwenden, reagiert Ihr Modell möglicherweise nicht auf sie (d. h. sie werden bei der Simulation von Zuweisungen nicht angemessen berücksichtigt). Mit ein wenig Erfahrung werden Sie lernen, Strafen festzulegen, die gut funktionieren. Um diese Erfahrung zu sammeln, versuchen Sie, die Strafen zu ändern und zu sehen, wie sich das auf die Ergebnisse Ihres Modells auswirkt.
Abschließend stellen wir noch ein paar technische Details zu Strafen zur Verfügung:
Reservoir und Speicherknoten sind mit Zuweisungsstrafen belegt. Ein negativer Nachteil bedeutet, dass das Reservoir dazu neigt, Wasser anzusammeln, es sei denn, eine niedrigere Strafe an einem anderen Knoten führt dazu, dass der Reservoirspeicher eine niedrigere Priorität hat.
Bei den Zuweisungsstrafen kann es sich um Konstanten (konstante Parameter) oder um Profile (monatlich, täglich, wöchentlich) handeln, die sich im Laufe der Zeit ändern. Außerdem können die Bußgelder bei der Zuteilung unterschiedlich hoch sein, und zwar anhand verschiedener Steuerkurven, die auf dem Reservoirvolumen basieren. Zwar wirken sich die Strafen bei der Zuteilung von Reservoir und Speicher auf die Wasserspeicherung aus, doch die Freisetzung von Wasser aus diesen Knoten resultiert aus einem Sanktionsgleichgewicht im System, wobei die Zuweisungsstrafen flussabwärts berücksichtigt werden, da der Algorithmus versucht, die Gesamtstrafe für das System in jedem Zeitschritt zu minimieren.
Eine ausführliche Anleitung finden Sie in der beim Erstellen und Ausführen eines neuen Szenarios
Dieses Objekt sollte sich verhalten wie Knoten durch Rückgabe von Strom fließen. Dieses Objekt kann jedoch nicht mit anderen innerhalb des Netzwerks verbunden werden. .
description: Eine Übersicht der Pywar-Parameter, die von WaterStrategy unterstützt werden
Parameter sind Funktionen, die bei jedem Zeitschritt einen Wert im Modell zurückgeben. Bei diesen Werten kann es sich um eine Konstante handeln, die auf der Zeit (z. B. auf dem Tag oder Monat) basiert, um eine Berechnung, die auf dem Reservoirspeicher des Zeitschritts basiert, und um viele andere Berechnungen. Benutzerdefinierte Parameter können auch in Python geschrieben werden.
Klicken Sie in einem Netzwerk auf die Registerkarte „Parameter“:
Klicken Sie neben dem Abschnitt „Kategorien für Parametertypen“ auf die Schaltfläche „+“ und wählen Sie „PYWR\ _PARAMETER“.
Eine Texteingabe erscheint. Geben Sie den Namen Ihres Parameters ein:\
Ändern Sie den Parameter nach Bedarf im bereitgestellten JSON-Editor:
Um das Ändern von Parametern zu vereinfachen, bietet WaterStrategy Editoren für häufig verwendete Parameter, wie z. B. monatliche Profilparameter, mit vorab ausgefüllten Standardwerten und grafische Editoren, um die Eingabe von Daten zu vereinfachen.
Beispiel für einen Parameter-Editor
Wählen Sie auf der Registerkarte „Parameter“ beim Hinzufügen eines neuen Parameters „PYWR“ aus._PARAMETER_MONATLICH\ _PROFILE' wie abgebildet:\
Beachten Sie, dass der angezeigte Editor eine JSON-Registerkarte, aber auch eine Registerkarte Zeichnen und Tabelle anzeigt. Wenn Sie die Daten in der Tabelle ändern, werden die Daten in der JSON-Datei automatisch aktualisiert, wie hier gezeigt:\
Durch diese Änderungen wird das JSON automatisch aktualisiert:
Diese Seite beschreibt (die meisten) der von Pywr unterstützten Parametertypen. Eine Übersicht der Parameter in Pywr finden Sie . Die vollständige Liste der integrierten Pywr-Parameter finden Sie .
All die Parameter Unterklassen in Pywr stammen von einer gemeinsamen Basisklasse ab.
Pywr-Szenarien sind mit den folgenden Parametern kompatibel:
Initialisiere dich selbst. Eine genaue Signatur finden Sie in der Hilfe (type (self)).
Eine Sammlung von IndexParameters
agg\ _func
Kinder
Kommentar
Kommentar: unicode
doppelt_Größe
doppelt_Größe: 'int'
Ganzzahl_Größe
Ganzzahl_Größe: 'int'
ist_variabel
ist_variable: 'bool'
Modell
Name
Parameter
Parameter: Liste
Eltern
Größe
kommt bald...
Diese Klasse verhält sich wie ein Set. Parameter können hinzugefügt oder daraus entfernt werden. Sein Index ist der Index seiner untergeordneten Parameter, der mithilfe einer Aggregationsfunktion (z. B. Summe) aggregiert wird.
Basisparameter, der eine bereitstellt indizieren Methode.
Kinder
Kommentar
Kommentar: unicode
doppelt_Größe
doppelt_Größe: 'int'
Ganzzahl_Größe
Ganzzahl_Größe: 'int'
ist_variabel
ist_variable: 'bool'
Modell
Name
Eltern
Größe
Pywr-Szenarien bieten einen fortschrittlicheren und umfassenderen Ansatz für die Modellierung des Wassermanagements, insbesondere bei der Arbeit mit Unsicherheiten und der Bewertung verschiedener Kombinationen von Daten, Systemverhalten und Dateneingaben. Im Gegensatz zu WaterStrategy Szenarien, die sich auf lokalisierte Anpassungen konzentrieren, können Sie mit Pywr-Szenarien mit einer Vielzahl von Möglichkeiten experimentieren, indem Sie mehrere Eingaben und Kombinationen gleichzeitig variieren.
In Pywr-Szenarien:
Benutzer können mehrere Szenarien definieren, wobei jedes Szenario mehrere Varianten (oder Größen) enthält.
Das System simuliert alle Kombinationen dieser Varianten, sofern keine bestimmte Kombination für die Simulation ausgewählt wird.
Wenn beispielsweise zwei Pywr-Szenarien mit jeweils drei Variationen (Größe = 3) definiert sind, beträgt die Gesamtzahl der Simulationen 9 (3 x 3). Dieser Ansatz ermöglicht es Benutzern, eine Vielzahl potenzieller Ergebnisse und Interaktionen zwischen verschiedenen Faktoren im Modell zu untersuchen.
Ein Fenster wird angezeigt, geben Sie“ ein_Szenarien“_, wählen Sie die Szenarien attributieren und klicken Speichern wie in der folgenden Abbildung gezeigt
Ein neues Fenster öffnet sich, wählen Sie PYWR_SZENARIEN und klicken Sie Speichern
Sobald das Fenster zur Anpassung des Szenarios geöffnet ist, können Sie so viele Pywr-Szenarien wie nötig definieren. Gehen Sie folgendermaßen vor, um ein neues Pywr-Szenario zu erstellen:
Geben Sie ein Name für das Pywr-Szenario und spezifizieren Sie den Größe (Anzahl der Varianten).
Das Ensembles Das Attribut ist optional und hilft dabei, bestimmte Indexszenarien innerhalb des Pywr-Szenarios im Auge zu behalten
Nach der Erstellung der Pywr-Szenarien zeigt das System die folgenden Informationen an:
Klicken Sie auf den JSON Die Registerkarte zeigt die automatische JSON-Version des Pywr-Szenario Definition
Ein einfacher Parameter, der einen konstanten Wert definiert.
Ein szenariovariierender Parameter. Die Werte in diesem Parameter sind zeitlich konstant, variieren jedoch innerhalb eines einzelnen Szenarios.
Ein Szenario, das IndexParameter variiert. Die Werte in diesem Parameter sind zeitlich konstant, variieren jedoch innerhalb eines einzelnen Szenarios.
Klicken Sie in einem Netzwerk auf Netzwerkdaten anzeigen Symbol
Dadurch wird das rechte Fenster geöffnet. In der Sektion Eingaben, geben Sie“ ein_Szenarien“_ und klicken Sie auf Eine Eingabe hinzufügen Symbol
Klicken Sie
Bearbeiten Sie das aktuelle Standardszenario, indem Sie auf
Um die Daten als h5 DataFrameParameter zu laden, lesen Sie bitte um ordnungsgemäß auf die Szenariodaten zuzugreifen
Kinder
Kommentar
Kommentar: unicode
doppelt_Größe:
doppelt_Größe: 'int'
Ganzzahl_
Integer_Größe: 'int'
ist_variabel
ist_variable: 'bool'
Modell
Name
Eltern
Größe
Kinder
Kommentar
Kommentar: unicode
doppelt_Größe
doppelt_Größe: 'int'
Ganzzahl_Größe
Ganzzahl_Größe: 'int'
ist_variabel
ist_variable: 'bool'
Modell
Name
Eltern
Größe
Art
aggregiert
Ja
Parameter
Die zu aggregierenden Parameter
Fakultativ
agg_func
Die Aggregationsfunktion. Muss eine von {„sum“, „min“, „max“, „mean“, „product“} oder eine aufrufbare Funktion sein, die eine Liste von Werten akzeptiert
Fakultativ
In diesem Fall multipliziert der aggregierte Parameter zwei Parameter miteinander.
Nachfragefaktor der Kontrollkurve
Dieses Beispiel zeigt, wie ein Basisbedarf mit einem Faktor multipliziert wird, der den Bedarf auf der Grundlage einer Reservoirsteuerungskurve reduziert. Sie können auf jeden dieser Parameter klicken, um zu sehen, wie sie definiert sind.
Eine Sammlung von IndexParameters. Diese Klasse verhält sich wie ein Set. Parameter können hinzugefügt oder daraus entfernt werden. Sein Wert ist der Wert seiner untergeordneten Parameter, der mithilfe einer Aggregationsfunktion (z. B. Summe) aggregiert wird.
Parameter, der einen teilt Parameter von einem anderen.
Größe
Kinder
Kommentar
Kommentar: unicode
doppelt_Größe:
doppelt_Größe: 'int'
Ganzzahl_
Integer_Größe: 'int'
ist_variabel
ist_variable: 'bool'
Modell
Name
Einstellung
Parameter: pywr.parameters. _Parameter.Parameter
Eltern
Größe
Schwelle
Schwellenwert: 'doppelt'
kommt bald...
Parameter, der das Maximum des Negativen von a annimmt Parameter und konstanter Wert (Schwellenwert).
Parameter, der einen Negativwert eines anderen annimmt Parameter.
Diese Klasse ist eine effizientere Version von Aggregierter Parameter wo ein Single Parameter wird mit einem konstanten Wert verglichen.
Das wöchentliches Profil enthält 52 Wochen pro Jahr. Die letzte Woche des Jahres hat mehr als 7 Tage, da 365/7 nicht ganz ist.
Diese Klasse ist eine effizientere Version von Aggregierter Parameter wo ein Single Parameter wird mit einem konstanten Wert verglichen.
Kinder
Kommentar
Kommentar: unicode
doppelt_Größe:
doppelt_Größe: 'int'
Ganzzahl_
Integer_Größe: 'int'
ist_variabel
ist_variable: 'bool'
Modell
Name
Einstellung
Parameter: pywr.parameters. _Parameter.Parameter
Eltern
Größe
Schwelle
Schwellenwert: 'doppelt'
Art
wöchentliches Profil
Ja
Werte
Ein Array von 52 Zahlen, deren Indizes die Tage des Jahres darstellen.
Ja
Kinder
Kommentar
Kommentar: unicode
doppelt_Größe:
doppelt_Größe: 'int'
Ganzzahl_
Integer_Größe: 'int'
ist_variabel
ist_variable: 'bool'
Modell
Name
Einstellung
Parameter: pywr.parameters. _Parameter.Parameter
Eltern
Größe
Schwelle
Schwellenwert: 'doppelt'
Parameter, der einen anderen ausgleicht Parameter um einen konstanten Wert.
Größe (obere)._Grenzen
Kinder
Kommentar
Kommentar: unicode
doppelt_Größe:
doppelt_Größe: 'int'
Ganzzahl_
Integer_Größe: 'int'
ist_variabel
ist_variable: 'bool'
Modell
Name
Offset
Der Offset, der auf den zurückgegebenen Wert angewendet werden soll von Einstellung
Einstellung
Der Parameter, der mit dem Float verglichen werden soll
niedriger_
Grenzen:
Die unteren Grenzen des Offsets, wenn sie bei der Optimierung verwendet werden
Die Obergrenzen des Offsets, wenn sie bei der Optimierung verwendet werden
Eltern
Größe
kommt bald...
Diese Klasse ist eine effizientere Version von Aggregierter Parameter wo ein Single Parameter wird durch einen konstanten Wert ausgeglichen.
Größe
Kinder
Kommentar
Kommentar: unicode
doppelt_Größe:
doppelt_Größe: 'int'
Ganzzahl_
Integer_Größe: 'int'
ist_variabel
ist_variable: 'bool'
Modell
Name
Einstellung
Parameter: pywr.parameters. _Parameter.Parameter
Eltern
Größe
Schwelle
Schwellenwert: 'doppelt'
kommt bald...
Parameter, der ein Tagesprofil pro Szenario liefert.
Szenario
Szenario-Objekt, über das verschiedene Profile bereitgestellt werden sollen
Ja
Werte
Die Länge der ersten Dimension sollte der Anzahl der Elemente im Szenarioobjekt entsprechen und die Länge der zweiten Dimension sollte 366 sein
Ja
kommt bald...
Parameter, der mindestens das Negative von a annimmt Parameter und konstanter Wert (Schwellenwert).
Das Tagesprofil gibt einen anderen Wert zurück, der auf dem Monat des aktuellen Zeitschritts basiert.
Dieser Parameter liefert ein sich wiederholendes Jahresprofil mit einer täglichen Auflösung. Für jedes Mitglied eines bestimmten Szenarios wird ein anderes Profil zurückgegeben.
Parameter, der ein wöchentliches Profil pro Szenario bereitstellt
Szenario
Szenario-Objekt, über das verschiedene Profile bereitgestellt werden sollen
Ja
Werte
Die Länge der ersten Dimension sollte der Anzahl der Elemente im Szenarioobjekt entsprechen und die Länge der zweiten Dimension sollte 52 sein
Ja
kommt bald...
Parameter, der einen gleichmäßig reduzierenden Wert von Eins auf Null bereitstellt.
zurücksetzen_
Tag
Der Tag des Monats (1-31), an dem die Lautstärke auf den Anfangswert zurückgesetzt werden soll Ja zurücksetzen
_Monat
Der Monat des Jahres (1-12), in dem die Lautstärke auf den Anfangswert zurückgesetzt werden soll
Ja
kommt bald...
Dieser Parameter liefert ein sich wiederholendes Jahresprofil mit einer wöchentlichen Auflösung. Für jedes Mitglied eines bestimmten Szenarios wird ein anderes Profil zurückgegeben.
Dieser Parameter ist für die Verwendung mit einem Jährlicher virtueller Speicher Knoten, um ein Profil bereitzustellen, das die perfekte durchschnittliche Auslastung des Jahresvolumens darstellt. Am Reset-Tag wird der Wert 1 zurückgegeben und anschließend jeden Tag danach um 1/366 reduziert.
Parameter, der ein monatliches Profil bereitstellt. Das Monatsprofil gibt einen anderen Wert zurück, der auf dem Monat des aktuellen Zeitschritts basiert.
Art
monatliches Profil
Ja
Werte
Ein Array von 12 Zahlen, deren Indizes die Monate des Jahres repräsentieren.
Ja
Zeitvariierender Parameter unter Verwendung eines Arrays und TimeStep.Index mit multiplikativen Faktoren pro Szenario.
Szenario
Szenario-Objekt, über das verschiedene Profile bereitgestellt werden sollen
Ja
Werte
Die Länge der ersten Dimension sollte der Anzahl der Elemente im Szenarioobjekt entsprechen und die Länge der zweiten Dimension sollte 12 sein
Ja
kommt bald...
Werte sind die grundlegenden Zeitreihendaten, die durch einen Faktor gestört werden. Der Faktor wird aus Faktoren abgeleitet, bei denen es sich um eine Form handelt (scenario.size, 12). Daher variieren die Faktoren in den einzelnen Szenarien in Szenario und Monat.
Parameter, der ein Tagesprofil mithilfe einer radialen Basisfunktion (RBF) interpoliert.
Tage_von_Jahr
Die Tage des Jahres, an denen die Interpolationswerte definiert werden. Der erste Wert sollte eins sein
Ja
Werte
Werte, die für die Interpolation verwendet werden sollen, entsprechen Tage_von_Jahr
Ja
niedriger_
Grenzen
Die Untergrenzen der Werte, wenn sie bei der Optimierung verwendet werden Ja obere
_Grenzen
Die Obergrenzen der Werte, wenn sie bei der Optimierung verwendet werden
Ja
Variable_Tage_von_Jahr_Angebot
Die Höchstgrenzen (positiv oder negativ) für die Tage des Jahres während der Optimierung. Ein Wert ungleich Null führt dazu, dass die Tageswerte im Jahr als Ganzzahlvariablen dargestellt werden (mit Ausnahme des ersten Werts, der bei Tag 1 verbleibt). Dieser Wert ist an die Grenzen dieser Variablen gebunden, da er die maximale Abweichung vom angegebenen Wert darstellt Tage_von_Jahr
Ja
Min._Wert, maximal_Wert
Optional können Sie das interpolierte Tagesprofil auf einen Mindest- und/oder Höchstwert begrenzen. Die Standardwerte sind negativ und positiv unendlich für Minimum bzw. Maximum
Ja
rbf_kwargs
Optionales Wörterbuch mit Schlüsselwortargumenten, die auf dem Rbf-Objekt basieren sollen
Fakultativ
kommt bald...
Das Tagesprofil wird während des Modells berechnet zurücksetzen unter Verwendung einer radialen Basisfunktion mit dem Tag des Jahres als unabhängigen Variablen. Die Tage des Jahres werden vom Benutzer zusammen mit den Werten definiert, die an jedem dieser Tage für die Interpolation verwendet werden sollen. Der erste Tag der Jahre sollte immer eins sein, und sein Wert wird als 366. Wert wiederholt. Darüber hinaus werden der zweite und der vorletzte Wert gespiegelt, damit ein konsistenter Gradient über die Grenze hinweg entsteht. Die RBF-Berechnungen erfolgen unter Verwendung von scipy.interpolate.rbf Objekt, weitere Informationen finden Sie in der Dokumentation von Scipy.
Zeitreihenparameter mit automatischer Ausrichtung und Resampling.
Parameter, der ein monatliches Profil pro Szenario bereitstellt.
Szenario
Szenario-Objekt, über das verschiedene Profile bereitgestellt werden sollen
Ja
Werte
Die Länge der ersten Dimension sollte der Anzahl der Elemente im Szenarioobjekt entsprechen und die Länge der zweiten Dimension sollte 12 sein
Ja
kommt bald...
Das Verhalten ist dasselbe wie Monatlicher Profilparameter außer dass für jedes Ensemble in einem bestimmten Szenario ein anderes Profil zurückgegeben wird.
Die Werte in diesem Parameter sind in allen Szenarien konstant.
Dieser Parameter liest Array-Daten aus einer PyTables HDF-Datenbank.
Durch das Speichern von HDF5-Dateien im „festen“ Format können Benutzer optimale Datenzugriffsgeschwindigkeiten erreichen, was HDF5 zu einem effektiven Tool für PYWR-Szenarien macht, die DataFrames als Parameter verwenden, bei denen ein schneller Datenabruf entscheidend ist. HDF5-Dateien werden als Wörterbuch gelesen, wobei jeder Schlüssel einen Pandas-DataFrame darstellt. Beispielsweise könnte die Struktur einer inflows.h5-Datei drei Schlüssel enthalten, die jeweils für einen anderen Fluss stehen. Jeder Schlüssel enthält drei Zeitreihen, die einem Pywr-Szenario der Größe 3 zugewiesen werden können.
Hinweis: Die Größe der Pywr-Szenarien muss der Anzahl der Schlüssel in der h5-Datei entsprechen
h5-Datei
Das Datei-Handle oder der Dateiname der Tabelle, an die die CArray-Objekte angehängt werden sollen. Wenn ein Dateiname angegeben ist, öffnet und schließt das Objekt die Datei-Handles
Ja
Knoten
Name des Knotens in der Tabellendatenbank, aus dem Daten gelesen werden sollen
Ja
woher
Pfad, aus dem der Knoten gelesen werden soll
Ja
Szenario
Szenario, das als zweiter Index im Array verwendet werden soll
Ja
Der Parameter liest Daten über die PyTables-Array-Schnittstelle und erfordert daher nicht das Laden des gesamten Datensatzes in den Speicher. Dies ist für große Modellläufe nützlich.
Wenn Sie den h5-Datei-DataFrame zum Ausführen von Pywr-Szenarien verwenden, lesen Sie bitte um diese Funktion zu aktivieren
Parameter, der einen IndexParameter verwendet, um ein Array von Parametern zu indizieren.
Indexparameter
Indexparameter
Ja
Parameter
iterierbar von Parameter oder schwimmt
Ja
Bitte sehen Sie, wie der Parameter Reservoir-Kontrollkurve definiert ist.
Ein Beispiel für die Verwendung dieses Parameters besteht darin, einen Bedarfseinsparfaktor (als Float) zurückzugeben, der auf dem aktuellen Bedarfseinsparniveau basiert (berechnet durch Indexparameter).
Der obige Code verwendet den Index, der durch den Parameter „Reservoir control curve“ bereitgestellt wird, was ein Index 0 gibt eine 1 zurück, Index 2 gibt 0.9 zurück usw...
In diesem Beispiel wird dieser Parameter verwendet, um einen Bedarf auf der Grundlage einer Reservoirsteuerkurve zu reduzieren. Bitte gehen Sie zum um zu sehen, wie das gemacht wird.
Schwelle
Schwellenwert, mit dem der Wert des Rekorders verglichen werden soll
Ja
Lager
Speicher: Pywr. _core.AbstractStorage
Ja
Ratsche
Wenn wahr, verhält sich der Parameter wie eine Ratsche. Sobald es zuerst ausgelöst wird, bleibt es in der ausgelösten Position (Standard=False)
Ja
kommt bald...
Gibt je nach aktuellem Volumen einen von zwei Werten in einem Storage node zurück.
Schwelle
Schwellenwert, mit dem der Wert des Rekorders verglichen werden soll
Ja
Werte
Wenn das Prädikat False ergibt, wird der nullte Wert zurückgegeben, andernfalls wird der erste Wert zurückgegeben.
Ja
Prädikat
Einer von {„LT“, „GT“, „EQ“, „LE“, „GE“}
Ja
Ratsche
Wenn wahr, verhält sich der Parameter wie eine Ratsche. Sobald es zuerst ausgelöst wird, bleibt es in der ausgelösten Position (Standard=False)
Ja
kommt bald...
Basisklasse für Parameter, die je nach Zustand einen von zwei Werten zurückgeben.
Schwelle
Schwellenwert, mit dem der Wert des Rekorders verglichen werden soll
Ja
Ratsche
Wenn wahr, verhält sich der Parameter wie eine Ratsche. Sobald es zuerst ausgelöst wird, bleibt es in der ausgelösten Position (Standard=False)
Ja
kommt bald...
Gibt einen von zwei Werten zurück, die vom vorherigen Fluss in einem Knoten abhängen.
Die Werte in diesem Parameter variieren je nach Index in der Zeit und variieren innerhalb eines einzelnen Szenarios.
Schwelle
Schwellenwert, mit dem der Wert des Rekorders verglichen werden soll
Ja
Ratsche
Wenn wahr, verhält sich der Parameter wie eine Ratsche. Sobald es zuerst ausgelöst wird, bleibt es in der ausgelösten Position (Standard=False)
Ja
kommt bald...
Gibt je nach Jahr des aktuellen Zeitschritts einen von zwei Werten zurück.
Schwelle
Schwellenwert, mit dem der Wert des Rekorders verglichen werden soll
Ja
Ratsche
Wenn wahr, verhält sich der Parameter wie eine Ratsche. Sobald es zuerst ausgelöst wird, bleibt es in der ausgelösten Position (Standard=False)
Ja
kommt bald...
Gibt einen von zwei Werten zurück, die von der Ordinalzahl des aktuellen Zeitschritts abhängen.
Art
interpolierter Fluss
Ja
Knoten
Knoten zur Bereitstellung von Eingabeflusswerten für die Interpolationsberechnung
Fakultativ
interp_kwargs
Wörterbuch der Schlüsselwortargumente, an die übergeben werden soll scipy.interpolate.interp1d Klasse und wird für die Interpolation verwendet
Fakultativ
kommt bald...
Der Parameterwert entspricht der Interpolation eines anderen Parameters.
Schwelle
Schwellenwert, mit dem der Wert des Rekorders verglichen werden soll
Ja
Ratsche
Wenn wahr, verhält sich der Parameter wie eine Ratsche. Sobald es zuerst ausgelöst wird, bleibt es in der ausgelösten Position (Standard=False)
Ja
kommt bald...
Gibt je nach Wert eines Parameters einen von zwei Werten zurück.
Der Parameterwert entspricht der Quadratur der Interpolation eines anderen Parameters.
oberer_
Parameter
Oberer Wert des interpolierten Intervalls, über das integriert werden soll
: Ja
x x
Koordinaten der Datenpunkte für die Interpolation
Optionale
Y
, Y-Koordinaten der Datenpunkte für die
_Einstellung
Niedrigerer Wert des interpolierten Intervalls, über das integriert werden soll. Kann sein Keine in diesem Fall ist der untere Wert des Intervalls Null
Fakultativ
interp_kwargs
Wörterbuch der Schlüsselwortargumente, an die übergeben werden soll scipy.interpolate.interp1d Klasse und wird für die Interpolation verwendet
Fakultativ
Art
interpolierter Fluss
Ja
Knoten
Knoten zur Bereitstellung von Eingabeflusswerten für die Interpolationsberechnung
Fakultativ
Flüsse
x-Koordinaten der Datenpunkte für die Interpolation
Fakultativ
Werte
y-Koordinaten der Datenpunkte für die Interpolation
Fakultativ
interp_kwargs
Wörterbuch der Schlüsselwortargumente, an die übergeben werden soll scipy.interpolate.interp1d Klasse und wird für die Interpolation verwendet
Fakultativ
kommt bald...
Generischer Interpolationsparameter, der den Fluss eines Knotens im vorherigen Zeitschritt für die Interpolation verwendet.
Gibt einen von zwei Werten zurück, die von einem Recorder-Wert und einem Schwellenwert abhängen.
Schwelle
Schwellenwert, mit dem der Wert des Rekorders verglichen werden soll
Ja
Ratsche
Wenn wahr, verhält sich der Parameter wie eine Ratsche. Sobald es zuerst ausgelöst wird, bleibt es in der ausgelösten Position (Standard=False)
Ja
Recorder
Rekorder: pywr.recorders. _Recorders.Rekorder
Basisklasse für alle Parameter, die darauf angewiesen sind, dass der angehängte Knoten ein Steuerelement enthält_Kurvenparameter. [API Referenz] (https://pywr.github.io/pywr-docs/master/api/generated/pywr.parameters.control_Curves.BaseControlCurveParameter.html #pywr .parameters.control\ _curves.BaseControlCurveParameter)
node .
Lager_
Ein optionaler Storage-Knoten, mit dem das aktuelle prozentuale Volumen abgefragt werden kann
Ja,
Steuerung_Kurven
Die Parameter-Objekte, die als Kontrollkurve (n) verwendet werden sollen
Ja
kommt bald...
Ein Kontrollkurvenparameter, der zwischen drei oder mehr Werten interpoliert.
node .
Lager_
Ein optionaler Storage-Knoten, mit dem das aktuelle prozentuale Volumen abgefragt werden kann
Ja,
Steuerung_Kurven
Die Parameter-Objekte, die als Kontrollkurve (n) verwendet werden sollen
Ja
Werte
Eine Liste der zurückzugebenden Werte, die den Steuerkurven entsprechen. Die Länge der Liste sollte 2 + len (control) betragen_Kurven)
Ja,
Parameter
Wenn der Wert auf Keine gesetzt ist, können Parameter ein Parameter-Objekt angeben, das für jede der Steuerkurven verwendet werden soll. Die Anzahl der Parameter sollte 2 + len (Steuerung) sein_Kurven)
Ja
kommt bald...
Generischer Interpolationsparameter, der einen Wert zurückgibt, der auf dem aktuellen Volumen (Zeitschritt) eines Reservoirs oder eines Storage-Knotens basiert. Der
parameter verwendet eine Reihe (Tabelle) von Volumen des Reservoirs und entsprechende Werte. In diesem Fall sind die zugehörigen Werte die entsprechenden Gebiet des Stausees für eine bestimmte Volumen.
Art
interpoliertes Volumen
Ja
Knoten
Storage node um Eingabevolumenwerte für die Interpolationsberechnung bereitzustellen
Ja
Volumina
x-Koordinaten der Datenpunkte für die Interpolation
Ja
Werte
y-Koordinaten der Datenpunkte für die Interpolation
Ja
interp_kwargs
Wörterbuch der Schlüsselwortargumente, an die übergeben werden soll scipy.interpolate.interp1d Klasse und wird für die Interpolation verwendet
Fakultativ
Das folgende Json zeigt ein Beispiel für eine Härtung mit der Bewertung von Fläche und Volumen für ein Reservoir. Dies könnte verwendet werden, um das Area-Attribut eines Speicher- oder Reservoir-Knotens zu definieren.
Das Json steht für die folgende Tabelle:
0
1
7
2
10
4
15
6
25
14
Wenn es geplottet ist, sieht es so aus:
Unten finden Sie ein Beispiel für eine Gebietsbewertungstabelle
0
1
7
2
10
4
15
6
25
14
Wenn es geplottet ist, sieht es so aus
Die Rückgabewerte werden linear zwischen den Steuerkurven interpoliert, wobei der erste und der letzte Wert 100% bzw. 0% sind.
Interpolation wird verwendet, um Werte zwischen Punkten zu berechnen, die im Interpolationsfeld angegeben sind.