Modellbeschreibung
Startseite | Modellbeschreibung | Programmdateien | Eingabeparameter | Sonstige Programme |
Im Hauptverzeichnis befinden sich die beiden make-Dateien
makelib und maketurb zum Kompilieren, das
Programm turbz, die Programmbibliothek turblib.a
und die Datei run zum Starten des Modells.
Weiterhin gibt es sechs Unterverzeichnisse:
Die Programmiersprache von MS3 ist Fortran77. In den hier vorhandenen
make-Dateien sind Optionen für den g77-Kompiler unter Linux eingetragen.
Es gibt zwei make-Dateien: makelib erzeugt die
Programmbibliothek, maketurb das Programm. Der
Aufruf erfolgt mit:
1) make -f makelib
2) make -f maketurb
Vorausgesetzt, das die Eingabeparameter in den
entsprechenden Dateien stimmen, kann das Modell nun mit der Datei run gestartet werden (vorher ausführbar
machen). Die Modellergebnisse werden sequentiell und formatiert in das
Verzeichnis outdata ausgegeben.
Das Hauptprogramm turbz.f dient der Steuerung und Koordination des Modellablaufes. Zu Beginn der Zeitschleife werden die wichtigsten Modellparameter aus den Dateien input.dat und bopara.dat ausgelesen. Danach erfolgt der Aufruf der Initialisierungsprogramme für Boden, Atmosphäre und Vegetation (letztere nur dann falls diese Option gewählt wurde):
Bei der Initialisierung gibt es zwei Auswahlmöglichkeiten:
Die erste Möglichkeit läßt so wenig Informationen
über die Grenzschicht wie möglich in den Modellstart
einfließen:
Die Initialisierung erfolgt in der Routine
init1.f um 0 Uhr des angegebenen Anfangstages. Die Atmosphäre
ist neutral geschichtet, das Windprofil homogen. TKE,
Mischungsweglänge, Richardson-Flußzahl und die turbulenten
Flüsse sind nur auf der untersten Modellfläche des
Atmosphärenmodells vorgegeben und entwickeln sich während
der ersten Zeitschritte nach oben in die Grenzschicht hinein (Olk,
1993). Der obere Rand wird von den obersten beiden
Modellflächen gebildet und weist einen konstanten geostrophischen
Wind und eine stabile Temperaturschichtung auf. Die turbulenten
Flüsse verschwinden dort. Im Fall dieser Initialisierung sollte
ein vollständiger Tagesgang zum Einschwingen des Modells
verwendet werden.
Die zweite Möglichkeit ist die Initialisierung mit einem
Startprofil, das vorher im Verzeichnis progs mit dem Programm
infeld.f aus den Ergebnissen eines
vorherigen Modellaufes erstellt wurde (oder wie auch immer, wichtig
ist vor allem, das die Eingabedatei die notwendige Struktur besitzt).
Das Startprofil init_atm.dat ist
im Verzeichnis indata abgelegt und enthält die Felder von
potentieller Temperatur, Wind, spezifischer Feuchte, TKE,
Richardson-Flußzahl und der turbulenten Flüsse. Im Fall
einer Initialisierung mit Startprofil wird die Routine
init2.f verwendet. Der Zeitpunkt der
Initialisierung ist nun nicht mehr 0 Uhr, vielmehr wird dem
Modell ein "Vorlauf" von -12000 Sekunden gegeben. Stimmen die
im Profil verwendeten Werte von Oberflächentemperatur (tpn(0)) und
Feuchte (Qn(0)) nicht mit den in
input.dat angegebenen Werten
überein, so werden die Startprofile von Temperatur und spezifischer
Feuchte mit den entsprechenden Differenzen korrigiert.
Das Bodenmodell wird mit einem konstanten
Matrixpotential in allen Schichten initialisiert. Das Temperaturprofil
ist dagegen linear von der Tiefe abhängig und wird aus der
Differenz zwischen der Temperatur im unteren Rand des Bodenmodells,
Tc und der Temperatur an der Erdoberfläche
ath=Tso ermittelt. Es empfiehlt sich, Tc kleiner als
Tso zu wählen, und so den Bodenwärmestrom gleich in
die richtige Richtung auszulenken. Am unteren Rand des Bodenmodells
bleiben Matrixpotential und Temperatur während der Simulation
konstant.
Im Fall mit Vegetation werden zusätzlich noch die Big-Leaf
Temperatur, die spezifischen Feuchten an Blattober- und Unterseite und
die Widerstände initialisiert.
Nach der Initialisierung erfolgt der erste Zeitschritt. Nach der
Berechnung oder dem Auslesen der Globalstrahlung erfolgt der Aufruf
des Unterprogrammes boden.f, in dem die
Kopplung der Teilmodelle durchgeführt wird:
Im Fall ohne Vegetation wird die Iterationsroutine ebit.f aufgerufen, die aus der Nullstelle der Energiebilanzgleichung mit der Regula falsi die neue Oberflächentemperatur Tso ermittelt. Danach erfolgt die Iteration der Monin-Obukhov-Skalierungsgrößen in der Routine monin.f. Abschließend werden die Modellgrößen am oberen Rand des Bodenmodells (noch innerhalb von ebit.f) und die Quellen- und Senkenterme am unteren Rand des Grenzschichtmodells (am Schluß von boden.f) bestimmt.
Im Fall mit Vegetation müssen zwei Energiebilanzen ins
Gleichgewicht gebracht werden: An der Erdoberfläche und am
Big-Leaf. Dementsprechend werden zwei Iterationsroutinen
benötigt:
ebavit.f für die Energiebilanz
Vegetation-Grenzschicht und ebvbit.f
für die Energiebilanz Boden-Vegetation.
Die Randgrößen von Grenzschicht und Bodenmodell werden
ähnlich behandelt, wie im Fall ohne Vegetation. Zusätzlich
dazu werden in der Routine boden.f
noch die aerodynamischen Widerstände, der Stomatawiderstand und
die Zusatzterme für die Bodenwasserkopplung berechnet.
Nach erfolgter Iteration der Oberflächentemperatur(en) und der Bestimmung der Quellen- und Senkenterme am Unterrand des Grenzschichtmodells und am Oberrand des Bodenmodells, werden diese nun dazu verwendet, die progostischen Variablen und die übrigen Modellwerte zu berechnen. Dazu erfolgt im Hauptprogramm turbz.f der Aufruf weiterer Unterprogramme, so z.B. zur Berechnung der TKE, der spezifischen Feuchte oder des Bodenwasserhaushaltes. Eine kurze Beschreibung dieser Programme befindet sich auf der Seite "Programmdateien".
Startseite | Modellbeschreibung | Programmdateien | Eingabeparameter | Sonstige Programme |