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

Veröffentlicht am
Kategorisiert in Entwicklung

Feinarbeit und git

git Logo (Quelle und Lizenz)

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

DGM mit irregulärer Geometrie

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

Veröffentlicht am
Kategorisiert in Entwicklung

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

Veröffentlicht am
Kategorisiert in Entwicklung

Start der Entwicklung

Numpy Logo (Quelle und Lizenz)

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

Veröffentlicht am
Kategorisiert in Entwicklung

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