v1.3 (27 Mar 2013)#
This document explains the changes made to Iris for this release (View all changes.)
Features#
Experimental support for loading ABF/ABL files.
Support in
iris.analysis.interpolate.linear()
for longitude ranges other than [-180, 180].Support for customised CF profiles on export to netCDF.
The documentation now includes guidance on how to cite Iris.
The ability to calculate the exponential of a Cube, via
iris.analysis.maths.exp()
.Experimental support for concatenating Cubes along existing dimensions via
iris.experimental.concatenate.concatenate()
.
Loading ABF/ABL Files#
Support for the ABF and ABL file formats (as defined by the climate and vegetation research group of Boston University), is currently provided under the “experimental” system. As such, ABF/ABL file detection is not automatically enabled.
To enable ABF/ABL file detection, simply import the
iris.experimental.fileformats.abf
module before attempting to
load an ABF/ABL file.
For example:
import iris.experimental.fileformats.abf
cube = iris.load_cube('/path/to/my/data.abf')
Customised CF Profiles#
Iris now provides hooks in the CF-netCDF export process to allow user-defined routines to check and/or modify the representation in the netCDF file.
The following keys within the iris.site_configuration
dictionary have
been reserved as hooks to external user-defined CF profile functions:
cf_profile
ingests airis.cube.Cube
for analysis and returns a profile result
cf_patch
modifies the CF-netCDF file associated with export of theiris.cube.Cube
The iris.site_configuration
dictionary should be configured via the
iris/site_config.py
file.
For further implementation details see iris/fileformats/netcdf.py
.
Cube Concatenation#
Iris now provides initial support for concatenating Cubes along one or more existing dimensions. Currently this will force the data to be loaded for all the source Cubes, but future work will remove this restriction.
For example, if one began with a collection of Cubes, each containing data for a different range of times:
>>> print(cubes)
0: air_temperature (time: 30; latitude: 145; longitude: 192)
1: air_temperature (time: 30; latitude: 145; longitude: 192)
2: air_temperature (time: 30; latitude: 145; longitude: 192)
One could use iris.experimental.concatenate.concatenate()
to
combine these into a single Cube as follows:
>>> new_cubes = iris.experimental.concatenate.concatenate(cubes)
>>> print(new_cubes)
0: air_temperature (time: 90; latitude: 145; longitude: 192)
Note
As this is an experimental feature, your feedback is especially welcome.
Bugs Fixed#
Deprecations#
The boolean methods/properties on the
Unit
class have been updated to is_…() methods, in line with the project’s naming conventions.Deprecated Property/Method
New Method
convertible()
is_convertible()
dimensionless
is_dimensionless()
no_unit
is_no_unit()
time_reference
is_time_reference()
unknown
is_unknown()