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

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

Embed Size (px)

Citation preview

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

Nachtrag: Statischer Druck(Aufgabe 3)

Projektübung Klimamodellierung (05-3034) – A. Paul

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

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.

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

Unix-Tipp

• Wenn das aktuelle Verzeichnis “.” nicht im

Suchpfad enthalten ist, dann kann man ein

Programm a.exe mit dem Befehl

./a.exe starten.

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

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)

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

Energiebilanzmodell(Aufgabe 4)

Projektübung Klimamodellierung (05-3034) – A. Paul

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

Punktmodell der Strahlungsbilanz

(Stocker 2004, Abschnitt 2.2)

414

dT Sh C T

dt

Gewöhnliche, nichtlineare Differentialgleichung erster Ordnung für die

unbekannte, zeitabhängige Variable T(t)

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

R 6371 km Erdradius

h 8.3 km Skalenhöhe

1.2 kg m-3 Luftdichte

C 1000 J kg-1 K-1 Spezifische Wärme

von Luft

T K Temperatur

0.3 Planetare Albedo

S 1367 W m-2 Solarkonstante

0.6 Emissions-

vermögen

5.67x10-8 W m-2 K-4 Stefan-Boltzmann-

Konstante

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

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

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

Eis-Albedo-Rückkopplung

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

2 3

2 3

2 3

1 1( ) .

2 3!t t t

dT d T d TT t t T t t t t

dt dt dt

T(t) in eine Taylorreihe entwickeln:

2 3

2

2 3

( ) 1 1.

2 3!

Korrekturterm der Ordnung

t t t

T t t T tdT d T d Tt t

dt t dt dt

t

t = n t, n=0,1,2,…

Nach der ersten Ableitung auflösen: Euler-Schema

Diskretisierung

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

3 4

2 3

3 4

2

( ) 1 1.

2 3! 4!

Korrekturterm der Ordnung

t t t

T t t T t tdT d T d Tt t

dt t dt dt

t

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

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

, ,dy

f x y xdx

0 0 .y x y

4, , ( , ) 1 .4

Sy T x t f x y y

• 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

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

• 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]

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

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

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

Parameterized REAL variables

• REAL variables (floating point numbers)

are parameterized

• The kind type parameter specifies

minimum precision and exponent range

requirements.

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

! 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 typeINTEGER, PARAMETER :: q=dp

! Variable declarationsREAL(KIND=q) :: dpressREAL(KIND=q), DIMENSION(1:km) :: p

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

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

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

The block IF construct

! Variable declarations! tol = criteria of convergence (K)REAL(KIND=q) :: tol[..]! Initializations tol = 1.0E-03_q[..]! Time loopDO itt=1,ittmax

[..]

! Test for convergence IF (ABS(tf – ti) < tol) THEN EXIT END IFEND DO