Difference between revisions of "Python/SettingPaths"

From mn/geo/geoit
Jump to: navigation, search
(Setting up Python Paths)
(Customizing Ipython)
Line 29: Line 29:
 
     ip.ex('from mpl_toolkits.basemap import shiftgrid, addcyclic, Basemap')
 
     ip.ex('from mpl_toolkits.basemap import shiftgrid, addcyclic, Basemap')
 
     ip.ex('from netCDF4 import Dataset as NetCDFFile')
 
     ip.ex('from netCDF4 import Dataset as NetCDFFile')
     ip.ex('plt.ion()')
+
     ip.ex('plt.ion()') #make sure interactive plotting is turned on
    ip.ex('# set up for pflexpart')
 
    ip.ex('from nilu.pflexpart import pflexpart as pf')
 
    ip.ex('from nilu.pflexpart import mapping as mp')
 
 
 
  
 
#the config files will close with a call to main()
 
#the config files will close with a call to main()

Revision as of 15:45, 15 September 2011

Setting up Python Paths

Python is a programming language that comes with 'batteries included', meaning there are many existing tools (called modules) for your use. For meteorological and climate data analysis, many of the tools have significant library dependencies, and it can be a challenge to build the modules (for instance netcdf requires the zlib compression libraries for HDF4/5 while grib requires the jasper libraries for compression).

Many of the modules have been built already and will work for the main transport group servers: billy, sjanten, tyr, tor, nordre, etc.

In order to use these modules, you need to add the appropriate python path to you shell.

The easiest way to accomplish this is to add the following line somewhere in your .bashrc file::

   source /xnilu_wrk/flex_wrk/.flexpartrc

This file will add a PYTHONPATH environment variable, but will also set the GRIB paths and add to your own $PATH. Read the header of the file for further information.

Customizing Ipython

Ipython is a powerful interpreter for Python. It is highly recommended to use this for developing and testing code snippets while you are writing your modules and scripts.

Once you are logged on to a server and have sourced the file above, you should be able to import the modules. A handy shortcut is to customize your Ipython environment and automatically import some of these modules. To do this, you simply need to edit the file: ~/.ipython/ipy_user_conf.py in your $HOME directory. In the main function, you can add some import statements in the following way:

# Most of your config files and extensions will probably start with this import

import IPython.ipapi
ip = IPython.ipapi.get()
 

def main():
    ip.ex('import numpy as np')
    ip.ex('import matplotlib.pyplot as plt')
    ip.ex('from mpl_toolkits.basemap import shiftgrid, addcyclic, Basemap')
    ip.ex('from netCDF4 import Dataset as NetCDFFile')
    ip.ex('plt.ion()') #make sure interactive plotting is turned on

#the config files will close with a call to main()
main()