Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Nachtrag: Statischer Druck (Aufgabe 3) Projektübung Klimamodellierung (05-3034) – A. Paul.

Ähnliche Präsentationen


Präsentation zum Thema: "Nachtrag: Statischer Druck (Aufgabe 3) Projektübung Klimamodellierung (05-3034) – A. Paul."—  Präsentation transkript:

1 Nachtrag: Statischer Druck (Aufgabe 3) Projektübung Klimamodellierung (05-3034) – A. Paul

2 Open University Abb. 3.15 Unterschied zwischen barotropen und baroklinen Bedingungen Intensität der blauen Schattierung ist Maß für Dichte des Meerwassers. (a) Flächen gleicher Dichte und Flächen gleichen Drucks verlaufen parallel und mit konstanter Steigung. Horizontaler Druckgradient konstant. (b) Flächen gleicher Dichte schneiden Flächen gleichen Drucks. Horizontaler Druckgradient nimmt mit Tiefe ab.

3 Unix-Tipp Wenn das aktuelle Verzeichnis. nicht im Suchpfad enthalten ist, dann kann man ein Programm a.exe mit dem Befehl./a.exe starten.

4 Tipps zur Fehlersuche PRINT-Anweisungen einbauen, um den Wert bestimmter Variablen zu überprüfen Spezielle Compileroptionen wählen, um zum Beispiel Feldbereichsüberschrei- tungen anzuzeigen (Hinweise folgen)

5 Energiebilanzmodell (Aufgabe 4) Projektübung Klimamodellierung (05-3034) – A. Paul

6 Punktmodell der Strahlungsbilanz (Stocker 2004, Abschnitt 2.2) Gewöhnliche, nichtlineare Differentialgleichung erster Ordnung für die unbekannte, zeitabhängige Variable T(t)

7 R6371kmErdradius h8.3kmSkalenhöhe 1.2kg m -3 Luftdichte C1000J kg -1 K -1 Spezifische Wärme von Luft TKTemperatur 0.3Planetare Albedo S1367W m -2 Solarkonstante 0.6 Emissions- vermögen 5.67x10 -8 W m -2 K -4 Stefan-Boltzmann- Konstante

8 Gleichgewichtstemperatur des globalen Energiebilanzmodells: Die aus Messungen bestimmte mittlere Oberflächentemperatur beträgt 14°C (fett ausgezogen).

9 Eis-Albedo-Rückkopplung

10 T(t) in eine Taylorreihe entwickeln: t = n t, n=0,1,2,… Nach der ersten Ableitung auflösen: Euler-Schema Diskretisierung

11 Ersetzen von t durch - t und addieren: Schema der zentrierten Differenzen

12 Das Euler-Verfahren ist das einfachste, aber auch ungenaueste Verfahren zur Lösung der gewöhnlichen Differentialgleichung erster Ordnung mit der Anfangsbedingung Im Fall des Energiebilanzmodells ist

13 Das Euler-Verfahren wertet die Ableitung nur an den Stellen x und x+ x aus. Dies entspricht der Linearisierung der langwelligen Ausstrahlung. Genauere Verfahren vom Typ Runge- Kutta k-ter Ordnung verwenden weitere Stützstellen im Intervall [x, x+ x]

14 Runge-Kutta-Verfahren k-ter Ordnung Durch die Auswertung von f(x,y) an weiteren Stützstellen im Intervall [x, x+ x] und eine geschickte Linearkombination kann der Fehler von O( x) auf O[( x) k ] reduziert werden

15 Parameterized REAL variables REAL variables (floating point numbers) are parameterized The kind type parameter specifies minimum precision and exponent range requirements.

16 ! Parameter declarations ! Symbolic name for a real kind type with at least ! 15 decimal digits of precision and an exponent range ! from 10**300 to 10**(-300) (double precision) INTEGER, PARAMETER :: dp=SELECTED_REAL_KIND(P=15,R=300) ! Symbolic name for a real kind type with at least ! 6 decimal digits of precision and an exponent range ! from 10**30 to 10**(-30) (single precision) INTEGER, PARAMETER :: sp=SELECTED_REAL_KIND(P=6,R=30) ! Symbolic name for a default real kind type INTEGER, PARAMETER :: q=dp ! Variable declarations REAL(KIND=q) :: dpress REAL(KIND=q), DIMENSION(1:km) :: p

17 Functions and subroutines REAL(KIND=q) FUNCTION feuler(y,s,dx) IMPLICIT NONE !----------------------------------------------------------------- ! This function integrates one time step using the forward Euler ! method for the ODE: dy/dx = f(x,y(x)) ! ! Input arguments: ! y = temperature (K) ! s = solar radiation (W m^(-2)) ! dx = time step (s) ! ! Result variable: ! feuler = dy ! ! Uses external function: rhs ! ! Based on code by M. Yoshimori !----------------------------------------------------------------- REAL(KIND=q), INTENT(IN) :: y,s,dx feuler = rhs(y,s)*dx END FUNCTION feuler

18 The block IF construct ! Variable declarations ! tol = criteria of convergence (K) REAL(KIND=q) :: tol [..] ! Initializations tol = 1.0E-03_q [..] ! Time loop DO itt=1,ittmax [..] ! Test for convergence IF (ABS(tf – ti) < tol) THEN EXIT END IF END DO


Herunterladen ppt "Nachtrag: Statischer Druck (Aufgabe 3) Projektübung Klimamodellierung (05-3034) – A. Paul."

Ähnliche Präsentationen


Google-Anzeigen