v2.4 (20 Feb 2020)#

This document explains the changes made to Iris for this release (View all changes.)


Last python 2 version of Iris

Iris 2.4 is a final extra release of Iris 2, which back-ports specific desired features from Iris 3 (not yet released).

The purpose of this is both to support early adoption of certain newer features, and to provide a final release for Python 2.

The next release of Iris will be version 3.0 : a major-version release which introduces breaking API and behavioural changes, and only supports Python 3.

  • iris.coord_systems.Geostationary can now accept creation arguments of false_easting=None or false_northing=None, equivalent to values of 0. Previously these kwargs could be omitted, but could not be set to None. This also enables loading of netcdf data on a Geostationary grid, where either of these keys is not present as a grid-mapping variable property : Previously, loading any such data caused an exception.

  • The area weights used when performing area weighted regridding with iris.analysis.AreaWeighted are now cached. This allows a significant speed up when regridding multiple similar cubes, by repeatedly using a iris.analysis.AreaWeighted.regridder() objects which you created first.

  • Name constraint matching against cubes during loading or extracting has been relaxed from strictly matching against the name(), to matching against either the standard_name, long_name, NetCDF var_name, or STASH attributes metadata of a cube.

  • Cubes and coordinates now have a new names property that contains a tuple of the standard_name, long_name, NetCDF var_name, and STASH attributes metadata.

  • The NameConstraint provides richer name constraint matching when loading or extracting against cubes, by supporting a constraint against any combination of standard_name, long_name, NetCDF var_name and STASH from the attributes dictionary of a Cube.

Bugs Fixed#

  • Fixed a problem which was causing file loads to fetch all field data whenever UM files (PP or Fieldsfiles) were loaded. With large source files, initial file loads are slow, with large memory usage before any cube data is even fetched. Large enough files will cause a crash. The problem occurs only with Dask versions >= 2.0.


  • Iris is now able to use the latest version of matplotlib.