What’s New in Iris 1.13


This document explains the new/changed features of Iris in version 1.13 (View all changes.)

Iris 1.13 Features

  • Allow the reading of NAME trajectories stored by time instead of by particle number.
  • An experimental link to python-stratify via iris.experimental.stratify.
  • Data arrays may be shared between cubes, and subsets of cubes, by using the iris.cube.share_data() flag.

Bug Fixes

  • The bounds are now set correctly on the longitude coordinate if a zonal mean diagnostic has been loaded from a PP file as per the CF Standard.
  • NetCDF loading will now determine whether there is a string-valued scalar label, i.e. a character variable that only has one dimension (the length of the string), and interpret this correctly.
  • A line plot of geographic coordinates (e.g. drawing a trajectory) wraps around the edge of the map cleanly, rather than plotting a segment straight across the map.
  • When saving to PP, lazy data is preserved when generating PP fields from cubes so that a list of cubes can be saved to PP without excessive memory requirements.
  • An error is now correctly raised if a user tries to perform an arithmetic operation on two cubes with mismatching coordinates. Previously these cases were caught by the add and subtract operators, and now it is also caught by the multiply and divide operators.
  • Limited area Rotated Pole datasets where the data range is 0 <= lambda < 360, for example as produced in New Zealand, are plotted over a sensible map extent by default.
  • Removed the potential for a RuntimeWarning: overflow encountered in int_scalars which was missed during collapsed calculations. This could trip up unwary users of limited data types, such as int32 for very large numbers (e.g. seconds since 1970).
  • The CF conventions state that certain formula_terms terms may be omitted and assumed to be zero (http://cfconventions.org/cf-conventions/v1.6.0/cf-conventions.html#dimensionless-v-coord) so Iris now allows factories to be constructed with missing terms.
  • In the User Guide’s contour plot example, clabel inline is set to be False so that it renders correctly, avoiding spurious horizontal lines across plots, although this does make labels a little harder to see.
  • The computation of area weights has been changed to a more numerically stable form. The previous form converted latitude to colatitude and used difference of cosines in the cell area computation. This formulation uses latitude and difference of sines. The conversion from latitude to colatitude at lower precision causes errors when computing the cell areas.


  • Iris has adopted conda-forge to provide environments for continuous integration testing.