**PEP course,**01-M01-1-M4-43

__Scientific Programming__two weeks

**block course 17.-28. March 2014**

Room S3121

2 CP

Programming is breaking a task down into small steps. This course contains coding, argument passing, loops, and general problem solving ability that will become important for your career. Programming is not something that you can learn in one hour. The course is therefore designed as a two weeks block course 17.-28. March 2014. In the morning, we will teach the fundamentals of programming techniques and in the evening we will apply them in exercises on your computer.

Contents:

introduction on how to make do loops

subroutines, functions

variables types

if, then, else

numerical precision

global vs. local variables

input,output

structure of programming languages: matlab, python, shells

Examples:

netcdf

graphics

bash

climate data operators

matlab, python, plotting

numerical integration and fitting

Streamfunction

Energy Balance Model

Vorticity

**-**

**-**

For the 1st week: 17-22. March

Dr. Christoph Voelker

--

For the 2nd week: 24.-28. March

Prof. Dr. Gerrit Lohmann

Tutors and additional lecturers: Christian Stepanek, Dr. Patrick Scholz, Paul Gierz

For the 1st week: 17-22. March

Dr. Christoph Voelker

--

For the 2nd week: 24.-28. March

Prof. Dr. Gerrit Lohmann

Tutors and additional lecturers: Christian Stepanek, Dr. Patrick Scholz, Paul Gierz

--

--

__Preliminary time table (2nd week):__**March 24:**(Monday) (G. Lohmann, C. Stepanek)

10-12: Lecture

General concept of week 2

shell script, cygwin, data formats: netcdf vs. ascii, climate data operators

14-16: Practical

cdo (adding, correlation, EOF, etc.), ncview, panoply, ncdump,

**March 25:**(Tuesday) (P. Scholz)

10-12: Lecture

matlab, octave, horizontal and meridional streamfunction, Laplace operator, numerics

14-16: Practical

How to calculate stream functions?

**March 26:**(Wednesday) (P. Gierz)

10-12: Lecture

Basics of python, gnuplot

Plotting, loops, numerics

Energy Balance Model

14-16: Practical

Energy Balance Model

**March 27:**(Thursday) (G. Lohmann)

10-12: Lecture

Vorticity dynamics

Plotting of f/h contours

14-16: Practical

Exercises for different climates and geometry

Preparation of the report for Friday

**March 28:**(Friday) (G. Lohmann, C. Stepanek, P. Scholz, P. Gierz)

10-12: Report of the exercises and tasks

Each group 15 min + 5 min discussion

----------------------

**More Literature:**

Online tutorials for matlab, R, python

W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery, "Numerical Recipes: The Art of Scientific Computing, 3rd Edition" Cambridge University Press, 2007, 1235 pp. http://www.nr.com/

N. Gershenfeld, The nature of mathematical modeling, Cambridge University Press, Cambridge, 2003, 344 pp.

not been done, but interesting if you have time:

Basics of R, gnuplot

Plotting, loops

Fortran, installing & running; compiler, linker, libraries; objects

heat diffusion, RB, Box model

climate explorer