Der Projektordner enthält jetzt exemplarische Symbolisierungen für die Darstellung der Ergebnisraster in QGIS. Die relevanten Schwellwerte sollten für das Betrachtungsgebiet angepasst werden, insbesondere die Abflussakkumulation.
Autor: Tim Schneider
SplashTool restart
Die Ausgabe von Dateien enthält jetzt eine kleine Logdatei mit wesentlichen Informationen zur Wasserbilanz. Der Clou bei der Sache: Die Datei kann als „restart“-Datei genutzt werden. Bei dieser Option verwendet die Iteration den Zustand der letzten Logdatei im Ausgabeordner, um die Iteration zu konfigurieren und macht mit diesem Zustand weiter!
Wir brauchen eine Dokumentation
SplashTool wird mittlerweile innerhalb von Dahlem regelmäßig genutzt. Darüber hinaus kommt es in Kaiserslautern als Werkzeug für eine flächendeckende Analyse zum Einsatz. Bisher haben die Kommentare im Quelltext, sowie kurze unsortierte Erläuterungen zum Algorithmus für die Dokumentation der Funktionalität ausgereicht. Dies reicht mittlerweile nicht mehr aus, da sowohl die zugrunde liegende Methodik, als auch die… Wir brauchen eine Dokumentation weiterlesen
Multithreading Part 2
Im bisherigen Entwurf zu Multithreading werden die zu berechnenden Kacheln jedes Mal neu erstellt und die Ergebnisse in den Hauptarray zurückgespielt. Dies erzeugt zusätzliche Lese- und Schreibvorgänge und verlangsamt somit die Iteration. Im nächsten Schritt werden daher die Kacheln permanent gemacht. Alle Rechengrößen werden in den Kacheln gepeichert und die Kacheln parallel berechnet. Nach Berechnung… Multithreading Part 2 weiterlesen
SplashTool in Kaiserslautern
Die Stadtentwässerung Kaiserslautern hat sich dazu entschieden, im aktuell bei Dahlem durchgeführten Projekt zur Starkregengefährdung SplashTool als primäres Analysewerkzeug einzusetzen! Nach zahlreichen Tests mit frei verfügbaren Daten, sowie einigen Einsätzen als unterstützendes Werkzeug zum Prescreening bei hydrodynamischen Analysen, freue ich mich sehr, dass SplashTool erstmalig als primäres Werkzeug für eine Grobanalyse eingesetzt wird. Die betrachtete… SplashTool in Kaiserslautern weiterlesen
Visualisierung des Iterationsverlaufs
Der Iterationsverlauf hat keine physikalisch korrekte zeitliche Komponente. Dennoch kann die Visualisierung des Iterationsverlaufes vom Anfang bis zu einem annähernd stationären Zustand hilfreich für das Systemverständnis der Iteration sein. Hierzu gibt es die Option „create frequent output“. Warnung: Es werden sehr viele TIF-Dateien geschrieben und man benötigt sehr viel Speicherplatz! Mit häufig geschriebenen Ausgabedateien lässt… Visualisierung des Iterationsverlaufs weiterlesen
Funktionsupdates: Wasserlevel aus tif und Ablauf aus Senken
Nach dem Multithreading stehen noch einzelne Funktionsupdates an. Wasserlevel Das initiale Wasserlevel konnte bisher lediglich als fixer Wert vorgegeben werden, welcher für alle Zellen gleich ist. Durch dieses Update kann das Wasserlevel alternativ auch als TIF Datei eingelesen werden, sodass jede Rasterzelle einen individuellen initialen Wasserstand erhalten kann. Somit können ungleichmäßige Belastungen, aber auch zum… Funktionsupdates: Wasserlevel aus tif und Ablauf aus Senken weiterlesen
Verbesserungen unter der Haube
TIF LZW Komprimierung Die Ausgabedateien können viel Speicherplatz einnehmen. Glücklicherweise bietet gdal direkt eine Option, TIF Dateien mit dem verlustfreien LZW Komprimierungsalgorithmus zu komprimieren. Dies ist die neue Standardeinstellung für die TIF Ausgabe: Automatische Threadanzahl Die Anzahl an Threads zur Berechnung kann je nach verfügbarer CPU automatisch gesetzt werden. Die optimale Threadanzahl wurde auf verschiedenen… Verbesserungen unter der Haube weiterlesen
Mehrkernunterstützung
Die Berechnung erfolgt aktuell auf Basis eines einzelnen Arrays je Rechengröße. Für die Berechnung mit mehreren Kernen bietet sich Multithreading an. Es gibt mehrere Frameworks, welche – zum Teil mit unterschiedlichem Fokus – Parallelisierung von Numpy Berechnungen ermöglichen. Numba ist ein guter Kandidat, unterstützt jedoch aktuell keine maskierten Arrays. Dask ist ein ebenfalls sehr interessantes… Mehrkernunterstützung weiterlesen
Feinarbeit und git
Nach Implementierung von irregulären Geometrien über maskierte Numpy arrays stehen einige Pflegearbeiten an. Die Variablenbezeichnungen sind uneinheitlich, zudem fehlen Kommentare und doctrings zur Dokumentation der Funktionen. Der Code enthält zu diesem Zeitpunkt drei Dateien: main.py: die Hauptdatei für die Basiskonfiguration manager.py: für Datei Ein- und Ausgabe, sowie zur Steuerung des Iterationsverlaufs model.py: Das Modell. Der… Feinarbeit und git weiterlesen