Erste Anwendungen von pyMANGA
Bevor Sie mit den ersten Anwendungen beginnen, sollten Sie, falls noch nicht geschehen, die Anleitungen zur Installation und Vorbereitung für ihr entsprechendes Betriebssystem lesen. Diese wird vor allem für Anfänger empfohlen, welche wenig Erfahrung mit Python und der Eingabekonsole haben. Diese Anleitung ist grundsätzlich für alle drei Betriebsyteme (MacOS, Unbunt, Windows) geeignet. Der nachfolgende Absatz ist basierend auf der Ausführung in Windows beschrieben. Sollten Sie z.B. Ubuntu verwenden, beachten Sie bitte die Übertragung von allgemein bekannten Unterschieden (z.B. die Verwendung von Backslashes)
Einfachere Beispiel-Setups ohne OpenGeoSys
Zunächst muss wieder mit der Konsolenoberfläche zu dem Dateispeicherort der pyMANGA Hauptebene navigiert werden. Durch die Eingabe von
• py -3.7 main.py -h [1a]
für Windows und
• python3 main.py -h [1b]
für Ubuntu wird pyMANGA gestartet und alle verfügbaren Eingabeoptionen ausgegeben (-h steht für help).
Hier ist zu sehen, dass die main.py Datei ausgeführt wurde und auf weitere Eingaben wartet. Damit ist der Start von MANGA geglückt und Sie können ein paar erste Verwendungsbeispiele testen. Dazu können Sie folgenden Code eingeben (siehe Abbildung 2).
• py -3.7 main.py -i test\SmallTests\Test_Setups_small\AllSimple_WithOutput.xml [2]
-i beschreibt dabei den Index bzw. den Pfad der Datei, in der der Input definiert ist, der für dieses Beispiel verwendet werden soll. Beachten Sie, dass die Verwendung von Bachslashes im Dateipfad nur für die Windows-Variante gilt.
Nach Ausführung des Codes wird eine Fehlermeldung ausgegeben, welche beschreibt, dass ein Ordner Namens testoutputs nicht existiert, welcher aber vom Programm benötigt wird, um die erzeugten Daten der Simulation abzuspeichern. Diese Information findet sich in der Datei AllSimple_WithOutput.xml, welche den Input für unser Beispiel definiert. Um diese einsehen zu können, müssen Sie die Datei mit Hilfe des Editors öffnen. Die XML-Datei finden Sie unter folgendem Dateifpad:
test\SmallTests\Test_Setups_small\AllSimple_WithOutput.xml
Dazu erstellen Sie bitte das Verzeichnis, welches als output_dir (Output-Directory) im Projekt-File angegeben ist. Die Standardeinstellung lautet:
test\testoutputs
Der angegebene Dateipfad ist relativ zu dem Ordner, in dem sie pyMANGA gestarten haben, angegeben (siehe Abbildung 3). Dazu folgen Sie dem in Abbildung 2 angegeben Dateipfad im Ordner pyMANGA-master und machen einen Rechtsklick auf die genannte Datei, gehen auf Öffnen mit und suchen den Editor raus (siehe Abbildung 3).
In der Datei finden sich die rot-markierten Zeilen, welche angeben was vom Programm ausgegeben werden soll, z.B. die Baumhöhe (h_stem) und wo hin, nämlich in den nicht existenten Ordner testoutputs, welcher als Ausgabeort für die Simulationsergebnisse definiert wurde. Demzufolge müssen Sie nun diesen Ordner erstellen. Dazu machen Sie einen Rechtsklick in den Unterordner C:\Users\chris\Desktop\pyMANGA-master\test, klicken auf Neuen Ordner erstellen und nennen ihn testoutputs (siehe Abbildung 4).
Im Anschluss führen Sie den Code 1 erneut in der Eingabeaufforderung aus. Nun sollte das Programm die erste Simulation starten (siehe Abbildung 5). Es gibt verschiedene input Parameter, welche in MANGA Projektkonfigurationen eingestellt werden können. Die Datei, welche soeben gestartet wurde ist eine Konfigurationsdatei. Eine Beschreibung dieser Parameter findet sich auf der folgenden Homepage. Die Ergebnisse der Simulation werden einmal visuell in einem separaten Fenster dargestellt (siehe Abbildung 6) und in Form von csv Dateien im neu angelegten Ordner testoutputs. Damit haben Sie erfolgreich das erste Beispiel ausgeführt.
Analog dazu können Sie mit den folgenden Codes zwei weitere Beispiele ausprobieren, in dem andere Input-Varianten definiert sind. Dazu müssen Sie aber zunächst den Ordner testoutputs leeren bzw. einen anderen Ordner in den Input-Dateien mit Hilfe des Editors definieren, da das Programm die alten Output-Daten nicht überschreiben kann. Anschließend geben Sie wieder den Code in die Eingabeaufforderung ein. Des Weiteren wurden wiederum andere Parameter verändern. Verschaffen Sie sich mit Hilfe der Homepage einen Überblick über die Einstellungsvarianten der Input-Parameter, die in den Beispielen verwendet werden und vergleichen Sie sie.
• py -3.7 main.py -i test\SmallTests\Test_Setups_small\FIXEDSAL_BETTINA.xml [3]
• py -3.7 main.py -i test\SmallTests\Test_Setups_small\FON_SAZOI_KIWI.xml [4]
Aufgrund von anderen Projekt-Konfigurationen (in FIXEDSAL_BETTINA.xml und FON_SAZOI_KIWI.xml) wird unteranderem im Beispiel zu Code 3 keine visuelle Darstellung ausgegeben (vergleiche Abbildung 6).
Komplexere Beispiel-Setups mit OpenGeoSys
Die nächste Anwendung von pyMANGA nutzt OpenGeoSys (OGS). Dabei handelt es sich um ein wissenschaftliches Open-Source-Projekt zur Entwicklung numerischer Methoden für die Simulation von thermo-hydro-mechanisch-chemischen (THMC) Prozessen in porösen und fragmentierten Medien. Um OGS zu nutzen müssen Sie dieses zunächst herunterladen und installieren. Da die Installation zwischen den Betriebssystemen sehr verschieden ist, ist nachfolgende Erklägung individuell für Ihr Betriebssystem formuliert.
Erste Anwendungen in Ubuntu
Auf dieser Homepage finden Sie am Seitenende mehrere Varianten der OGS-Version 6.2.2. Wählen Sie die Variante “ogs-6.2.2-Linux-5.3.4-arch1-1-ARCH-x64-python–de-utils” aus und laden Sie den komprimierten Ordner herunter oder benutzen Sie direkt diesen Link. Stellen Sie bitte sicher, dass Sie exakt diese Version von OGS downloaden.
Entpacken Sie den Ordner und verschieben Sie die drei in diesem enthaltene Ordner (bin, lib und share) ausgehend von der pyMANGA-Hauptebene in folgenden Ordner:
./TreeModelLib/BelowgroundCompetition/OGS
Die Dateien müssen direkt in diesem Ordner liegen. Um zu überprüfen ob OGS auf Ihrem Rechner ausführbar ist, öffnen Sie ein Terminal in der pyMANGA-Hauptebene und geben Sie folgendes ein:
./TreeModelLib/BelowgroundCompetition/OGS/bin/ogs
Lässt sich OGS korrekt ausführen, erhalten Sie folgende Ausgabe:
PARSE ERROR:
Required argument missing: project-file
Brief USAGE:
./ogs [--enable-fpe] [--unbuffered-std-out]
[--config-warnings-nonfatal] [-l <LOG_LEVEL>] [-o <PATH>] [-r
<PATH>] [--] [--version] [-h] <PROJECT_FILE>
Sollte das nicht funktionieren, überprüfen Sie zunächst ob sie das Python-Modul “vtk” in der Version 8.1.2 installiert haben. Lesen Sie hierzu auch den Abschnitt zur Installation von pyMANGA in Ubuntu. Wenn Sie an dieser Stelle auf unüberwindbare Probleme stoßen kontaktieren Sie uns.
Nun können Sie das nächste Anwendungsbeispiel starten, indem Sie ein Terminal in der pyMANGA-Hauptebene öffnen und nachfolgenden Befehl eingeben:
python3 main.py -i test/LargeTests/Test_Setups_large/OGS3D_SAZOI_BETTINA.xml
Erste Anwendungen in Windows
Um OGS zu installieren gehen Sie auf die folgende Homepage und scrollen bis Sie die Version 6.3.0 finden und downloaden diese (siehe Abbildung 7 und Abbildung 8).
Wählen Sie, entsprechend ihres Betriebssystems, die zu downloadende Datei aus. Anschließend entpacken Sie die Zip Datei, kopieren den Bin Ordner und fügen diese in den pyMANGA-master Ordner in den folgenden Pfad ein (siehe Abbildung 9).
\pyMANGA-master\TreeModelLib\BelowgroundCompetition\OGS [5]
Damit ist OGS installiert. Um zu testen ob es ordnungsgemäß funktioniert, öffnen Sie den Bin Ordner, drücken shift und die rechte Maustaste und wählen PowerShell-Fenster hier öffnen (siehe Abbildung 10).
Kopieren Sie den Pfad, der im PowerShell-Fenster angezeigt wird, und hängen Sie \OGS an und führen dies mit der Eingabetaste aus. In der folgenden Abbildung 11 sehen Sie die Ausgabe des PowerShell-Fensters, wenn OGS reibungslos funktioniert.
Nun können Sie das nächste Anwendungsbeispiel starten, indem Sie wie gehabt die Eingabeaufforderung im pyMANGA-master Ordner öffnen und pyMANGA starten. Anschließend geben Sie den nachfolgenden Befehl ein (siehe Abbildung 12).
py -3.7 main.py -i test\LargeTests\Test_Setups_large\OGS3D_SAZOI_BETTINA.xml [6]
Hinweis: Die Rechenzeit kann mehrere Stunden betragen. Dies können Sie reduzierten, indem Sie in der Datei OGS3D_SAZOI_BETTINA unter folgenden Pfad .\ProjectLib\ExampleSetups öffnen und die folgende Zeile ändern:
<delta_t_ogs> 604800 </delta_t_ogs> [7]
Hier werden 604800 Sekunden angegeben, diese Zahl kann variiert werden. Sie entspricht hier einer Woche, d.h. die OGS-Berechnungen werden im Baummodell nicht für den Ausgangszeitschritt, sondern nur für eine Woche durchgeführt. Aus den Ergebnissen wird die Porenwasserverteilung unter stationären Annahmen extrapoliert. Folglich muss dieser Parameter sehr vorsichtig verwendet werden, ist aber ein Mittel, um die Rechenzeit deutlich zu reduzieren (siehe Abbildung 13).