TreeMig koppeln ¶
Walddynamik ist nicht vollkommen autonom, sondern wird von äusseren Faktoren beeinflusst und beeinflusst wiederum andere Systeme. Wenn diese Einflüsse in beide Richtungen gehen, sollten in Simulationen andere dynamische Modelle für die externen Faktoren mit TreeMig gekoppelt werden.
Wie funktioniert die Kopplung? ¶
Das TreeMig-R-Paket stellt Funktionen zur Verfügung (aktuell in CoupleOtherModelToTreeMig.R in den Beispiel-Skripten), um die Kopplung von einem anderen Modell (AM) an TreeMig (TM) zu vereinfachen. Die Kopplungsfunktion iteriert durch vordefinierte Kopplungs-Zeitpunkte (KZP, kleinst-möglicher Abstand 1 Jahr) der Gesamtsimulation. Zwischen den KZP laufen beide Modelle unabhängig voneinander. An den KZP tauschen TM und AM Daten über Zustand und Eingangsdaten aus. Das AM modifiziert Anfangswerte und/oder Eingangsdaten von TM.
Wie koppeln? ¶
Zu Beginn der Kopplung müssen die Zustände, Settings und Inputdaten von TM bekannt sein. Das kann durch eine Spinup-Simulation, z.B. mit einem TM-R-Skript erreicht werden.
AM muss in R geschrieben sein, mit einer festgelegten Schnittstelle. Die Parameter für die Funktion CoupleOtherModelToTreeMig (z.B. alle KZPs, der Ort des TreeMig statefiles, die TreeMig-Control-settings, der Name, die Eingangs-Daten und Modell-Parameter des AM) müssen definiert werden.
TM und AM werden dann mit der Funktion CoupleOtherModelToTreeMig gekoppelt simuliert.
Beispiele ¶
Einige Beispielskripte unterschiedlicher Komplexität, von “kein gegenseitiger Einfluss” bis hin zu (einem stark vereinfachten) “Feedback Wald - Klimasystem” demonstrieren die Kopplung anderer Modelle an TreeMig.
Der Quellcode dieser Beispiel-Modelle ist in VariousOtherModels.R zu finden, sie werden mit TestCouplingOM_and_TM.R aufgerufen. Dazu wird die Kopplungsfunktion in CoupleOtherModelToTreeMig.R benötigt, sowie die Inputdaten, z.B. aus dem Starterkit.
Die Beispiel-Modelle dienen lediglich der Illustration der Kopplung; ihre Funktionen und Parameter sind nicht wissenschaftlich abgestützt.