Python for Earth System Sciences - a hands-on course

The course will consist of three main sections (*Preparation for the IMPRS Introduction course):

 

1. Python Basics (2 meetings)*.

2. Standard Python packages for scientific purposes (NumPy and the SciPy library) including basic plotting (2-3 meetings)*.

3. Specific Python packages relevant for Earth System Science (e.g. Xarray incl. Dask, Cdo-Py, pandas). Each meeting we cover one package.

 

If there is enough time or special interest, we'll also look into the concept of object-oriented programming, code optimization and/or the usage of "Python as glue" interacting with e.g. R libraries, NCL or Matlab.

The course will start as proposed (see below), to prepare for the IMPRS-ESM Introduction course mid May; the schedule thereafter will be refined in discussion with the participants to best match the needs of the group. 

This is a hands-on course, so most of the time you will be coding yourself. We prepare exercises for you to solve, but we encourage you to bring your own data or, if applicable, also your scripts in other languages (NCL, Matlab, etc.) for translation. So, you can work on your own material and not lose too much of the precious PhD time!

If you are already an experienced Python user, you are also welcome to join only on selected topics and/or to support the beginners! Maybe you can also present your elegant (pythonic) solutions. The idea is that we learn from another.

Credits for IMPRS PhD candidates will be granted individually based on participation.

Skills in programming are required.

 

Proposed schedule:

Friday, April 13: Python Basics

Friday, April 20: Python Basics (continued)

Friday, April 27: Standard Python packages (NumPy, SciPy library) and basic plotting

Friday, May 5: Standard Python packages (NumPy, SciPy library) and basic plotting

Friday, May 11: <no course; 'Brueckentag'>

Friday, May 18: <no course; IMPRS Intro course>

Friday, May 25: Standard Python packages (NumPy, SciPy library) and basic plotting

Friday, June 1: <no course; celebration '10 years SICSS'>

Friday June 8: Specific Python packages (Xarray (incl. Dask)

Friday, June 15: Specific Python packages (CDO-Py)

Friday, June 22: Specific Python packages (pandas)

Friday, June 29: tbd (see options mentioned above)

Friday, July 6: tbd (see options mentioned above)

Friday, July 13: tbd (see options mentioned above)