What’s New in Iris#
v3.8.0.dev66 (04 Dec 2023) [unreleased]#
This document explains the changes made to Iris for this release (View all changes.)
v3.8.0.dev66 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#
@lbdreyer relicensed Iris from LGPL-3 to BSD-3. (:pull: 5577)
✨ Features#
@pp-mo, @lbdreyer and @trexfeathers improved
Cube
attributes
handling to better preserve the distinction between dataset-level and variable-level attributes, allowing file-Cube-file round-tripping of NetCDF attributes. SeeCubeAttrsDict
, NetCDFsave()
andFuture
for more. (PR #5152, split attributes project)@rcomer rewrote
broadcast_to_shape()
so it now handles lazy data. (PR #5307)@trexfeathers and @HGWright (reviewer) sub-categorised all Iris’
UserWarning
s for richer filtering. The full index of sub-categories can be seen here:iris.exceptions
. (PR #5498)@trexfeathers added the
ObliqueMercator
andRotatedMercator
coordinate systems, complete with NetCDF loading and saving. (PR #5548)@trexfeathers added the
use_year_at_season_start
parameter toiris.coord_categorisation.add_season_year()
. Whenuse_year_at_season_start==True
: seasons spanning the year boundary (e.g. Winter - December to February) will be assigned to the preceding year (e.g. the year of December) instead of the following year (the default behaviour). (PR #5573)@HGWright added
ignore_axis
to allow manual intervention preventingguess_coord_axis()
from acting on a coordinate. (PR #5551)@pp-mo, @trexfeathers and @ESadek-MO added more control over NetCDF chunking with the use of the
iris.fileformats.netcdf.loader.CHUNK_CONTROL
context manager. (PR #5588)
🐛 Bugs Fixed#
@scottrobinson02 fixed the output units when dividing a coordinate by a cube. (Issue #5305, PR #5331)
@ESadek-MO has updated
iris.tests.graphics.idiff
to stop duplicated file names preventing acceptance. (Issue #5098, PR #5482)@acchamber and @rcomer modified 2D plots so that time axes and their ticks have more sensible default labels. (Issue #5426, PR #5561)
@rcomer and @trexfeathers (reviewer) added handling for realization coordinates when saving pp files (Issue #4747, PR #5568)
💣 Incompatible Changes#
N/A
🚀 Performance Enhancements#
@stephenworsley improved the speed of
AreaWeighted
regridding. (PR #5543)
🔥 Deprecations#
N/A
🔗 Dependencies#
@bjlittle enforced the minimum pin of
numpy>1.21
in accordance with the NEP29 Drop Schedule. (PR #5525)
📚 Documentation#
@trexfeathers documented the intended use of warnings filtering with Iris. See Filtering Warnings. (PR #5509)
@rcomer updated the Global Average Annual Temperature Maps to show how a colourbar may steal space from multiple axes. (PR #5537)
@tkknight improved the top navgation bar alignment and amount of links shown. Also improved how the warning banner is implemented. (PR #5505 and PR #5508)
@ESadek-MO added a phrasebook for synonymous terms used in similar packages. (PR #5564)
@ESadek-MO and @trexfeathers created a technical paper for NetCDF saving and loading, NetCDF I/O Handling in Iris with a section on chunking, and placeholders for further topics. (PR #5588)
💼 Internal#
@trexfeathers and @ESadek-MO (reviewer) performed a suite of fixes and improvements for benchmarking, primarily to get on demand pull request benchmarking working properly. (Main pull request: PR #5437, more detail: PR #5430, PR #5431, PR #5432, PR #5434, PR #5436)
@trexfeathers set a number of memory benchmarks to be on-demand, as they were vulnerable to false positives in CI runs. (PR #5481)
@acchamber and @ESadek-MO resolved several deprecation to reduce number of warnings raised during tests. (PR #5493, PR #5511)
@trexfeathers replaced all uses of the
logging.WARNING
level, in favour of using Python warnings, following team agreement. (PR #5488)@trexfeathers adapted benchmarking to work with ASV
>=v0.6
by no longer using the--strict
argument. (PR #5496)@fazledyn-or replaced
NotImplementedError
withNotImplemented
as a proper method call. (PR #5544)@bjlittle corrected various comment spelling mistakes detected by codespell. (PR #5546)
@rcomer reduced the size of the conda environment used for testing. (PR #5606)
@trexfeathers and @pp-mo improved how the conda-forge feedstock release candidate branch is managed, via: Release Do-Nothing Script. (PR #5515)