Projektseminar numerische Klimasimulation Teil 3.

Slides:



Advertisements
Ähnliche Präsentationen
Ausführen.
Advertisements

Leistung.
Suche in Texten (Stringsuche )
Imperative Programmierung -Entwicklungswerkzeuge
Qualitätssicherung von Software
Parser generieren Yet Another Compiler – Compiler YACC.
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
DO...WHILE Anweisung.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Computerkurs: Quantitative Auswertung biochemischer Experimente Tag 8 Einführung in die numerische Integration Aufgabe 18: Simulation einer Assoziationskinetik.
OpenMP Präsentation im Rahmen des Seminars
Das Klimasystem und seine Modellierung Vorlesung 11 (19. Januar 2004)
Breitenabhängige Energiebilanzmodelle - Energietransport -
Energiebilanzmodelle
Ein einfaches Reservoir-Modell
Nachtrag: Statischer Druck (Aufgabe 3) Projektübung Klimamodellierung ( ) – A. Paul.
Statischer Druck (Aufgabe 3) Projektübung Klimamodellierung ( ) – A. Paul.
Zusammenfassung Vorwoche
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Einfache Klima-Modelle
Wichtige Fachausdrücke in C
Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Differentialgleichungen, SS 01Teil.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Computational Thinking Suchen und Sortieren [Ordnung muss sein…]
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
FORTRAN 77.
Instrumentenpraktikum
Kapitel 19 Kointegration
Prozeduren und Funktionen
Interpreter & Compiler
Informatik Grundlagen, WS04, Seminar 7
Beispiel 8 aus den Vorlesungsbeispielen (2) Struktogrammentwurf schrittweise.
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
Instrumentenpraktikum
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Prüfungsbesprechung Barbara Scheuner Vorlesung: Programmieren und Problemlösen Prof. Hans Hinterberger.
Funktionen, Felder und Parameter- übergabe. Funktionsaufruf mit Feld als Parameter: Parameter = Name des Feldes.
 Gegenstandsbereich der Testtheorie: Analyse der Charakteristika von Tests:  Güte von Tests.  Struktur von Tests.  Schwierigkeit von Tests.  Gruppenunterschiede.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Umsetzung einer Methode zur Online- Kalibrierung von Sauerstoffsensoren in oberflächenbegasten Bioreaktoren Seminarvortrag Daniel Jansen.
Funktionen (Zweck und Eigenschaften) Funktionen sind Unterprogramme, die einen bestimmten Zweck erfüllen Sie zerlegen Probleme in kleine, abgeschlossene.
Pointer. * und &  Bei der Definition int var1; ○ // „normale“ Variable int *var2; ○ // Zeiger auf einen Integer int *var2 = NULL; ○ // … incl. Initialisierung.
Tutorial Messtechnik - Spektralanalyse, Signaltheorie -
Physische Geographie Uni Augsburg Variablen-Arrays: mehrere Platzhalter in einer Variable: Ein Array ist eine (Feld-)Variable in der mehr als ein Wert.
Physische Geographie Uni Augsburg Der Aufbau einer Quelltext-Datei - Header/Kopfzeile program main - Anweisungen: Deklarationen....implicit.
Projektseminar numerische Klimasimulation Mo 10:00-11:30Uhr Raum 3065, Philipp Inhalt: - Theoretische und praktische Grundlagen der numerischen Klimasimulation.
Projektseminar numerische Klimasimulation Teil 2.
Praktische Informatik 1
Programmieren und Problemlösen
Verschachtelte Schleifen
Einführung in die Programmierung mit Java
ABB STOTZ-KONTAKT GmbH ABB i-bus® KNX Raum Master, Basic, RM/S 1.1
► Zahlen kleiner 0 heissen negative Zahlen.
Arbeiten mit dem Terminal
Projektseminar „Mesoskalige Klimamodellierung“ Andreas Philipp
Praktische Arbeitsmethoden Geodatenverarbeitung mit FORTRAN MT3
Programmieren und Problemlösen
Java-Kurs - 4. Übung weitere Kontrollstrukturen
Netzwerk - Programmierung
Die Numerische Differentiation
Unterschiedliche Kontrollstrukturen
Die Überfrage: Wozu modelliert man ?.
Von Wietlisbach, Lenzin und Winter
Funktionen als zentrales Werkzeug
Objektorientierte Programmierung
cT Elektronik Sound Decoder
Mathematisches Modellieren Workshop am Kantonalen Fachschaftstag 2012
The Programming Language Pascal
 Präsentation transkript:

Projektseminar numerische Klimasimulation Teil 3

Beispiel Energiebilanz der Erde Welche Temperatur ergibt sich für die Erde als Ganzes in Abhängigkeit der Strahlungsbilanz und -parameter? Weitere Schritte: - Zeitschleife in Sekundenschritten - Zeitschleife in Stundenschritten - Ausgabe in Datei - Visualisierung mit gnuplot - Experimente mit Starttemperatur, Wärmekapazität, Transmissivität, Albedo

Energiebilanzmodell der Erde Zeitliche “Diskretisierung” mittels Schleife: Kontinuum Zeit wird als Diskretum (Einzelschritte) behandelt ! stunde tag monat jahr nt=60*60 * 24 * 30 * 12 nt= nt * 50 ! Maximale Anzahl der Sekunden die in der Schleife ! durchlaufen werden (hier Milliarden sec = 50a) delta_t=60*60 ! Schrittweite in Sekunden fuer jeden Schleifendurchlauf ! = hier eine Stunde ! Schleifenanweisung: durchlaufe Schleife mit dem Iterationszaehler "t" ! von Startwert "1" bis Endwert "nt" ! in einer Schrittweite von "delta_t" do t=1,nt,delta_t fyear = float(t)/(60*60*24*30*12)... temperatur = temperatur + temperaturaenderung * delta_t enddo

Zeitliche Integration Fehler durch Diskretisierung bei zeitl. kontinuierlichen Prozessen Variable t t+30sec Zeit -> t+60sec

Variable t t+10sec... t+60sec Zeitliche Integration Fehler durch Diskretisierung bei zeitl. kontinuierlichen Prozessen Zeit ->

Zeitliche Integration Fehler durch Diskretisierung bei zeitl. kontinuierlichen Prozessen Beispiel: Rechenschrittweite (delta_t) = 60 sec => für 1 min wird Temperatur von t verwendet Rechenschrittweite (delta_t) = 60*60*24 sec => für 1 Tag wird Temperatur von t verwendet => Bei gröberem Zeitschritt wird langwellige Ausstrahlung für längere Zeit nicht angepasst => Energiebilanz höher => Erwärmung schneller

Energiebilanzmodell der Erde Zentrale Begriffe in der numerischen Simulation/Modelltheorie Parametrisierung: Zusammenfassung/Simplifizierung komplexer Funktionen in Funktionen mit empirischen Parametern zur Schliessung von Gleichungen Szenario: Definition bestimmter Rahmenbedingungen (Einstellungen, Startwerte) für Modellexperiment negative Rückkopplung: Selbstmindernde Rückwirkung einer Variablenänderung über eine oder mehrere Funktionen (Bsp. Strahlungsbilanz). Führt zu Gleichgewichtszustand. Integration mittels Diskretisierung: Art und Weise wie Kontinuum als Diskretum behandelt wird (Beispiel: zeitliche Integration in diskreten Rechenschritten)

Outputdarstellung Werkzeuge: gnuplot: einfaches Graphikprogamm zu steuern durch Kommandozeilenbefehle (eigene Syntax) shell-script:Text-Datei mit Kommandozeilenbefehlen; KEIN COMPILER NÖTIG sondern direkte Verarbeitung durch das LINUX-Betriebssystem; Arbeitet wesentlich langsamer als Fortran-Binary; Kein vernünftiges Rechnen möglich; Erspart nur mehrmaliges eintippen von Befehlen display:einfache Anzeige von Bilddateien (Softwarepaket ImageMagick) Beenden durch “q” im Graphikenster

Output für alternative Starttemperaturen: 273,15 K 0°C 303,15 K 30°C 0,00 K -273,15°C

Zentrale Begriffe in der numerischen Simulation/Modelltheorie Gleichgewichtszustand: Phase des Modelllaufs in der sich die untereinander Abhängigen Variablen auf einen mittleren Gleichgewichtszustand eingependelt haben.

Output für alternative Wärmekapazitäten: 1.0E7 J/K*m 2 2.0E8 J/K*m 2 1.0E9 J/K*m 2

Zentrale Begriffe in der numerischen Simulation/Modelltheorie Gleichgewichtszustand: Phase des Modelllaufs in der sich die untereinander Abhängigen Variablen auf einen mittleren Gleichgewichtszustand eingependelt haben. Spin-Up: Laufzeit des Modells bis zum Erreichen eines Gleichgewichts- zustandes (bei modernen Modellen bis zu 50 Jahre). Erst nach der Spin-Up-Phase sind die Modell-Output-Daten interpretierbar!

Output für alternative Transmissivität: 0, ,0 0,578358

Zentrale Begriffe in der numerischen Simulation/Modelltheorie Gleichgewichtszustand: Phase des Modelllaufs in der sich die untereinander Abhängigen Variablen auf einen mittleren Gleichgewichtszustand eingependelt haben. Spin-Up: Laufzeit des Modells bis zum Erreichen eines Gleichgewichts- zustandes (bei modernen Modellen bis zu 50 Jahre). Erst nach der Spin-Up-Phase sind die Modell-Output-Daten interpretierbar! Forcingfaktoren: externe Randbedingungen, die das Klima beeinflussen Zeitscheibenexperiment: Forcingfaktoren werden während des Modellaufs nicht verändert transienter Modellauf: Forcingfaktoren werden während des Laufs verändert

Rückkopplungen im Energiebilanzmodell temperatur strahlungsbilanz

Rückkopplungen im Energiebilanzmodell strahlungsinput_kw temperatur strahlungsoutput_lw = (sbkonstante*temperatur**4 * emmisionsgrad) *transmissivität strahlungsbilanz strahlungsoutput_kw

Rückkopplungen im Energiebilanzmodell strahlungsinput_kw temperatur strahlungsoutput_lw = (sbkonstante*temperatur**4 * emmisionsgrad) *transmissivität strahlungsbilanz strahlungsoutput_kw

Rückkopplungen im Energiebilanzmodell strahlungsinput_kw temperatur albedo strahlungsoutput_lw = (sbkonstante*temperatur**4 * emmisionsgrad) *transmissivität strahlungsbilanz strahlungsoutput_kw

Rückkopplungen im Energiebilanzmodell strahlungsinput_kw temperatur albedo strahlungsoutput_lw = (sbkonstante*temperatur**4 * emmisionsgrad) *transmissivität strahlungsbilanz strahlungsoutput_kw albedo_dyn = albedo - albedo *0.025 * tanh( * (temperatur ) )

Praxis: Programmierung mit FORTRAN90 weitere Sprachelemente - Funktion getarg(): liesst Argumente des Programmaufrufs Syntax: program main implicit none character(len=500) :: argstring1 real(kind=8) :: temp1 call getarg(1,argstring1) read(argstring1,*) temp1 write(*,”(f20.10)”) temp1 end program main

Praxis: Programmierung mit FORTRAN90 weitere Sprachelemente - eigene Subroutinen und Funktionen: eigener Programmteil in den Werte einfliessen und Werte bzw. ein Wert zurückgegeben wird Syntax: subroutine berechnung(arg1,arg2,arg3) implicit none real(kind=8) :: arg1,arg2,arg3 arg3=arg1+arg2 end subroutine berechnung

Rückkopplungen im Energiebilanzmodell strahlungsinput_kw temperatur albedo strahlungsoutput_lw = (sbkonstante*temperatur**4 * emmisionsgrad) *transmissivität +- rnum strahlungsbilanz strahlungsoutput_kw Deterministisches Chaos: wetterbedingte Zufallseinflüsse auf “transmissivität”

Laufzeit und Integer-Überlauf Problem: bei 100 Jahren Laufzeit, enthält t irgendwann unsinnige Werte! Ursache: die Sekundenanzahlen sind zu hoch für das Zahlenmodell: Zahlenmodell: 4 byte (=4*8=32bit): 2 32 = verschiedene Möglichkeiten (Zahlen) 2 31 = signed Integerwerte! 1 byte => 2 byte => 4 byte => 8 byte => − − − −