#acl AdminGroup:read,write,delete,revert EditorGroup:read,write All:read #format wiki #language en #pragma section-numbers off [[OpenSource2010|Open Source Scripting for Geo-Scientific Data Processing and Analysis]] == Documentation == * http://www.python.org/doc/ * [[http://www.cfa.harvard.edu/~jbattat/computer/python/science/idl-numpy.html|NumPy for IDL users]] * [[http://www.scipy.org/NumPy_for_Matlab_Users|NumPy for Matlab users]] * [[http://www.tau.ac.il/~kineret/amit/scipy_tutorial/|SciPy tutorial]] == Modules for Scientific Computing and Visualization == === SciPy/NumPy === * http://www.scipy.org/ === pylab === * [[http://matplotlib.sourceforge.net/|Matplotlib/pylab]] Plotting functions with a high degree of Matlab compatibility * [[http://matplotlib.sourceforge.net/basemap/doc/html/]] Matplotlib Basemap To enable Basemap (on ZMAW Linux ia32/x64 and solaris10) you have to type before starting Python2.4.4: {{{ module load Python/2.4.4 }}} or to start Python2.6.2 (recommended): {{{ module load R/2.7.0 module load Python/2.6.2 }}} In Python you can import the Basemap module by {{{ from mpl_toolkits.basemap import Basemap }}} === GDAL === * [[http://www.gdal.org/|GDAL - Geospatial Data Abstraction Library]] for various satellite data formats To enable GDAL use {{{ module load gdal }}} {{{ from osgeo import gdal }}} === PyNGL PyNio === * [[http://www.pyngl.ucar.edu/|PyNGL/PyNIO]] Python interface to [[http://www.ncl.ucar.edu/ | NCAR Command Language]] * Scientific visualization and data formats (netCDF, HDF, GRIB etc.) To enable PyNGL (on ZMAW Linux ia32/x64 and solaris10) you have to type {{{ module load PyNGL/1.2.0 }}} Please note, that Nio should be on the top of the list, e.g. {{{ import Nio from osgeo import gdal import pylab as pl }}} === Python Interface to GrADS === * http://opengrads.org/wiki/index.php?title=Python_Interface_to_GrADS === RPy === * [[http://rpy.sourceforge.net/| RPy (R from Python)]] Statistical computing and graphics === F2PY: Fortran to Python interface generator === Calling Fortran code from python is easy! Create a file {{{hello.f}}}: {{{ C File hello.f subroutine foo (a) integer a print*, "Hello from Fortran!" print*, "a=",a end }}} Run {{{f2py -c -m hello hello.f}}} Now in IPython try: {{{ In [1]: import hello In [2]: hello.foo(4) Hello from Fortran! a= 4 }}} Example taken from * [[http://cens.ioc.ee/projects/f2py2e/|F2PY: Fortran to Python interface generator]] == Topical Modules == * [[http://www.imr.no/~bjorn/python/seawater/index.html|Seawater]] is a package for computing properties of seawater (UNESCO 1981 and UNESCO 1983). * [[https://launchpad.net/escript-finley/|Escript/Finley: Fast Finite Elements for Partial Differential Equations]] More topical software can be found at http://scipy.org/Topical_Software === Installation in the home directory === The seawater module is installed on the ZMAW machines for Python 2.6. Use {{{ module load Python/2.6.2 }}} to set up the environment. In the following it is explained how to install the module for the case if it would be not available or if a different version of python has to be used. Installation of module {{{seawater}}} in directory {{{~/modules}}} {{{ python setup.py install --prefix=~/modules/ }}} Usage {{{ import sys,os home=os.getenv('HOME') genpath=home+'/modules/lib/python2.4/site-packages/' if not sys.path.__contains__(genpath): sys.path.append(genpath) from seawater import * }}} == Download == A basic system for scientific computing consists of Python, ipython, numpy/scipy, pylab, and an editor of your choice * [[http://python.org/download/|Python interpreter]] * [[http://ipython.scipy.org/moin/Download|IPython shell]] * [[http://www.scipy.org/Download| SciPy]] * [[http://matplotlib.sourceforge.net/|Matplotlib/pylab]] * [[http://www.crimsoneditor.com/| Editor]] (a nice editor for Windows user, if you don't like to install xemacs) The [[http://www.pythonxy.com/foreword.php|python(x,y)]] distribution contains all that above.