v3.7.0.dev512 (21 Feb 2025) [unreleased]#

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

v3.7.0.dev512 Release Highlights

The highlights for this major/minor release of Iris include:

  • N/A

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

๐Ÿ“ข Announcements#

  1. N/A

โœจ Features#

  1. N/A

  2. @pp-mo added a new utility function equalise_cubes(), to help with aligning cubes so they can merge / concatenate. (Issue #6248, PR #6257)

  3. @fnattino added the lazy median aggregator iris.analysis.MEDIAN based on the implementation discussed by @rcomer and @stefsmeets in Issue #4039 (PR #6167).

๐Ÿ› Bugs Fixed#

  1. @rcomer added handling for string stash codes when saving pp files. (Issue #6239, PR #6289)

๐Ÿ’ฃ Incompatible Changes#

  1. iris.tests.IrisTest is being replaced by iris.tests._shared_utils. Once conversion from unittest to pytest is completed, iris.tests.IrisTest class will be deprecated.

๐Ÿš€ Performance Enhancements#

  1. @bouweandela made loading (:pull:`6229 and PR #6252)

  2. @fnattino enabled lazy cube interpolation using the linear and nearest-neighbour interpolators (iris.analysis.Linear and iris.analysis.Nearest). Note that this implementation removes performance benefits linked to caching an interpolator object. While this does not break previously suggested code (instantiating and re-using an interpolator object remains possible), this is no longer an advertised feature. (PR #6084)

๐Ÿ”ฅ Deprecations#

  1. N/A

๐Ÿ”— Dependencies#

  1. N/A

๐Ÿ“š Documentation#

  1. @ESadek-MO and @trexfeathers created Converting From unittest to pytest as a guide for converting from unittest to pytest. (PR #5785)

  2. @ESadek-MO and @trexfeathers created a style guide for pytest tests, and consolidated Test Categories and Testing Tools into Writing Tests (Issue #5574, PR #5785)

๐Ÿ’ผ Internal#

  1. @ESadek-MO @pp-mo @bjlittle @trexfeathers and @HGWright have converted around a third of Irisโ€™ unittest style tests to pytest. This is part of an ongoing effort to move from unittest to pytest. (PR #6207, part of Issue #6212)

  2. @trexfeathers, @ESadek-MO and @HGWright heavily re-worked Release Do-Nothing Script to be more thorough and apply lessons learned from recent releases. (PR #6062)

  3. @schlunma made lazy [smart weights](SciTools/iris#5084) used for cube aggregations have the same chunks as their parent cube if broadcasting is necessary. (Issue #6285, PR #6288)