v3.7 (31 Aug 2023)#

This document explains the changes made to Iris for this release (View all changes.)

v3.7 Release Highlights

There are no major feature highlights for this release of Iris, but it’s worth noting that, in addition to some important bug fixes in specific areas, this time we have made a number of improvements for user-experience and usability, notably :

Please do get in touch with us on GitHub if you have any issues or feature requests for improving Iris. Enjoy!

v3.7.1 (04 Mar 2024)#

v3.7.1 Patches

The patches in this release of Iris include:

  1. @stephenworsley fixed a potential memory leak for Iris uses of dask.array.map_blocks(); known specifically to be a problem in the iris.analysis.AreaWeighted regridder. (PR #5767)

📢 Announcements#

  1. N/A

✨ Features#

  1. @rcomer rewrote broadcast_to_shape() so it now handles lazy data. (PR #5307)

  2. @acchamber added error and warning messages about coordinate overlaps to concatenate() to improve the concatenation process. (PR #5382)

  3. @trexfeathers included mesh location coordinates (e.g. face_coords) in the data variable’s coordinates attribute when saving to NetCDF. (Issue #5206, PR #5389)

  4. @pp-mo modified the install process to record the release version of the CF standard-names table, when it creates the iris/std_names.py module. The release number is also now available as iris.std_names.CF_STANDARD_NAMES_TABLE_VERSION. (PR #5423)

🐛 Bugs Fixed#

  1. @acchamber fixed a bug with unify_time_units() so it does not block concatenation through different data types in rare instances. (PR #5372)

  2. @acchamber removed some obsolete code that prevented extraction of time points from cubes with bounded times (PR #5175)

  3. @rcomer modified pp-loading to avoid a cftime warning for non-standard calendars. (PR #5357)

  4. @rsdavies modified the CF compliant standard name for m01s00i023 (Issue #4566)

💣 Incompatible Changes#

  1. N/A

🚀 Performance Enhancements#

  1. @rcomer made aggregated_by() faster. (PR #4970)

🔥 Deprecations#

  1. N/A

🔗 Dependencies#

  1. N/A

📚 Documentation#

  1. @tkknight prepared the documentation for dark mode and enable the option to use it. By default the theme will be based on the users system settings, defaulting to light if no system setting is found. (PR #5299)

  2. @HGWright added a Dask Best Practices section into the user guide, containing advice and use cases to help users get the best out of Dask with Iris. (PR #5190)

  3. @acchamber improved documentation for convert_units() and convert_units() by including a link to the UDUNITS-2 documentation which contains lists of compatible units and aliases for them. (PR #5388)

  4. @rcomer updated the Installation Guide to reflect that some things are now simpler. (PR #5416)

💼 Internal#

  1. @pp-mo supported loading and saving netcdf netCDF4.Dataset compatible objects in place of file-paths, as hooks for a forthcoming “Xarray bridge” facility. (PR #5214, PR #5212)

  2. @rcomer updated contourf() to avoid using functionality that is deprecated in Matplotlib v3.8 (PR #5405)