|
3 | 3 | Changelog |
4 | 4 | ========= |
5 | 5 |
|
| 6 | +.. _changelog-v2-14-0: |
| 7 | + |
| 8 | +v2.14.0 |
| 9 | +------- |
| 10 | + |
| 11 | +Highlights |
| 12 | +~~~~~~~~~~ |
| 13 | + |
| 14 | +TODO: Add |
| 15 | + |
| 16 | +This release includes |
| 17 | + |
| 18 | +Backwards incompatible changes |
| 19 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 20 | + |
| 21 | +- Remove support for ``~/.esmvaltool/config-user.yml`` and ``~/.esmvaltool/dask.yml`` (:pull:`2878`) by :user:`bouweandela` |
| 22 | + |
| 23 | + .. admonition:: Upgrade instructions |
| 24 | + |
| 25 | + Move the file ``~/.esmvaltool/config-user.yml`` to |
| 26 | + ``~/.config/esmvaltool/config-user.yml`` and replace |
| 27 | + ``~/.esmvaltool/dask.yml`` by the `new way of configuring Dask |
| 28 | + <https://docs.esmvaltool.org/projects/ESMValCore/en/latest/quickstart/configure.html#dask-configuration>`__. |
| 29 | + |
| 30 | +- Remove deprecated ESMPy regridding schemes (:pull:`2879`) by :user:`bouweandela` |
| 31 | + |
| 32 | + .. admonition:: Upgrade instructions |
| 33 | + |
| 34 | + In most cases, users do not need to do anything as the `default |
| 35 | + regridding schemes |
| 36 | + <https://docs.esmvaltool.org/projects/ESMValCore/en/latest/recipe/preprocessor.html#default-regridding-schemes>`__ |
| 37 | + have been updated so these schemes are no longer used. |
| 38 | + |
| 39 | + If you were using these schemes from Python or through a `Generic |
| 40 | + regridding scheme |
| 41 | + <https://docs.esmvaltool.org/projects/ESMValCore/en/latest/recipe/preprocessor.html#generic-regridding-schemes>`__ |
| 42 | + in your recipe, you will need to update it to use |
| 43 | + :class:`~esmvalcore.preprocessor.regrid_schemes.IrisESMFRegrid` instead. |
| 44 | + |
| 45 | +- Add preliminary CMIP7 support (:pull:`2935`) by :user:`bouweandela` |
| 46 | + |
| 47 | + .. admonition:: Upgrade instructions |
| 48 | + |
| 49 | + Most users will not be affected by these changes, which were introduced to |
| 50 | + keep the function signatures easy to read. |
| 51 | + |
| 52 | + 1. It is no longer possible to pass ``derive`` as a positional argument to |
| 53 | + the :meth:`esmvalcore.cmor.table.CMIP6Info.get_variable` method. Please |
| 54 | + use ``derive=True`` or ``derive=False`` instead of ``True`` or ``False`` |
| 55 | + respectively. |
| 56 | + 2. Similarly, ``frequency`` and ``check_level`` are now keyword only |
| 57 | + arguments for the functions |
| 58 | + :func:`~esmvalcore.cmor.check.cmor_check_metadata`, |
| 59 | + :func:`~esmvalcore.cmor.check.cmor_check_data`, and |
| 60 | + :func:`~esmvalcore.cmor.check.cmor_check`. |
| 61 | + 3. The argument ``table`` to the method |
| 62 | + :meth:`esmvalcore.cmor.table.CustomInfo.get_variable` has been renamed to |
| 63 | + ``table_name`` so the signature of this method matches with the same |
| 64 | + method on the parent class |
| 65 | + :meth:`esmvalcore.cmor.table.InfoBase.get_variable`. |
| 66 | + |
| 67 | +- Unify handling of group coordinates in temporal statistics preprocessors (:pull:`2787`) by :user:`schlunma` |
| 68 | + |
| 69 | + .. admonition:: Upgrade instructions |
| 70 | + |
| 71 | + This PR changes the default behavior of the preprocessor functions |
| 72 | + |
| 73 | + - :func:`~esmvalcore.preprocessor.monthly_statistics` (group coordinates ``month_number`` and ``year``) |
| 74 | + - :func:`~esmvalcore.preprocessor.seasonal_statistics` (group coordinates ``clim_season`` and ``season_year``) |
| 75 | + - :func:`~esmvalcore.preprocessor.annual_statistics` (group coordinate ``year``) |
| 76 | + - :func:`~esmvalcore.preprocessor.decadal_statistics` (group coordinate ``decade``) |
| 77 | + |
| 78 | + Previously, the returned cubes of these preprocessor functions contained |
| 79 | + the corresponding group coordinates. Now, those coordinates are not |
| 80 | + present in the returned cubes anymore. |
| 81 | + |
| 82 | + To restore the old behavior, use ``keep_group_coordinates=True``. |
| 83 | + |
| 84 | +Deprecations |
| 85 | +~~~~~~~~~~~~ |
| 86 | + |
| 87 | +- Move the ``esmvalcore.local`` and ``esmvalcore.esgf`` modules into the ``esmvalcore.io`` module (:pull:`2911`) by :user:`bouweandela` |
| 88 | + |
| 89 | + .. admonition:: Upgrade instructions |
| 90 | + |
| 91 | + - Importing ``esmvalcore.local`` is deprecated and will be removed in v2.16. It can be imported as ``esmvalcore.io.local`` instead. |
| 92 | + - Importing ``esmvalcore.esgf`` is deprecated and will be removed in v2.16. It can be imported as ``esmvalcore.io.esgf`` instead. |
| 93 | + |
| 94 | +- Move preprocessor output filename template to new configuration (:pull:`2923`) by :user:`bouweandela` |
| 95 | + |
| 96 | + .. admonition:: Upgrade instructions |
| 97 | + |
| 98 | + If you have defined projects in ``config-developer.yml`` that are not in |
| 99 | + the default config-developer.yml file shipped with ESMValCore, then you |
| 100 | + will need to move the value of 'output_file' to |
| 101 | + |
| 102 | + .. code-block:: yaml |
| 103 | +
|
| 104 | + projects: |
| 105 | + <insert project name here>: |
| 106 | + preprocessor_filename_template: <insert output_file value here> |
| 107 | +
|
| 108 | +- Improve ana4MIPs support in the new configuration (:pull:`2932`) by :user:`bouweandela` |
| 109 | + |
| 110 | + .. admonition:: Upgrade instructions |
| 111 | + |
| 112 | + The name of the project is ``ana4MIPs``, see e.g. `here |
| 113 | + <https://reanalyses.org/tags/ana4mips>`__. Using the name ``ana4mips`` in |
| 114 | + all lowercase is deprecated, and support for it will be removed in |
| 115 | + v2.16.0 of ESMValCore. |
| 116 | + |
| 117 | + |
| 118 | +- Make CMOR tables configurable through new configuration system and deprecate config-developer.yml (:pull:`2946`) by :user:`bouweandela` |
| 119 | + |
| 120 | + .. admonition:: Upgrade instructions |
| 121 | + |
| 122 | + - ``config-developer.yml`` and the configuration setting |
| 123 | + ``config_developer_file``: upgrade instructions are available `here |
| 124 | + <https://docs.esmvaltool.org/projects/ESMValCore/en/latest/quickstart/configure.html#developer-configuration-file>`__. |
| 125 | + - In the module :mod:`esmvalcore.cmor.table`, |
| 126 | + - the function ``read_cmor_tables`` which reads the tables based on |
| 127 | + the deprecated config-developer file has been deprecated. |
| 128 | + - the ``cmor_tables_path``, ``default``, and ``default_table_prefix`` |
| 129 | + arguments to various CMOR table reader classes and the class |
| 130 | + ``CustomInfo`` for reading custom CMOR tables have been deprecated |
| 131 | + because they are no longer needed with the new configuration format. |
| 132 | + - the global variable ``CMOR_TABLES`` holding the CMOR tables has been |
| 133 | + deprecated because of :issue:`2954`. |
| 134 | + |
| 135 | +Bug fixes |
| 136 | +~~~~~~~~~ |
| 137 | + |
| 138 | +- Fix a bug where the mask_fillvalues preprocessor only recorded provenance for the first result (:pull:`2904`) by :user:`bouweandela` |
| 139 | +- Fixed behavior of ``--search_data=quick`` and ``--search_data=complete`` (:pull:`2937`) by :user:`schlunma` |
| 140 | +- Two fixes in preprocessor documentation (:pull:`2966`) by :user:`LisaBock` |
| 141 | + |
| 142 | +CMOR standard |
| 143 | +~~~~~~~~~~~~~ |
| 144 | + |
| 145 | +- Add CCI lst v3 cmor tables (:pull:`2458`) by :user:`morobking` |
| 146 | + |
| 147 | +Configuration |
| 148 | +~~~~~~~~~~~~~ |
| 149 | + |
| 150 | +- Avoid logging the configuration multiple times (:pull:`2869`) by :user:`bouweandela` |
| 151 | +- Add an interface for adding new data sources and add support for intake-esgf as a first example (:pull:`2765`) by :user:`bouweandela` |
| 152 | +- Add BSC data configuration (:pull:`2907`) by :user:`sloosvel` |
| 153 | + |
| 154 | +Computational performance improvements |
| 155 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 156 | + |
| 157 | +- Make sure all input arrays passed to ``dask.array.apply_gufunc`` are Dask arrays (:pull:`2969`) by :user:`schlunma` |
| 158 | + |
| 159 | +Documentation |
| 160 | +~~~~~~~~~~~~~ |
| 161 | + |
| 162 | +- Fix indentation and add links in changelog for v2.13 (:pull:`2862`) by :user:`bouweandela` |
| 163 | +- Documentation layout to highlight 2 packages (:pull:`2732`) by :user:`flicj191` |
| 164 | +- Document that we follow SPEC 0 (:pull:`2885`) by :user:`bouweandela` |
| 165 | +- Add missing preprocessor name rolling_window_statistics to example. (:pull:`2890`) by :user:`katjaweigel` |
| 166 | +- Fix stable documentation build (:pull:`2893`) by :user:`bouweandela` |
| 167 | +- Move ESMValCore release documentation to How-to guide section (:pull:`2889`) by :user:`jlenh` |
| 168 | +- Add ENES-RI Zenodo community (:pull:`2894`) by :user:`bouweandela` |
| 169 | +- Fix the name and version number on readthedocs (:pull:`2926`) by :user:`bouweandela` |
| 170 | +- Add updated release timeline doodle (:pull:`2899`) by :user:`jlenh` |
| 171 | +- Fix tiny doc bug in (legacy) ESGF configuration (:pull:`2945`) by :user:`valeriupredoi` |
| 172 | +- Pin sphinx<9 (:pull:`2949`) by :user:`valeriupredoi` |
| 173 | +- Add Matomo page view tracking for the documentation (:pull:`2955`) by :user:`bouweandela` |
| 174 | +- Add notes to ``climate_statistics`` docs about shifting of time coordinate (:pull:`2967`) by :user:`schlunma` |
| 175 | + |
| 176 | +Fixes for datasets |
| 177 | +~~~~~~~~~~~~~~~~~~ |
| 178 | + |
| 179 | +- Fix ERA5 native6 fix to handle single monthly-averaged NetCDF files. (:pull:`2512`) by :user:`rbeucher` |
| 180 | +- Expand ICON extra facets (:pull:`2965`) by :user:`schlunma` |
| 181 | +- Copy fixes for obs4MIPs dataset SSMI RSSv07r00 to RSS-v7 (:pull:`2968`) by :user:`bouweandela` |
| 182 | + |
| 183 | +Installation |
| 184 | +~~~~~~~~~~~~ |
| 185 | + |
| 186 | +- Drop support for Python 3.11 (:pull:`2905`) by :user:`bouweandela` |
| 187 | +- Pin iris <3.14.1 to align with iris-esmf-regrid (:pull:`2925`) by :user:`bouweandela` |
| 188 | +- Update pyproject.toml with new license and license-files settings (:pull:`2924`) by :user:`bouweandela` |
| 189 | +- Support for Python 3.14.0 (:pull:`2850`) by :user:`valeriupredoi` |
| 190 | +- Make the tool compatible with numpy 2.4 (:pull:`2941`) by :user:`bouweandela` |
| 191 | +- Update PyPI publish action (:pull:`2939`) by :user:`bouweandela` |
| 192 | +- Unpin pandas (:pull:`2961`) by :user:`valeriupredoi` |
| 193 | + |
| 194 | +Preprocessor |
| 195 | +~~~~~~~~~~~~ |
| 196 | + |
| 197 | +- Extend preprocessor anomalies (:pull:`2871`) by :user:`axel-lauer` |
| 198 | + |
| 199 | +Automatic testing |
| 200 | +~~~~~~~~~~~~~~~~~ |
| 201 | + |
| 202 | +- Ignore user configuration in configuration reload test (:pull:`2903`) by :user:`bouweandela` |
| 203 | +- Remove an outdated file that is part of the ESMValTool tests (:pull:`2944`) by :user:`bouweandela` |
| 204 | +- Improve the security of GitHub Action workflows (:pull:`2952`) by :user:`bouweandela` |
| 205 | +- Run s3 zarr tests only if s3 object store is online (:pull:`2958`) by :user:`valeriupredoi` |
| 206 | +- Correction to #2958 - add bucket to S3 url (:pull:`2959`) by :user:`valeriupredoi` |
| 207 | +- Fix CMOR test fails in OSX due to case discrepancy tables -> Tables (:pull:`2975`) by :user:`valeriupredoi` |
| 208 | + |
| 209 | +Variable Derivation |
| 210 | +~~~~~~~~~~~~~~~~~~~ |
| 211 | + |
| 212 | +- Add derived variable lapserate (:pull:`2872`) by :user:`axel-lauer` |
| 213 | +- Fix derivation for sea ice extent (siextent) (:pull:`2648`) by :user:`axel-lauer` |
| 214 | + |
| 215 | +Improvements |
| 216 | +~~~~~~~~~~~~ |
| 217 | + |
| 218 | +- Update logger to include esmvaltool logs (:pull:`2886`) by :user:`bouweandela` |
| 219 | +- Enable annotations ruff rule (:pull:`2880`) by :user:`bouweandela` |
| 220 | +- Fix issue with wildcards in timerange after introducing data sources (:pull:`2900`) by :user:`bouweandela` |
| 221 | +- Automatically sort ``__all__`` in Python modules (:pull:`2913`) by :user:`bouweandela` |
| 222 | +- Sort ``__all__`` in Python modules (:pull:`2914`) by :user:`bouweandela` |
| 223 | +- Better debug message when local data is not found within the requested timerange (:pull:`2927`) by :user:`bouweandela` |
| 224 | +- Add float to FacetValue and improve preprocessor filename template error message (:pull:`2931`) by :user:`bouweandela` |
| 225 | +- Removed unused code from ``Dataset`` class (:pull:`2963`) by :user:`schlunma` |
| 226 | + |
6 | 227 | .. _changelog-v2-13-0: |
7 | 228 |
|
8 | 229 | v2.13.0 |
|
0 commit comments