230 likes | 306 Views
Projektübung Klimamodellierung. André Paul. Vorbesprechung. Projektübung Klimamodellierung (05-3034) – A. Paul. Veranstaltungsdaten. Veranstaltungskennziffer: 05-3034 ECTS-Punkte: 2.5 2 SWS, Mi von 13:00-15:00, GEO 1480/90. Website.
E N D
Projektübung Klimamodellierung André Paul
Vorbesprechung Projektübung Klimamodellierung (05-3034) – A. Paul
Veranstaltungsdaten • Veranstaltungskennziffer: 05-3034 • ECTS-Punkte: 2.5 • 2 SWS, Mi von 13:00-15:00, GEO 1480/90
Website • http://www.palmod.uni-bremen.de/~apau/projektuebung/Material_zur_LV.html
Inhalt • Einführung in die wissenschaftliche Programmierung anhand einfacher Beispielprogramme und ihrer schrittweisen Veränderung • Beschreibung des Klimasystems mit Hilfe von Erhaltungsgleichungen • Zeitliche und räumliche Diskretisierung von Erhaltungsgleichungen • Numerische Lösung diskretisierter Erhaltungsgleichungen auf einem Computer • Numerische Experimente mit physikalischen Ozean- und Atmosphärenmodellen
Ziel • Einführung in die Methoden der Klimamodellierung und deren praktische Anwendung (weg vom Klimamodell als "black box")
Bewertung • Anforderungen: selbstständige Lösung von Übungsaufgaben auf dem Computer (während der Übung/im Computerraum) • Referat
Literatur • Stocker, T (2005) Skript zur Vorlesung „Einführung in die Klimamodellierung“, 141 Seiten, PDF (16 MB), korrigierte Version 15.2.2005 • http://www.climate.unibe.ch/~stocker/papers/skript0405.pdf
Einführung in die wissenschaftliche Programmierung mit Fortran 90 • Verwendung von MATLAB o. ä. freigestellt • Schleifen, Lesen und Schreiben von Dateien, usw.
Reading • The following notes are based on • Ellis, T.M.R., Phillips, Ivor R., and Lahey, Thomas M.: Fortran 90 Programming, Addison-Wesley Publishing Company.
Telling a Computer What To Do • To get a computer to perform a specific task it must be given a sequence of unambiguous instructions or a program. • Generating a program: • Text file with instructions (Source Code; Fortran 90) • Translation into computer-compatible form (Compiler) • Executable Program
The Linux look and feel • Cygwin is a Linux-like environment for Windows that consists of two parts: • A DLL (“Dynamic Link Library”, cygwin1.dll) • A collection of tools, which provide Linux look and feel • Link: http://www.cygwin.com
A few useful Linux commands • pwd – print name of current/working directory • ls – list directory contents • cd – change directory • mkdir – make directories • rm – remove files or diretories • man – format and display the on-line manual pages (e.g. man pwd)
How to start cygwin • Open cygwin window by double-clicking on the start_cygwin DOS batchfile provided with this exercise • If this does not work ...
notepad hello.f90 & Creating and Running a Program • Invoke the editor from the Start menu, or type into the cygwin window to create a file called hello.f90.
PROGRAM firsttry PRINT *,“hello“ END PROGRAM firsttry Creating and Running a Program • Type the following source code: • Compile by typing g95 hello.f90 (in the cygwin window) • Run the program by typing ./a.exe (g95 by default creates an executable called a.exe)
Basic Fortran 90 concepts • All words which have a special meaning in Fortran are known as keywords. • Every main program unit must start with a PROGRAM statement which consists of the word PROGRAM followed by the name of the program as given by the programmer.
Avoid implicit declaration • The special IMPLICIT NONE statement should always be placed immediately after the PROGRAM statement. It instructs the compiler that all variables must be declared before use.
PROGRAM hydrostatic_balance IMPLICIT NONE ! Parameter declarations ! Variable declarations ! Executable statements END PROGRAM hydrostatic_balance Basic building blocks • A main program unit:
! Variable declarations ! k = loop variable ! p = pressure (Pa) ! dp = pressure change (Pa) INTEGER :: k REAL :: p,dp REAL and INTEGER variables • Use the INTEGER :: name statement to declare a whole-number variable • Use the REAL :: name statement to declare a floating-point variable
! Loop over vertical levels DO k=1,101 ! Block of statements p = p + dp END DO Repeating parts of your program
Using files to preserve data • Connecting external files to your program • Connect a file to a unit by OPEN(UNIT=unit_number,FILE=file_name), where unit_number is an integer number, variable or parameter and file_name is a character expression.
Using files to preserve data • Write a record to a file by WRITE (UNIT=unit_number,FMT=*) • Disconnect a file from a unit by means of a CLOSE (UNIT=unit_number) statement