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).

Abbildung 1: Ausgeführte main.py Datei in der Windows-Eingabekonsole.

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.

Abbildung 2: Fehlermeldung beim Auführen von py main.py -i .\test\SmallTests\Test_Setups_small\AllSimple_WithOutput.xml.

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).

Abbildung 3: Inhalt von AllSimple_WithOutput.xml, geöffnet mit dem Text Editor.

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).

Abbildung 4: Erstellung des neuen Ordners testoutputst.

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.

Abbildung 5: Widerholte Auführung von py main.py -i ProjectLib\ExampleSetups\AllSimple_WithOutput.xmlt nach Erstellung des neuen Ordners testoutputs.

Abbildung 6: Visuelle Ergebnisse der Simulation.

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).

Abbildung 7: Versionsauswahl von OGS.

Abbildung 8: Download von OGS 6.3.0.

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]
Abbildung 9: Einfügen von OGS in den pyMANGA-master Ordner.

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).

Abbildung 10: Öffnen eines PowerShell-Terminals

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.

Abbildung 11: Ausgabe bei Ordnungsgemäßer Funktion von OGS.

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]
Abbildung 12: zeigt die Ausführung des Anwendungsbeispiels mit OGS.

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).

Abbildung 13: Anpassung zur Verkürzung der Rechenzeit.