Release Notes

What’s new in iris-grib v0.20.0

Release:

0.20.0

Date:

29 August 2024

Features

Documentation

  • @tkknight fixed docs building on ReadTheDocs, and enabled a test docs-build for each individual PR. (ISSUE#365), (PR#366)

  • @tkknight made docs builds treat warnings as errors. (PR#471)

  • @pp-mo reworked the main docs page to : headline basic load + save with Iris, rather than lower-level functions; better explain load-pairs and save-pairs usage; make all usage examples into doctests. (ISSUE#398), (PR#402)

  • @bjlittle updated the readme, replacing README.rst with README.md and adding a logo . (PR#440), (PR#447)

  • @tkknight fixed the display formatting of linux commands. (PR#455)

Dependencies

  • @pp-mo enabled support for eccodes v2.36. Eccodes v2.36 has implemented some backwards incompatible changes : The indicatorOfUnitOfTimeRange key was removed, to be replaced with indicatorOfUnitForForecastTime (but only in GRIB v2 messages, not GRIB 1); and the iScansPositively and jScansPositively keys became read-only. The resulting changes mean we now only support eccodes >=2.33. (PR#504)

  • @bjlittle added iris-sample-data as a dependency, as required for doctests. (PR#413)

  • @pp-mo made essential changes for compatibility with Iris >= 3.10. (PR#463)

Internal

New Contributors

Welcome to

What’s new in iris-grib v0.19.1

Release:

0.19.1

Date:

14 December 2023

Documentation

What’s new in iris-grib v0.19.0

Release:

0.19.0

Date:

16 November 2023

See also : GitHub v0.19.0 release page

Features

  • @lbdreyer and @pp-mo (reviewer) modified the loading of GRIB messages with an unrecognised fixed surface type. These are now loaded in as an unnamed coordinate with an attribute called GRIB_fixed_surface_type. iris-grib will also save out cubes with this attribute as the given fixed surface type. (PR#318)

  • @trexfeathers extended Transverse Mercator to support negative scanning. (PR#296)

  • @trexfeathers added a number of new GRIB-CF mappings, i.e. translations from GRIB parameters to CF standard names and vice-versa. (PR#297)

Bugs Fixed

  • @lbdreyer and @pp-mo (reviewer) modified the GRIB1 loading code so that it no longer assumes a spherical Earth with radius of 6371229 m and instead uses the resolutionAndComponentFlag to determine the shape of the Earth. This can either be a spherical Earth with radius of 6367470 m or an oblate spheroid, the latter of which is not supported. Note that this change in Earth’s radius will result in a different coordinate system and may also affect the coordinate values. (PR#316)

  • @s-boardman corrected the calculation of bounded forecast periods in GRIB1 loading. (PR#322)

  • @david-bentley fixed the calculation of message file offsets to work in Windows as well as Linux, which was causing load failures. (PR#287)

  • @bjlittle fixed an error that occurred when a message had all-missing data points. (PR#362)

Internal

Dependencies

  • now requires Python version >= 3.9

  • replaced deprecated eccodes-python PyPI package with new eccodes by @valeriupredoi in #357

  • @valeriupredoi replaced the deprecated eccodes-python PyPI package with eccodes. (PR#357)

New Contributors

Welcome to

What’s new in iris-grib v0.18.0

Release:

0.18.0

Date:

14 March 2022

Bugs Fixed

  • @lbdreyer made various updates to allow iris-grib to work with the latest versions of iris, cf-units, ecCodes and cartopy, including casting the usage of cf_units.Unit.date2num() as float. setting and setting the values of some missing keys using gribapi.GRIB_MISSING_LONG. (PR#288)

Dependencies

  • now requires Python version >= 3.8

Internal

What’s new in iris-grib v0.17.1

Release:

0.17.1

Date:

8 June 2021

Bugs Fixed

  • @TomDufall removed the empty slice handling (originally added in v0.15.1) as this used iris.util._array_slice_ifempty which was removed in Iris v3.0.2 and is no longer necessary. (PR#270)

Dependencies

  • now requires Iris version >= 3.0.2.

  • now requires Python version >= 3.7.

What’s new in iris-grib v0.17

Release:

0.17.0

Date:

18 May 2021

Features

  • @m1dr added support for GRIB regulation 92.1.8 for loading GRIB files where the longitude increment is not given. (PR#261)

  • @lbdreyer added support for loading grid point and spectral data with CCSDS recommended lossless compression, i.e. data representation template 42. (PR#264)

Internal

What’s new in iris-grib v0.16

Release:

0.16.0

Date:

27 Jan 2021

Features

  • @tpowellmeto added support for loading data on a “Lambert Azimuthal Equal Area Projection”, i.e. grid definition template 3.140. (PR#187)

  • @bjlittle made all the tests runnable for a packaged install of iris-grib, where the grib testdata files will be missing. (PR#212)

  • @m1dr added support for loading statistical fields, as encoded in production definition template 3.8, even when the “interval time increment” value is not specified (i.e. set to “missing”). (PR#206)

  • @pp-mo ported some tests from Iris, which test grib saving of data loaded from other formats. (PR#213)

  • All grib-dependent testing is now contained in iris-grib : There are no remaining tests in Iris which use grib.

Bugs Fixed

  • @lbdreyer unpinned the python-eccodes version for Travis testing, and added a workaround for a known bug in recent versions of python-eccodes. Previously, we could only test against python-eccodes versions “>=0.9.1,<2”. (PR#208)

  • @pp-mo fixed save operations to round off the the integer values of vertical surfaces, instead of truncating them. (PR#210)

  • @pp-mo fixed loading of grid definition template 3.90, “Space view perspective or orthographic grid”, which was broken since Iris 2.3. This now produces data with an iris Geostationary coordinate system. Prior to Iris 2.3, what is now the Iris ‘Geostationary’ class was (incorrectly) named “VerticalPerspective” : When that was corrected in Iris 2.3 , it broke the iris-grib loading, since the data was now incorrectly assigned the “new-style” Iris VerticalPerspective coordinate system, equivalent to the Cartopy NearsidePerspective and Proj “nsper” . The plotting behaviour of this is now the same again as before Iris 2.3 : only the Iris coordinate system has changed. (PR#223)

  • @pp-mo fixed a problem where cubes were loading from GRIB 1 with a changed coordinate system, since eccodes versions >= 1.19. This resulted from a change to eccodes, which now returns a different ‘shapeOfTheEarth’ parameter. This resulted in a coordinate system with a different earth radius. For backwards compatibility, the earth radius has now been fixed to the same value as previously. However, pending further investigation, this value may be technically incorrect and we may yet decide to change it in a future release. (PR#240)

Dependencies

  • now requires Iris version >= 3.0 Needed for the bugfix in PR#223 .

What’s new in iris-grib v0.15.1

Release:

0.15.1

Date:

24 Feb 2020

Bugs Fixed

  • @pp-mo fixed a problem that caused very slow loading, and possible memory overflows, with Dask versions >= 2.0. This requires Iris >= 2.4, as a new minimum dependency. ( This problem was shared with UM file access in Iris, fixed in Iris 2.4. (PR#190)

  • @trexfeathers fixed all the tests to work with the latest Iris version, previously broken since Iris >= 2.3. (PR#184) and (PR#185)

  • @lbdreyer fixed a problem with the metadata in setup.py. (PR#183)

Internal

Dependencies

  • now requires Iris version >= 2.4 Needed for the bugfix in PR#190 .

What’s new in iris-grib v0.15

Release:

0.15.0

Date:

5 Dec 2019

Features

  • Updated translations between GRIB parameter code and CF standard_name or long_name :

  • Added support for loading GRIB messages with no fixed surface set in the product definition section

  • Added support for loading GRIB messages where i or j increment are not set

  • Added support for saving cubes that have a “depth” coordinate

  • Cubes loaded from GRIB files now contain a new GRIB_PARAM attribute, the value of which is an instance of iris_grib.grib_phenom_translation.GRIBCode and represents the parameter code. When saving, if a cube has a GRIBCode attribute, this determines the parameter code in the created message(s): This will _override_ any translation from the CF names.

Bug Fixes

  • Reverted a bug that was fixed in v0.13 related to loading hybrid pressure levels. It was agreed that the initial behaviour was correct

Dependencies

  • Python 2 is no longer supported

What’s new in iris-grib v0.14

Release:

0.14.0

Date:

6 Mar 2019

Features

  • Added support for WAFC aviation codes.

  • Added loading and saving of statistically processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time (product definition template 15 in code table 4.0)

Release:

0.14.1

Date:

12 Jun 2019

Bug Fixes

  • Added fixes to get iris-grib working with the Python 3 compatible release of eccodes. This included workarounds such that lists that are returned by eccodes are converted to NumPy arrays as expected.

What’s new in iris-grib v0.13

Release:

0.13.0

Date:

15 Jun 2018

Features

  • Added saving of data on Hybrid Pressure levels (surface type 119 in code table 4.5).

  • Added loading and saving of data on Hybrid Height levels (surface type 118 in code table 4.5).

  • Added loading and saving of data using Mercator projection (grid definition template 10 in template table 3.1)

    Note

    Loading and saving for the Mercator projection is only available using iris versions greater than 2.1.0.

  • Added saving for data on irregular, non-rotated grids (grid definition template 4 in template table 3.1)

  • Added release notes for versions since 0.9.

Bug Fixes

  • Fixed a bug with loading data on Hybrid Pressure levels (surface types 105 and 119 in code table 4.5). Previously, all hybrid coordinate values, in both ‘level_pressure’ and ‘sigma’ coordinates, were loaded from the next level up, i.e. (model_level_number + 1).

    Note

    This changes loading behaviour for data on hybrid pressure levels only. This is an incompatible change, but the coefficient values previously returned were essentially useless, with some values missing.

What’s new in iris-grib v0.12

Release:

0.12

Date:

25 Oct 2017

Updated to work with ecCodes as its interface to GRIB files. This is ECMWF’s replacement for the older GRIB-API, which is now deprecated.

What’s new in iris-grib v0.11

Release:

0.11

Date:

25 Oct 2017

Update for Iris v2.0+, using dask in place of biggus for deferred loading.

What’s new in iris-grib v0.9

Release:

0.9.0

Date:

25 Jul 2016

Stable release of iris-grib to support iris v1.10