Skip to content
This repository has been archived by the owner on Aug 29, 2023. It is now read-only.

Zeleted: Iris overview

Norman Fomferra edited this page Mar 14, 2017 · 1 revision

Iris

A Python library for Meteorology and Climatology

The Iris library implements a data model to create a data abstraction layer which isolates analysis and visualisation code from data format specifics. The data model we have chosen is the CF Data Model. The implementation of this model we have called an Iris Cube.

Iris currently supports read/write access to a range of data formats, including (CF-)netCDF, GRIB, and PP; fundamental data manipulation operations, such as arithmetic, interpolation, and statistics; and a range of integrated plotting options.

Nice to have algorithms implemented in Iris with no equivalents in xarray:

  • Interpolation
  • Re-gridding
  • Cube statistics (mean over time, area averaging, aggregation of grouped data)
  • Cube difference
  • Cube anomaly

In light of Cate

The data model used in Iris seems powerful enough to be used for Cate. It is also nice that some algorithms that we are going to need are already implemented and could be readily used. The main problem is that Iris enforces strict Climate and Forecast conventions. It is known that some ECVs are not fully CF compliant rendering the use of an Iris cube as our main Data Object impractical.

An xarray issue calling for support of conversion functionality between xarray and Iris has been logged. If this is implemented, Iris could be used as an optional dependency. When using Iris as a dependency one has to remember that it itself has a plethora of dependencies, many of which are redundant for our project (all the Python plotting packages.).

At the very least, Iris can be used as an inspiration for development of certain algorithms.