Size: 3542
Comment:
|
Size: 4641
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= LES python seminar series (Thursday, 10:30 - 12:00) = |
= LES python seminar series (Thursday, 10:30 - 12:00, Geomatikum, 1729) = |
Line 19: | Line 17: |
== Seminar outline == | = Seminar outline = == Part 1 == |
Line 22: | Line 22: |
* general information on [[http://docs.python.org/reference/datamodel.html|python data model]] (copy, references, deepcopy) | . [[PythonCourse/PythonLES/SeminarLog1|Commented examples from the seminar]] * general information on [[http://docs.python.org/reference/datamodel.html|python data model]] ([[http://docs.python.org/library/copy.html|copy, references, deepcopy]]) |
Line 26: | Line 28: |
* data type conversions | |
Line 36: | Line 39: |
* subplots, figure, axis objects; easy and more sophisticated appraoches | [[PythonCourse/PythonLES/SeminarLog2|Course material for plotting]] * subplots, figure, axis objects; easy and more sophisticated appraoches |
Line 38: | Line 44: |
* a brief tour through matplotlib gallery | * a brief tour through [[http://matplotlib.sourceforge.net/gallery.html|matplotlib gallery]] |
Line 40: | Line 46: |
* fill between | * fill_between |
Line 43: | Line 49: |
* working with different axes in a single plot; twinx() | |
Line 45: | Line 52: |
* [[http://matplotlib.sourceforge.net/users/tight_layout_guide.html|tight_layout]] | |
Line 46: | Line 54: |
=== Geospatial data format handling and vizualization (Mikhail) (09.08.2012) === * Nio - handling netCDF |
=== Geospatial data format handling and vizualization (Mikhail) (16.08.2012) === [[IoBasemapNgl|Lesson code examples]] * [[http://www.pyngl.ucar.edu/Nio.shtml|PyNio]] - handling netCDF |
Line 50: | Line 60: |
* GDAL: the door to all available data formats ? * Basemap * pyNGL |
* data type conversion * how to write a numpy array (double) in a float netcdf variable? * how to store data as scaled integers? * [[http://www.gdal.org/|GDAL]]: the door to a huge number of different file formats. [[http://www.gdal.org/gdal_tutorial.html|GDAL (Python) API tutorial]] * [[http://matplotlib.github.com/basemap/|Basemap]] * [[http://www.pyngl.ucar.edu/|PyNGL]] [[http://www.pyngl.ucar.edu/Tutorial/|Tutorial]] |
Line 55: | Line 68: |
* replacing BASH: working with os adn system objects | [[PythonCourse/PythonLES/SeminarLog4|Commented examples from the seminar]] * replacing BASH: working with os and system objects |
Line 60: | Line 75: |
=== structuring a program (Mikhail) (13.9.2012) === * python functions with optional and kwargs * python object oriented programming (classes etc) |
=== Structuring a program (Mikhail) (13.9.2012) === [[/SeminarLog5|Commented program from the seminar ]] |
Line 64: | Line 78: |
---- | * 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 |
Line 66: | Line 84: |
=== time series analysis: the Pandas module (Mikhail) === | == 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.) === |
Line 69: | Line 96: |
=== parallel programming (Heinrich Widmann ???) (08.11.) === * openMP, MPI, subprocesses, threads |
|
Line 70: | Line 99: |
=== pyCMBS (Alex) (???? on a separate day BEFORE the summer break ???) === * introduction to pyCMBS * cdo interfacing * anomaly calculations, hovmoeller plots etc === Integration of other programming languages === |
=== Integration of other programming languages (Alex, 22.11.) === |
Line 82: | Line 104: |
* http://wiki.python.org/moin/IntegratingPythonWithOtherLanguages | |
Line 83: | Line 106: |
---- | |
Line 84: | Line 108: |
=== scientific data analysis in python === * EOF, SVD analysis === running JSBACH offline in a python environment (Gernot) === === parallel programming (Heinrich Widmann) === * openMP, MPI, subprocesses, threads === statistics in python (???) === * statistical analysis of large data sets === other topics === |
== other topics == * statistical analysis of large data sets |
Line 100: | Line 111: |
* GUI programming | * GUI programming (Alex, remon???) |
Line 103: | Line 114: |
= projects to work on ... = * MPI-ESM in python (Christian) ;-) |
LES python seminar series (Thursday, 10:30 - 12:00, Geomatikum, 1729)
contact: Alex Loew, Julia Pongratz
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.)
- introduction to pandas timeseries analysis module
parallel programming (Heinrich Widmann ???) (08.11.)
- openMP, MPI, subprocesses, threads
Integration of other programming languages (Alex, 22.11.)
- R
- f2py
- C-code
- matlab
http://wiki.python.org/moin/IntegratingPythonWithOtherLanguages
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?)