Pywr-Konzepte
description: Schlüsselbegriffe, die in Pywr verwendet werden.
Pywr-Konzepte
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.
Knoten
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 Knotentypen 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).
Rand
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“.
Beschränkung
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.
Zuweisungsstrafe oder „Kosten“
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
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.
Rekorder
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).
Szenario
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:
Weitere Informationen finden Sie in dem Open-Access-Papier mit dem Titel: Ein Wasserressourcensimulator in Python.
Last updated