Logo Iris 1.9

Table Of Contents

Previous topic

Iris documentation table of contents

Next topic

Iris user guide

This Page

Installing Iris

You can either install Iris using the conda package manager or from source.

Installing using conda

Iris is available using conda for the following platforms:
  • Linux 32-bit and 64-bit,
  • Mac OSX 64-bit, and
  • Windows 32-bit and 64-bit.

To install Iris using conda, you must first download and install conda, for example from http://conda.pydata.org/miniconda.html.

Once conda is installed, you can install Iris using conda on any platform with the following command:

conda install -c scitools iris

Further documentation on using conda and the features it provides can be found at http://conda.pydata.org/docs/intro.html.

Installing from source

The latest Iris source release is available from https://github.com/SciTools/iris.

Iris makes use of a range of other libraries and python modules. These dependencies must be in place before you can successfully install Iris. Once you have satisfied the requirements detailed below, extract the iris source package, cd to the new directory, and enter:

python setup.py install

In-place build - an alternative for developers

We strongly encourage people to contribute to Iris and for this type of development activity an in-place build can be useful. Once you’ve cloned the Iris git repository you can perform an in-place build by entering:

python setup.py std_names
python setup.py build_ext --inplace

Details of other setup.py options and commands can be found by entering:

python setup.py --help


python setup.py --help-commands

Build and runtime requirements

These are external packages which you will need to have installed before installing and running Iris.

Many of these packages are available in Linux package managers such as aptitude and yum. For example, it may be possible to install Numpy using:

apt-get install python-numpy

If you are installing dependencies with a package manager on Linux, you may need to install the development packages (look for a “-dev” postfix) in addition to the core packages.

python 2.7 or 3.4 (http://www.python.org/)
Iris requires Python 2.7 or Python 3.4.
numpy 1.6 or later (http://numpy.scipy.org/)
Python package for scientific computing including a powerful N-dimensional array object.
biggus 0.12 or later (https://github.com/SciTools/biggus)
Virtual large arrays and lazy evaluation.
scipy 0.10 or later (http://www.scipy.org/)
Python package for scientific computing.
cartopy 0.11.0 or later (http://github.com/SciTools/cartopy/)
Python package which provides cartographic tools for python.
PyKE 1.1.1 or later (http://pyke.sourceforge.net/)
Python knowledge-based inference engine.
netcdf4-python 0.9.9 or later (http://netcdf4-python.googlecode.com/)
Python interface to the netCDF version 4 C library.
cf_units 1.0 or later (https://github.com/SciTools/cf_units)
CF data units handling, using udunits (q.v.).
udunits2 2.1.24 or later
(http://www.unidata.ucar.edu/downloads/udunits/index.jsp) C library for units of physical quantities.
setuptools 0.6c11 or later (http://pypi.python.org/pypi/setuptools/)
Python package for installing/removing python packages.


These are optional packages which you may want to install to enable additonal Iris functionality such as plotting and loading/saving GRIB. These packages are required for the full Iris test suite to run.

gdal 1.9.1 or later (https://pypi.python.org/pypi/GDAL/)
Python package for the Geospatial Data Abstraction Library (GDAL).
graphviz 2.18 or later (http://www.graphviz.org/)
Graph visualisation software.
grib-api 1.9.16 or later
(https://software.ecmwf.int/wiki/display/GRIB/Releases) API for the encoding and decoding WMO FM-92 GRIB edition 1 and edition 2 messages. A compression library such as Jasper is required to read JPEG2000 compressed GRIB2 files.
matplotlib 1.2.0 (http://matplotlib.sourceforge.net/)
Python package for 2D plotting.
mock 1.0.1 (http://pypi.python.org/pypi/mock/)
Python mocking and patching package for testing. Note that this package is only required to support the Iris unit tests.
nose 1.1.2 or later (http://nose.readthedocs.org/en/latest/)
Python package for software testing. Iris is not compatible with nose2.
pep8 1.4.6* (https://pypi.python.org/pypi/pep8)
Python package for software testing.
pandas 0.11.0 or later (http://pandas.pydata.org)
Python package providing high-performance, easy-to-use data structures and data analysis tools.
PythonImagingLibrary 1.1.7 or later (http://effbot.org/zone/pil-index.htm)
Python package for image processing.
pyugrid 0.1.1 or later (https://github.com/pyugrid/pyugrid)
A Python API to utilize data written using the unstructured grid UGRID conventions.
shapely 1.2.14 (https://github.com/Toblerity/Shapely)
Python package for the manipulation and analysis of planar geometric objects.
mo_pack 0.1.0dev0 (https://github.com/SciTools/mo_pack)
A Python wrapper to libmo_unpack, giving WGDOS packing and unpacking.
  • Those packages have been tested with a specific build.

Packed PP

The libmo_unpack library can be used by Iris for decoding/unpacking PP files or Fields files that use an lbpack value of 1 or 4. This library is open source, licensed under the 2-clause BSD licence. It can be obtained from http://puma.nerc.ac.uk/trac/UM_TOOLS/wiki/unpack.

Use of this library is not enabled by default. If this library is available its use can be enabled by installing Iris with the following command:

python setup.py --with-unpack install

Note that if this library and/or its associated header files are installed in a custom location then additional compiler arguments may need to be passed in to ensure that the Python extension module linking against it builds correctly:

python setup.py --with-unpack build_ext -I <custom include dir> \ 
      -L <custom link-time libdir> -R <custom runtime libdir> install

Custom site configuration

The default site configuration values can be overridden by creating the file iris/etc/site.cfg. For example, the following snippet can be used to specify a non-standard location for your udunits library:

udunits2_path = /path/to/libudunits2.so

An example configuration file is available in iris/etc/site.cfg.template. See iris.config() for further configuration options.

Packaged distributions

The Enthought Python Distribution (EPD) http://www.enthought.com/products/epd.php for Windows, OS X or Redhat provides some of the dependencies for Iris as does `Python (x, y) http://www.pythonxy.com/ which tends to be updated a bit more frequently.