LES python seminar series (Thursday, 10:30 - 12:00, Geomatikum, 1729)
contact: Alex Loew, Julia Pongratz
Python related announcements and questions: python-friends@lists.zmaw.de
Join the list by sending: python-friends-join@lists.zmaw.de
Contents
What you should be able to do in advance
- python programming structures
- if clauses
- function calling
- print statements
- well, running python scripts (in python shell and interactive shell like ipython)
- edit python scripts in the editor of your choice
- ...
Seminar outline
Part 1
Working with arrays (Gernot, Michael) (19.07.2012)
general information on python data model (copy, references, deepcopy)
numpy arrays (indexing, slicing, views ...)
- array functions (mean, sum etc. along axes)
- data type conversions
- reading ASCII files etc.
general input and output (opening a file and working with a file)
pickle, cPickle
Plotting (1D,2D,3D) (Alex) (2.8.2012)
* subplots, figure, axis objects; easy and more sophisticated appraoches
- always use figure/ax
a brief tour through matplotlib gallery
- lineplots
- fill_between
- contour plots
- nice colorbars, colormaps handling etc.
- working with different axes in a single plot; twinx()
- saving figures
- fitting to actual content
Geospatial data format handling and vizualization (Mikhail) (16.08.2012)
PyNio - handling netCDF
- read netCDF
- write netCDF
- data type conversion
- how to write a numpy array (double) in a float netcdf variable?
- how to store data as scaled integers?
- data type conversion
GDAL: the door to a huge number of different file formats. GDAL (Python) API tutorial
system operations (Michael) (30.8.2012)
Commented examples from the seminar
- replacing BASH: working with os and system objects
- os.system, subprocess etc.
- python as a replacement for bash
- how to debug a python program?
Structuring a program (Mikhail) (13.9.2012)
Commented program from the seminar
- general structure of python scripts
- writing python functions, what are the keyworded and the non-keyworded arguments
- writing modules and classes, why and how to create custom objects
- naming convention
- how to parse command line input for options and arguments
Part 2
pyCMBS (Alex) (31.10. as part of the Wednsday seminar)
- introduction to pyCMBS
- cdo interfacing
- anomaly calculations, hovmoeller plots etc ...
- EOF, SVD analysis
time series analysis: the Pandas module (Mikhail) (25.10.)
- Indexed arrays
- Merging, aligning and restructuring timeseries
- Reindexing timeseries
parallel programming (Heinrich Widmann) (08.11.)
- Threading vs. multiprocessing
- The GIL issue
ParallelPython module (pp)
- Processing module
- Further approaches and techniques ...
- Not (really) addressed :
- openMP, MPI
- more sophuisticated clustering, scheduling and load balancing ....
python CDO interface (Ralf Mueller) (22.11.)
Integration of other programming languages (Nikolay Koldunov, Mikhail Itkin, 06.12)
Ipython Notebook Ipython lesson notebook
f2py | f2py lesson code
- R and Python tutorials:
Bonus: Pyresample- reprojection of geospatial data
Tips and Tricks
Spearman rank correlation revisited in python Documentation how to do it (PDF), script
other topics
- statistical analysis of large data sets
- animations
- GUI programming (Alex, remon???)
- H5PY - simple access to HDF5 files
- python2.x or python3.x (does it make a difference?)