Release Notes
What’s new in iris-grib v0.20.0
- Release:
0.20.0
- Date:
29 August 2024
Features
@abooton added support for saving data on a Lambert Azimuthal Equal Area (LAEA) projection, as grid definition template 3.140. (ISSUE#344), (PR#343)
@trexfeathers, @mo-marqh and @pp-mo added support for production definition template 4.6, i.e. percentile forecasts. (PR#401), (PR#295), (PR#271)
@pp-mo expanded the use of the “GRIB_PARAM” attributes to GRIB1 loading, and documented it more thoroughly. (ISSUE#330), (PR#402)
@DPeterK and @trexfeathers added saving support for grid definition template 20 - polar stereographic. (ISSUE#122), (PR#405)
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 withindicatorOfUnitForForecastTime
(but only in GRIB v2 messages, not GRIB 1); and theiScansPositively
andjScansPositively
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
@trexfeathers updated CONTRIBUTING.md in line with the newer v5 SciTools CLA. (PR#371)
@pp-mo updated an obsolete license header in one test. (PR#374)
@trexfeathers and @pp-mo added a pre-commit configuration and got all checks passing. (ISSUE#388), (PR#400), (PR#406)
@HGWright and @trexfeathers replaced setup.py with pyproject.toml. (ISSUE#387), (PR#408), (PR#429)
@stephenworsley configured for MyPy checking via pre-commit. (ISSUE#386), (PR#407)
@ESadek-MO and @bjlittle migrated CI testing from Cirrus to GitHub Actions. (ISSUE#340), (PR#415), (PR#425), (PR#432)
@trexfeathers and @HGWright adopted Ruff for code style checking. (ISSUE#384), (PR#430), (PR#419)
@bjlittle migrated the test runs from nose to pytest. (ISSUE#253), (ISSUE#412), (PR#420), (PR#424)
@stephenworsley removed the now-redundant _iris_mercator_support.py. (ISSUE#431), (PR#433), (PR#435)
@bjlittle added build manifest checking in GHA. (PR#427), (PR#436), (PR#441)
@bjlittle removed ‘wheel’ dependency from build system, as-per repo-review. (PR#437)
@bjlittle fixed blacken-docs url in pre-commit, as per repo-review. (PR#438)
@bjlittle provided a custom per-commit.ci message, as per repo-review. (PR#439)
@pp-mo removed obsolete workaround routines relating to older eccodes versions. (ISSUE#239), (PR#410)
@HGWright implemented version handling with setuptools.scm . (ISSUE#418), (PR#444)
@bjlittle moved the top-level
./iris_grib
folder to./src/iris_grib
, in line with modern practice, as per repo-review. (ISSUE#421), (PR#450)@bjlittle adopted .git-blame-ignore-revs to exclude some very noisy PRs from file “blame” views (PR#452)
@bjlittle dropped Python 3.9 support and added 3.12, in accordance with nep29. (PR#453)
@bjlittle updated all optional dependency requirements, and added codecov support. (PR#454), (PR#459)
@bjlittle added repository health checking with repo-review via pre-commit. (ISSUE#392), (PR#456)
@bjlittle aligned .gitignore with a suggested standard form (PR#461)
@bjlittle fixed some spelling errors to satisfy codespell (PR#479)
@githubalexliu fixed a problem with the MyPy checking. (ISSUE#496), (PR#497)
@trexfeathers aligned the pre-commit-config with the SciTools “reference” version. (PR#464),
New Contributors
Welcome to
@tkknight fixed the display formatting of linux
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
Dependencies
now requires Python version >= 3.8
Internal
@TomDufall updated the code so that it was flake8 compliant and enabled flake8 checks to the CI. (PR#271)
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
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 :
additional WAFC codes, both to and from CF
‘mass_fraction_of_cloud_liquid_water_in_air’ and ‘mass_fraction_of_cloud_ice_in_air’, both to and from CF
‘surface_downwelling_longwave_flux_in_air’, now translates to GRIBcode(2, 0, 5, 3) (but not the reverse).
for full details, see : https://github.com/Scitools/iris-grib/compare/c4243ae..5c314e3#diff-cf46b46880cae59e82a91c7ab6bb81ba
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