Differences between revisions 1 and 25 (spanning 24 versions)
Revision 1 as of 2012-07-05 16:10:43
Size: 2462
Comment:
Revision 25 as of 2012-08-30 07:23:13
Size: 4471
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= LES python seminar series =
= LES python seminar series (Thursday, 10:30 - 12:00, Geomatikum, 1729) =
Line 19: Line 18:
=== Working with arrays (Gernot, Michael) (19.07.2012) ===
 . [[PythonCourse/PythonLES/SeminarLog1|Commented examples from the seminar]]
Line 20: Line 21:
=== Working with arrays (Gernot,Michael) (19.07.2012) ===
 * numpy arrays (indexing, slicing, views ...)
 * general information on [[http://docs.python.org/reference/datamodel.html|python data model]] ([[http://docs.python.org/library/copy.html|copy, references, deepcopy]])
 * [[http://docs.python.org/library/functions.html#map|map]] and [[http://docs.python.org/tutorial/controlflow.html#lambda-forms|lambda]] functions
 * [[http://docs.scipy.org/doc/numpy/reference/arrays.ndarray.html|numpy arrays]] (indexing, slicing, views ...)
Line 23: Line 25:
 * general information on python data model (copy, references, deepcopy)
 * masked arrays
  * data type conversions
  * [[http://docs.scipy.org/doc/numpy/reference/routines.math.html|elementwise functions]]
  * [[http://docs.scipy.org/doc/numpy/reference/routines.linalg.html|linear algebra]]
  * [[http://docs.scipy.org/doc/numpy/reference/routines.statistics.html|array statistics]]
 * [[http://docs.scipy.org/doc/numpy/reference/maskedarray.generic.html|masked arrays]]
Line 26: Line 31:
 * map and lambda functions
 * pickle, cPickle
  * [[http://docs.scipy.org/doc/numpy/reference/routines.io.html|numpy input and output]]
  * general input and output ([[http://docs.python.org/library/functions.html#open|opening a file]] and [[http://docs.python.org/library/stdtypes.html#file-objects|working with a file]])
 * [[http://docs.python.org/library/pickle.html|pickle]], cPickle
Line 30: Line 36:
 * subplots, figure, axis objects
 * a brief tour through matplotlib gallery
[[PythonCourse/PythonLES/SeminarLog2|Course material for plotting]]

* subplots, figure, axis objects; easy and more sophisticated appraoches

 * always use figure/ax
 * a brief tour through [[http://matplotlib.sourceforge.net/gallery.html|matplotlib gallery]]
Line 33: Line 43:
  * fill between   * fill_between
Line 36: Line 46:
 * working with different axes in a single plot; twinx()
 * saving figures
  * fitting to actual content
 * [[http://matplotlib.sourceforge.net/users/tight_layout_guide.html|tight_layout]]
Line 37: Line 51:
=== 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 41: Line 57:
 * 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 46: Line 65:
 * 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 49: Line 71:
 * how to debug a python program?
Line 50: Line 73:
=== structuring a program (Mikhail) (13.9.2012)  === === structuring a program (Mikhail) (13.9.2012) ===
Line 59: Line 82:


=== pyCMBS (Alex) (???? on a separate day BEFORE the summer break ???) ===
=== pyCMBS (Alex) ===
Line 66: Line 87:

=== Integration of other programming languages ===
=== Integration of other programming languages (Alex, no date yet) ===
Line 73: Line 93:



Line 81: Line 97:
Line 86: Line 101:
 * statistical analysis of large data sets   * statistical analysis of large data sets
Line 90: Line 105:
 * GUI programming  * GUI programming (Alex, remon???)
Line 94: Line 109:
Line 97: Line 111:



    

LES python seminar series (Thursday, 10:30 - 12:00, Geomatikum, 1729)

contact: Alex Loew, Julia Pongratz

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

Working with arrays (Gernot, Michael) (19.07.2012)

Plotting (1D,2D,3D) (Alex) (2.8.2012)

Course material for plotting

* 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
  • tight_layout

Geospatial data format handling and vizualization (Mikhail) (16.08.2012)

Lesson code examples

  • 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?
  • GDAL: the door to a huge number of different file formats. GDAL (Python) API tutorial

  • Basemap

  • PyNGL 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)

  • python functions with optional and kwargs
  • python object oriented programming (classes etc)


time series analysis: the Pandas module (Mikhail)

  • introduction to pandas timeseries analysis module

pyCMBS (Alex)

  • introduction to pyCMBS
  • cdo interfacing
  • anomaly calculations, hovmoeller plots etc

Integration of other programming languages (Alex, no date yet)

  • R
  • f2py
  • C-code
  • matlab

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

  • animations
  • GUI programming (Alex, remon???)
  • H5PY - simple access to HDF5 files
  • python2.x or python3.x (does it make a difference?)

projects to work on ...

  • MPI-ESM in python (Christian) ;-)

LehreWiki: PythonCourse/PythonLES (last edited 2012-12-19 13:14:36 by AlexanderLoew)