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
Blog
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
Irreguläre Einzugsgebiete
In der jetzigen Entwicklungsstufe berechnet die Software nur rechteckige Gebiete, in welchen jede Rasterzelle berechnungsrelevant ist. Für reale Anwendungen müssen jedoch beliebige Einzugsgebiete berechnet werden können. Die einfachste Methode hierfür ist die Nutzung von maskierten Numpy arrays über numpy.masked. Zusätzlich zu den Daten enthalten diese Arrays eine „Maske“, welche definiert, ob eine Zelle betrachtet werden… Irreguläre Einzugsgebiete weiterlesen
Ein Abbruchkriterium muss her
Der Prototyp der Software iteriert und erzeugt in einem Testgebiet die gewünschten Ausgabedateien für Wassertiefe und Abflussakkumulation, jedoch läuft der Algorithmus aktuell noch so lange weiter, bis er manuell unterbrochen wird. Da nur Iterationsschritte und keine Zeitschritte betrachtet werden, gibt es keinen definierten Abbruch. Für eine effiziente Nutzung müssen Kriterien definiert werden, bei welchen Ausgabedateien… Ein Abbruchkriterium muss her weiterlesen
Start der Entwicklung
Die Idee für SplashTool stand im Raum, ebenso die wesentlichen Bibliotheken für die Umsetzung. Das Projekt soll in der Programmiersprache Python umgesetzt werden. Diese bietet über zahlreiche Bibliotheken Funktionen zur effizienten Umsetzung. Als Standardskriptsprache sowohl in QGIS als auch in ArcGIS ist sie zudem im Bereich Starkregenanalysen weit verbreitet. Relativ schnell war auch klar, dass… Start der Entwicklung weiterlesen
Die Idee zu SplashTool
Bei der Bearbeitung mehrerer Dutzend Starkregenprojekte war ich als federführender Ingenieur und als Projektleiter unzufrieden mit den verfügbaren Werkzeugen: Fließweganalysen, basierend auf den klassischen GIS Tools, haben zahlreiche methodische Einschränkungen und erfüllen nicht mehr die Anforderungen an moderne Analysen. Hydrodynamische Modelle hingegen benötigen zahlreiche Inputdaten, einen sorgfältigen Modellaufbau im Hinblick auf die Modellstabilität bei expliziten… Die Idee zu SplashTool weiterlesen