Modellierung der Ozeanzirkulation
Methoden, Ergebnisse, aktuelle Probleme
Information zu und Download von SciLab (kostenlose Software im Matlab-Stil):
Scilab Home Page: https://www.scilab.org/
Weitere Anregungen zur Übung "Eindimensionales Temperaturmodell":
1. Benutzt das plot2d-Kommando um euch die Lösung auch zu anderen
Zeiten anzusehen, nicht nur zum Schluß der Integration.
2. Berechnet mit der in der Vorlesung hergeleiteten Stabilitätsbedingung
welcher Zeitschritt maximal möglich ist - probiert was passiert,
wenn man längere oder kürzere Zeitschritte nimmt.
3. Berechnet die numerische Diffusion im Advektionsterm - vergleicht
sie mit der explizit im Diffusionsterm vorgegebenen Diffusionskonstanten. 4. Was passiert, wenn w=0 ist (reine Diffusion)?
5. Berechnet die analytische Lösung (mit Hilfe der Funktion
y=exp(x)) und plottet sie zum Vergleich - wo immer möglich
sollte man numerische Lösungen anhand analytisch bekannter
Ergebnisse testen, da man fast immer erstmal Fehler im Programm
hat!
6. Benutzt verschiedene vertikale Auflösungen und seht euch
an, wie nah man jeweils an die korrekte analytische Lösung
herankommt. Bemerkt ihr auch Unterschiede in der Rechendauer?
7. Gebt die obere Randbedingung mit einem Jahresgang vor, mit Hilfe
der Funktion y=sin(x). (Hinweis: dabei auf den oberen Teil der Wassersäule
konzentrieren, depth=-500m, und feinere vertikale Auflösung
und kürzere Zeitschritte wählen. Um Rechenzeit zu sparen,
gleich mit dem analytisch bekannten Gleichgewichtsprofil aus (3)
als Anfangsbedingung anfangen. Siehe Beispielscript colu??mn_tutorial_seasonal.sci
für eine Lösung.)
8. Das Temperaturprofil ist jetzt in den Herbst- und Wintermonaten
statisch instabil (kaltes Wasser über wärmerem Wasser).
Versucht, eine einfache Parametrisierung für convective adjustment
einzubauen, wie in der letzten Vorlesung angegeben. (Hier kann man
die Bedingung statt mit Dichte direkt mit der Temperatur machen.)
9. Wer jetzt noch nicht genug hat, kann noch die Randbedingungen
umformulieren. Oben eine Relaxationsbedingung der Art dT/dt = lambda*(Tstar-T).
Unten überlegen, wie man eine Bedingung "keinen Wärmefluß
durch den unteren Rand" programmieren könnte, und was dann
mit der Lösung passiert.
(Anmerkung: in meinem Beispielscript column_tutorial.sci befindet sich
eine Variante, bei der die Lösung über alle Zeitschritte als
Animation gezeigt wird.)
Lösungen zu jeder dieser Fragen könnt ihr mir gerne per mail senden!
Die verwendeten scripts:
column_frame (zum selbst fertigmachen)
column_tutorial (fertige Lösung)
column_tutorial_seasonal
(Lösung mit Jahresgang)