diff --git a/docs/src/whatsnew/3.11.rst b/docs/src/whatsnew/3.11.rst new file mode 100644 index 0000000000..b6fcae64c1 --- /dev/null +++ b/docs/src/whatsnew/3.11.rst @@ -0,0 +1,179 @@ +.. include:: ../common_links.inc + +v3.11 (28 Oct 2024) [release candidate] +*************************************** + +This document explains the changes made to Iris for this release +(:doc:`View all changes `.) + + +.. dropdown:: v3.11 Release Highlights + :color: primary + :icon: info + :animate: fade-in + :open: + + The highlights for this minor release of Iris include: + + * Iris is now compliant with NumPy v2. See the notes below for how this might + affect your scripts. + + * Loading now supports varying reference fields for hybrid vertical + coordinates, e.g. a time-varying orography. This is controlled by the + :meth:`~iris.LOAD_POLICY` object : see :class:`~iris.LoadPolicy`. + + * We now have type hints in :class:`~iris.cube.Cube`, and + :meth:`iris.cube.CubeList.concatenate` is in places almost an order of + magnitude faster! + + * `@bouweandela`_ added type hints for :class:`~iris.cube.Cube`. + + * Checkout the significant performance enhancements section for a couple of + improvements to the performance of Iris. + Special thanks to `@bouweandela`_ for these contributions. + + * We added ``colorbar`` keyword to allow optional creation of + the colorbar in three quickplot methods! + + And finally, get in touch with us on :issue:`GitHub` if you have + any issues or feature requests for improving Iris. Enjoy! + + +📢 Announcements +================ + +#. Iris is now compliant with NumPy v2. This may affect your scripts. + :ref:`See the full What's New entry for more details `. + + +✨ Features +=========== + +#. `@jrackham-mo`_ added :meth:`~iris.io.format_picker.FormatAgent.copy` and + equality methods to :class:`iris.io.format_picker.FormatAgent`, as requested + in :issue:`6108`, actioned in :pull:`6119`. + +#. `@ukmo-ccbunney`_ added ``colorbar`` keyword to allow optional creation of + the colorbar in the following quickplot methods: + + * :meth:`iris.quickplot.contourf` + + * :meth:`iris.quickplot.pcolor` + + * :meth:`iris.quickplot.pcolormesh` + + Requested in :issue:`5970`, actioned in :pull:`6169`. + +#. `@pp-mo`_ and `@stephenworsley`_ added support for hybrid coordinates whose + references are split across multiple input fields, and :meth:`~iris.LOAD_POLICY` to + control it, as requested in :issue:`5369`, actioned in :pull:`6168`. + +#. `@ESadek-MO`_ has updated :mod:`iris.fileformats.pp_save_rules` and + :mod:`iris.fileformats.pp` to include the `label_surface_fields` flag across + relevant functions, most notably :func:`iris.fileformats.pp.save`. + This allows the user to choose whether or not surface fields are recognised + and handled appropriately. (:issue:`3280`, :pull:`5734`) + +#. `@ESadek-MO`_ updated to the latest CF Standard Names Table v86 + (5 September 2024). (:pull:`6200`) + +🐛 Bugs Fixed +============= + +#. `@rcomer`_ enabled partial collapse of multi-dimensional string coordinates, + fixing :issue:`3653`. (:pull:`5955`) + +#. `@bouweandela`_ made further updates to the ``chunktype`` of Dask arrays, + so it corresponds better with the array content. (:pull:`5989`) + +#. `@ukmo-ccbunney`_ improved error handling for malformed `cell_method` + attribute. Also made cell_method string parsing more lenient w.r.t. + whitespace. (:pull:`6083`) + +#. `@ukmo-ccbunney`_ fixed comparison of cubes with array type attributes; + fixes :issue:`6027` (:pull:`6181`) + +💣 Incompatible Changes +======================= + +#. N/A + + +🚀 Performance Enhancements +=========================== + +#. `@bouweandela`_ made the time coordinate categorisation functions in + :mod:`~iris.coord_categorisation` faster. Anyone using + :func:`~iris.coord_categorisation.add_categorised_coord` + with cftime :class:`~cftime.datetime` objects can benefit from the same + improvement by adding a type hint to their category funcion. (:pull:`5999`) + +#. `@bouweandela`_ made :meth:`iris.cube.CubeList.concatenate` faster if more + than two cubes are concatenated with equality checks on the values of + auxiliary coordinates, derived coordinates, cell measures, or ancillary + variables enabled. + In some cases, this may lead to higher memory use. This can be remedied by + reducing the number of Dask workers. + In rare cases, the new implementation could potentially be slower. This + may happen when there are very many or large auxiliary coordinates, derived + coordinates, cell measures, or ancillary variables to be checked that span + the concatenation axis. This issue can be avoided by disabling the + problematic check. (:pull:`5926` and :pull:`6187`) + +🔥 Deprecations +=============== + +#. N/A + + +🔗 Dependencies +=============== + +.. _numpy2: + +#. `@trexfeathers`_ adapted the Iris codebase to work with NumPy v2. The + `NumPy v2 full release notes`_ have the exhaustive details. Notable + changes that may affect your Iris scripts are below. (:pull:`6035`) + + * `NumPy v2 changed data type promotion`_ + + * `NumPy v2 changed scalar printing`_ + + +📚 Documentation +================ + +#. `@bouweandela`_ added type hints for :class:`~iris.cube.Cube`. (:pull:`6037`) + +#. `@ESadek-MO`_ has updated :ref:`um_files_loading` to include a short description + of the new `label_surface_fields` functionality. (:pull:`5734`) + + +💼 Internal +=========== + +#. `@trexfeathers`_ improved the new ``tracemalloc`` benchmarking (introduced + in Iris v3.10.0, :pull:`5948`) to use the same statistical repeat strategy + as timing benchmarks. (:pull:`5981`) + +#. `@trexfeathers`_ adapted Iris to work with Cartopy v0.24. (:pull:`6171`, + :pull:`6172`) + +#. `@trexfeathers`_ refactored spanning checks in :mod:`iris.fileformats.cf` + to reduce code duplication. (:pull:`6196`) + + +.. comment + Whatsnew author names (@github name) in alphabetical order. Note that, + core dev names are automatically included by the common_links.inc: + +.. _@jrackham-mo: https://github.com/jrackham-mo + + +.. comment + Whatsnew resources in alphabetical order: + +.. _cartopy#2390: https://github.com/SciTools/cartopy/issues/2390 +.. _NumPy v2 changed data type promotion: https://numpy.org/doc/stable/numpy_2_0_migration_guide.html#changes-to-numpy-data-type-promotion +.. _NumPy v2 changed scalar printing: https://numpy.org/doc/stable/release/2.0.0-notes.html#representation-of-numpy-scalars-changed +.. _NumPy v2 full release notes: https://numpy.org/doc/stable/release/2.0.0-notes.html diff --git a/docs/src/whatsnew/index.rst b/docs/src/whatsnew/index.rst index 74cb0cd43d..34e516c23d 100644 --- a/docs/src/whatsnew/index.rst +++ b/docs/src/whatsnew/index.rst @@ -13,6 +13,7 @@ What's New in Iris :hidden: latest.rst + 3.11.rst 3.10.rst 3.9.rst 3.8.rst diff --git a/docs/src/whatsnew/latest.rst b/docs/src/whatsnew/latest.rst index 6700774480..9022446cb8 100644 --- a/docs/src/whatsnew/latest.rst +++ b/docs/src/whatsnew/latest.rst @@ -24,56 +24,20 @@ This document explains the changes made to Iris for this release 📢 Announcements ================ -#. Iris is now compliant with NumPy v2. This may affect your scripts. - :ref:`See the full What's New entry for more details `. +#. N/A ✨ Features =========== -#. `@jrackham-mo`_ added :meth:`~iris.io.format_picker.FormatAgent.copy` and - equality methods to :class:`iris.io.format_picker.FormatAgent`, as requested - in :issue:`6108`, actioned in :pull:`6119`. - -#. `@ukmo-ccbunney`_ added ``colorbar`` keyword to allow optional creation of - the colorbar in the following quickplot methods: - - * :meth:`iris.quickplot.contourf` - - * :meth:`iris.quickplot.pcolor` - - * :meth:`iris.quickplot.pcolormesh` - - Requested in :issue:`5970`, actioned in :pull:`6169`. - -#. `@pp-mo`_ and `@stephenworsley`_ added support for hybrid coordinates whose - references are split across multiple input fields, and :meth:`~iris.LOAD_POLICY` to - control it, as requested in :issue:`5369`, actioned in :pull:`6168`. - -#. `@ESadek-MO`_ has updated :mod:`iris.fileformats.pp_save_rules` and - :mod:`iris.fileformats.pp` to include the `label_surface_fields` flag across - relevant functions, most notably :func:`iris.fileformats.pp.save`. - This allows the user to choose whether or not surface fields are recognised - and handled appropriately. (:issue:`3280`, :pull:`5734`) +#. N/A -#. `@ESadek-MO`_ updated to the latest CF Standard Names Table v86 - (5 September 2024). (:pull:`6200`) 🐛 Bugs Fixed ============= -#. `@rcomer`_ enabled partial collapse of multi-dimensional string coordinates, - fixing :issue:`3653`. (:pull:`5955`) - -#. `@bouweandela`_ made further updates to the ``chunktype`` of Dask arrays, - so it corresponds better with the array content. (:pull:`5989`) - -#. `@ukmo-ccbunney`_ improved error handling for malformed `cell_method` - attribute. Also made cell_method string parsing more lenient w.r.t. - whitespace. (:pull:`6083`) +#. N/A -#. `@ukmo-ccbunney`_ fixed comparison of cubes with array type attributes; - fixes :issue:`6027` (:pull:`6181`) 💣 Incompatible Changes ======================= @@ -84,23 +48,8 @@ This document explains the changes made to Iris for this release 🚀 Performance Enhancements =========================== -#. `@bouweandela`_ made the time coordinate categorisation functions in - :mod:`~iris.coord_categorisation` faster. Anyone using - :func:`~iris.coord_categorisation.add_categorised_coord` - with cftime :class:`~cftime.datetime` objects can benefit from the same - improvement by adding a type hint to their category funcion. (:pull:`5999`) - -#. `@bouweandela`_ made :meth:`iris.cube.CubeList.concatenate` faster if more - than two cubes are concatenated with equality checks on the values of - auxiliary coordinates, derived coordinates, cell measures, or ancillary - variables enabled. - In some cases, this may lead to higher memory use. This can be remedied by - reducing the number of Dask workers. - In rare cases, the new implementation could potentially be slower. This - may happen when there are very many or large auxiliary coordinates, derived - coordinates, cell measures, or ancillary variables to be checked that span - the concatenation axis. This issue can be avoided by disabling the - problematic check. (:pull:`5926` and :pull:`6187`) +#. N/A + 🔥 Deprecations =============== @@ -111,51 +60,27 @@ This document explains the changes made to Iris for this release 🔗 Dependencies =============== -.. _numpy2: - -#. `@trexfeathers`_ adapted the Iris codebase to work with NumPy v2. The - `NumPy v2 full release notes`_ have the exhaustive details. Notable - changes that may affect your Iris scripts are below. (:pull:`6035`) - - * `NumPy v2 changed data type promotion`_ - - * `NumPy v2 changed scalar printing`_ +#. N/A 📚 Documentation ================ -#. `@bouweandela`_ added type hints for :class:`~iris.cube.Cube`. (:pull:`6037`) - -#. `@ESadek-MO`_ has updated :ref:`um_files_loading` to include a short description - of the new `label_surface_fields` functionality. (:pull:`5734`) +#. N/A 💼 Internal =========== -#. `@trexfeathers`_ improved the new ``tracemalloc`` benchmarking (introduced - in Iris v3.10.0, :pull:`5948`) to use the same statistical repeat strategy - as timing benchmarks. (:pull:`5981`) - -#. `@trexfeathers`_ adapted Iris to work with Cartopy v0.24. (:pull:`6171`, - :pull:`6172`) - -#. `@trexfeathers`_ refactored spanning checks in :mod:`iris.fileformats.cf` - to reduce code duplication. (:pull:`6196`) +#. N/A .. comment Whatsnew author names (@github name) in alphabetical order. Note that, core dev names are automatically included by the common_links.inc: -.. _@jrackham-mo: https://github.com/jrackham-mo -.. comment - Whatsnew resources in alphabetical order: -.. _cartopy#2390: https://github.com/SciTools/cartopy/issues/2390 -.. _NumPy v2 changed data type promotion: https://numpy.org/doc/stable/numpy_2_0_migration_guide.html#changes-to-numpy-data-type-promotion -.. _NumPy v2 changed scalar printing: https://numpy.org/doc/stable/release/2.0.0-notes.html#representation-of-numpy-scalars-changed -.. _NumPy v2 full release notes: https://numpy.org/doc/stable/release/2.0.0-notes.html +.. comment + Whatsnew resources in alphabetical order: \ No newline at end of file