Changelog#

v2.10.0#

Highlights

This release includes

Backwards incompatible changes#

  • Remove the deprecated option use_legacy_supplementaries (Pull request #2202) by @bouweandela

    • The recommended upgrade procedure is to remove use_legacy_supplementaries from config-user.yml (if it was there) and remove any mention of fx_variables from the recipe. If automatically defining the required supplementary variables does not work, define them in the variable or (additional_) datasets section as described in Defining supplementary variables (ancillary variables and cell measures).

  • Use smarter (units-aware) weights (Pull request #2139) by @schlunma

    • Some preprocessors handle units better. For details, see the pull request.

  • Removed deprecated configuration option offline (Pull request #2213) by @schlunma

    • In v2.8.0, we replaced the old offline configuration option. From this version on, it stops working. Please refer to v2.8.0 for upgrade instructions.

  • Fix issue with CORDEX datasets requiring different dataset tags for downloads and fixes (Pull request #2066) by @ljoakim

    • Due to the different facets for CORDEX datasets, there was an inconsistency in the fixing mechanism. This change requires changes to existing recipes that use CORDEX datasets. Please refer to the pull request for detailed update instructions.

  • For the following changes, no user change is necessary

Deprecations#

  • Clearly separate fixes and CMOR checks (Pull request #2157) by @schlunma

  • Added new operators for statistics preprocessor (e.g., 'percentile') and allowed passing additional arguments (Pull request #2191) by @schlunma

    • This harmonizes the operators for all statistics preprocessors. From this version, the new names can be used; the old arguments will stop working from version 2.12.0. Please refer to Statistical preprocessors for a detailed description.

Bug fixes#

CMOR standard#

Computational performance improvements#

Documentation#

Fixes for datasets#

Installation#

Preprocessor#

Automatic testing#

Improvements#

v2.9.0#

Highlights#

It is now possible to use the Dask distributed scheduler, which can significantly reduce the run-time of recipes. Configuration examples and advice are available in our documentation. More work on improving the computational performance is planned, so please share your experiences, good and bad, with this new feature in Discussion #1763.

This release includes

Backwards incompatible changes#

  • Remove deprecated configuration options (Pull request #2056) by @bouweandela

    • The module esmvalcore.experimental.config has been removed. To upgrade, import the module from esmvalcore.config instead.

    • The module esmvalcore._config has been removed. To upgrade, use esmvalcore.config instead.

    • The methods esmvalcore.config.Session.to_config_user and esmvalcore.config.Session.from_config_user have been removed. To upgrade, use esmvalcore.config.Session to access the configuration values directly.

Bug fixes#

Computational performance improvements#

Documentation#

Fixes for datasets#

Installation#

Preprocessor#

v2.8.1#

Highlights#

This release adds support for Python 3.11 and includes several bugfixes.

This release includes:

Bug fixes#

Fixes for datasets#

Installation#

Documentation#

Automatic testing#

v2.8.0#

Highlights#

This release includes:

Backwards incompatible changes#

Please read the descriptions of the linked pull requests for detailed upgrade instructions.

  • The algorithm for automatically defining the ancillary variables and cell measures has been improved (Pull request #1609) by @bouweandela. If this does not work as expected, more examples of how to adapt your recipes are given here and in the corresponding sections of the recipe documentation and the preprocessor documentation.

  • Remove deprecated features scheduled for removal in v2.8.0 or earlier (Pull request #1826) by @schlunma. Removed esmvalcore.iris_helpers.var_name_constraint (has been deprecated in v2.6.0; please use iris.NameConstraint with the keyword argument var_name instead) and the option always_use_ne_mask for esmvalcore.preprocessor.mask_landsea() (has been deprecated in v2.5.0; the same behavior can now be achieved by specifying supplementary_variables.

  • No files will be found if a non-existent version of a dataset is specified (Pull request #1835) by @bouweandela. If a version of a dataset is specified in the recipe, the tool will now search for exactly that version, instead of simply using the latest version. Therefore, it is necessary to make sure that the version number in the directory tree matches with the version number in the recipe to find the files.

  • The default filename template for obs4MIPs has been updated to better match filenames used in this project in (Pull request #1866) by @bouweandela. This may cause issues if you are storing all the files for obs4MIPs in a directory with no subdirectories per dataset.

Deprecations#

Please read the descriptions of the linked pull requests for detailed upgrade instructions.

Python API#

Bug fixes#

Documentation#

Improvements#

Fixes for datasets#

Installation#

Preprocessor#

Release#

Automatic testing#

Variable Derivation#

v2.7.1#

Highlights#

This is a bugfix release where we unpin cf-units to allow the latest iris=3.4.0 to be installed. It also includes an update to the default configuration used when searching the ESGF for files, to account for a recent change of the CEDA ESGF index node hostname. The changelog contains only changes that were made to the main branch.

Installation#

Bug fixes#

Automatic testing#

v2.7.0#

Highlights#

  • We have a new preprocessor function called ‘rolling_window_statistics’ implemented by @malininae

  • We have improved the support for native models, refactored native model fixes by adding common base class NativeDatasetFix, changed default DRS for reading native ICON output, and added tests for input/output filenames for ICON and EMAC on-the-fly CMORizer, all these features courtesy of @schlunma

  • Performance of preprocessor functions that use time dimensions has been sped up by two orders of magnitude thanks to contributions by @bouweandela

This release includes:

Backwards incompatible changes#

Bug fixes#

Deprecations#

Documentation#

Improvements#

Fixes for datasets#

Installation#

Automatic testing#

v2.6.0#

Highlights#

  • A new set of CMOR fixes is now available in order to load native EMAC model output and CMORize it on the fly. For details, see Supported native models: EMAC.

  • The version number of ESMValCore is now automatically generated using setuptools_scm, which extracts Python package versions from git metadata.

This release includes

Deprecations#

  • Deprecate the function esmvalcore.var_name_constraint (Pull request #1592) by @schlunma. This function is scheduled for removal in v2.8.0. Please use iris.NameConstraint with the keyword argument var_name instead: this is an exact replacement.

Bug fixes#

CMOR standard#

Containerization#

Community#

Documentation#

Improvements#

Fixes for datasets#

Installation#

Preprocessor#

Release#

Automatic testing#

Variable Derivation#

v2.5.0#

Highlights#

This release includes

Backwards incompatible changes#

  • Update Cordex section in config-developer.yml (Pull request #1303) by @francesco-cmcc. This changes the naming convention of ESMValCore’s output files from CORDEX dataset. This only affects recipes that use CORDEX data. Most likely, no changes in diagnostics are necessary; however, if code relies on the specific naming convention of files, it might need to be adapted.

  • Dropped Python 3.7 (Pull request #1530) by @schlunma. ESMValCore v2.5.0 dropped support for Python 3.7. From now on Python >=3.8 is required to install ESMValCore. The main reason for this is that conda-forge dropped support for Python 3.7 for OSX and arm64 (more details are given here).

Bug fixes#

Deprecations#

Documentation#

Fixes for datasets#

Preprocessor#

Automatic testing#

Installation#

Improvements#

v2.4.0#

Highlights#

  • ESMValCore now has the ability to automatically download missing data from ESGF. For details, see Data Retrieval.

  • ESMValCore now also can resume an earlier run. This is useful to re-use expensive preprocessor results. For details, see Running.

This release includes

Bug fixes#

Deprecations#

Documentation#

Fixes for datasets#

CMOR standard#

Preprocessor#

Automatic testing#

Installation#

Improvements#

v2.3.1#

This release includes

Bug fixes#

Documentation#

Fixes for datasets#

Preprocessor#

Installation#

Improvements#

v2.3.0#

This release includes

Bug fixes#

Deprecations#

Documentation#

Fixes for datasets#

CMOR standard#

Preprocessor#

Notebook API (experimental)#

Automatic testing#

Installation#

Improvements#

v2.2.0#

Highlights#

ESMValCore is now using the recently released Iris 3. We acknowledge that this change may impact your work, as Iris 3 introduces several changes that are not backward-compatible, but we think that moving forward is the best decision for the tool in the long term.

This release is also the first one including support for downloading CMIP6 data using Synda and we have also started supporting Python 3.9. Give it a try!

This release includes

Bug fixes#

Deprecations#

Documentation#

Fixes for datasets#

CMOR standard#

Preprocessor#

Automatic testing#

Notebook API (experimental)#

Improvements#

v2.1.0#

This release includes

Bug fixes#

Documentation#

Improvements#

Fixes for datasets#

Preprocessor#

v2.0.0#

This release includes

Bug fixes#

Documentation#

Improvements#

Fixes for datasets#

Preprocessor#

v2.0.0b9#

This release includes

Bug fixes#

Improvements#

For older releases, see the release notes on ESMValGroup/ESMValCore.