v1.4 (14 Jun 2013)
This document explains the changes made to Iris for this release (View all changes.)
Multiple cubes can now be exported to a NetCDF file.
Correct nearest-neighbour calculation with circular coords.
NIMROD level type 12 (levels below ground) can now be loaded.
NIMROD files with multiple fields and period of interest can now be loaded.
Missing values are now handled when loading GRIB messages.
PP export rule to calculate forecast period.
aggregated_by()now maintains array masking.
IEEE 32bit fieldsfiles can now be loaded.
NetCDF transverse mercator and climatology data can now be loaded.
Polar stereographic GRIB data can now be loaded.
Added an optimisation for single-valued coordinate constraints.
Fixed pickling of cubes with 2D aux coords from NetCDF.
Fixed bug which ignored the “coords” keyword for certain plots.
Use the latest release of Cartopy, v0.8.0.
Experimental Regridding Enhancements
Bilinear, area-weighted and area-conservative regridding functions are now
iris.experimental. These functions support masked data and
handle derived coordinates such as hybrid height. The final API is still in
In the meantime:
Bilinear Rectilinear Regridding
can be used to regrid a cube onto a horizontal grid defined in a differentiate
coordinate system. The data values are calculated using bilinear interpolation.
from iris.experimental.regrid import regrid_bilinear_rectilinear_src_and_grid regridded_cube = regrid_bilinear_rectilinear_src_and_grid(source_cube, target_grid_cube)
can be used to regrid a cube such that the data values of the resulting cube
are calculated using the area-weighted mean.
from iris.experimental.regrid import regrid_area_weighted_rectilinear_src_and_grid as regrid_area_weighted regridded_cube = regrid_area_weighted(source_cube, target_grid_cube)
can be used for area-conservative regridding between geographical coordinate
systems. This uses the ESMF library functions, via the ESMPy interface.
from iris.experimental.regrid_conservative import regrid_conservative_via_esmpy regridded_cube = regrid_conservative_via_esmpy(source_cube, target_grid_cube)
Load Cubes From the Internet via OPeNDAP
Cubes can now be loaded directly from the internet, via OPeNDAP.
cubes = iris.load("http://geoport.whoi.edu/thredds/dodsC/bathy/gom15")
With this experimental feature, two dimensional cubes can now be exported to GeoTiff files.
from iris.experimental.raster import export_geotiff export_geotiff(cube, filename)
This is a raw data export only and does not save Iris plots.
Cube Merge Update
Cube merging now favours numerical coordinates over string coordinates
to describe a dimension, and
AuxCoord. These modifications prevent the error:
“No functional relationship between separable and inseparable candidate
Unambiguous Season Year Naming
Cubes With no Vertical Coord can now be Exported to GRIB
Iris can now export cubes with no vertical coord to GRIB. The solution is still under discussion: See https://github.com/SciTools/iris/issues/519.
Simplified Resource Configuration
A new configuration variable called
has been added, replacing the previous combination of
iris.config.DATA_REPOSITORY. This constant should be the path
to a directory containing the test data required by the unit tests. It can
be set by adding a
test_data_dir entry to the
Resources section of
iris.config for more details.
Extended GRIB Parameter Translation
More GRIB2 params are recognised on input.
Now translates some codes on GRIB2 output.
Some GRIB2 params may load with a different standard_name.
One dimensional Linear Interpolation Fix
linear() can now extrapolate from a single
point assuming a gradient of zero. This prevents an issue when loading cross
sections with a hybrid height coordinate, on a staggered grid and only a single
Fix for iris.analysis.calculus.differentiate
A bug in
differentiate() that had the potential
to cause the loss of coordinate metadata when calculating the curl or the
derivative of a cube has been fixed.
As part of simplifying the mechanism for accessing test data,
iris.config.RESOURCE_DIRhave been removed.
The add_custom_season_* functions from
coord_categorisationhave been deprecated in favour of adding their functionality to the add_season_* functions