------
Highlights
~~~~~~~~~~
ESMValCore is now using the recently released `Iris 3 <https://scitools-iris.readthedocs.io/en/latest/whatsnew/3.0.html>`__.
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
~~~~~~~~~
- Fix path settings for DKRZ/Mistral (:pull:`852`) by :user:`bouweandela`
- Change logic for calling the diagnostic script to avoid problems with scripts where the executable bit is accidentally set (:pull:`877`) by :user:`bouweandela`
- Fix overwriting in generic level check (:pull:`886`) by :user:`sloosvel`
- Add double quotes to script args in rerun screen message when using vprof profiling (:pull:`897`) by :user:`valeriupredoi`
- Simplify time handling in multi-model statistics preprocessor (:pull:`685`) by :user:`Peter9192`
- Fix links to Iris documentation (:pull:`966`) by :user:`jvegreg`
- Bugfix: Fix units for MSWEP data (:pull:`986`) by :user:`stefsmeets`
Deprecations
~~~~~~~~~~~~
- Deprecate defining write_plots and write_netcdf in config-user file (:pull:`808`) by :user:`bouweandela`
Documentation
~~~~~~~~~~~~~
- Fix numbering of steps in release instructions (:pull:`838`) by :user:`bouweandela`
- Add labels to changelogs of individual versions for easy reference (:pull:`899`) by :user:`zklaus`
- Make CircleCI badge specific to main branch (:pull:`902`) by :user:`bouweandela`
- Fix docker build badge url (:pull:`906`) by :user:`stefsmeets`
- Update github PR template (:pull:`909`) by :user:`stefsmeets`
- Refer to ESMValTool GitHub discussions page in the error message (:pull:`900`) by :user:`bouweandela`
- Support automatically closing issues (:pull:`922`) by :user:`bouweandela`
- Fix checkboxes in PR template (:pull:`931`) by :user:`stefsmeets`
- Change in config-user defaults and documentation with new location for esmeval OBS data on JASMIN (:pull:`958`) by :user:`valeriupredoi`
- Update Core Team info (:pull:`942`) by :user:`axel-lauer`
- Update iris documentation URL for sphinx (:pull:`964`) by :user:`bouweandela`
- Set version to 2.2.0 (:pull:`977`) by :user:`jvegreg`
- Add first draft of v2.2.0 changelog (:pull:`983`) by :user:`jvegreg`
- Add checkbox in PR template to assign labels (:pull:`985`) by :user:`jvegreg`
- Update install.rst (:pull:`848`) by :user:`bascrezee`
- Change the order of the publication steps (:pull:`984`) by :user:`jvegreg`
- Add instructions how to use esmvaltool from HPC central installations (:pull:`841`) by :user:`valeriupredoi`
Fixes for datasets
~~~~~~~~~~~~~~~~~~
- Fixing unit for derived variable rsnstcsnorm to prevent overcorrection2 (:pull:`846`) by :user:`katjaweigel`
- Cmip6 fix awi cm 1 1 mr (:pull:`822`) by :user:`mwjury`
- Cmip6 fix ec earth3 veg (:pull:`836`) by :user:`mwjury`
- Changed latitude longitude fix from Tas to AllVars. (:pull:`916`) by :user:`katjaweigel`
- Fix for precipitation (pr) to use ERA5-Land cmorizer (:pull:`879`) by :user:`katjaweigel`
- Cmip6 fix ec earth3 (:pull:`837`) by :user:`mwjury`
- Cmip6_fix_fgoals_f3_l_Amon_time_bnds (:pull:`831`) by :user:`mwjury`
- Fix for FGOALS-f3-L sftlf (:pull:`667`) by :user:`mwjury`
- Improve ACCESS-CM2 and ACCESS-ESM1-5 fixes and add CIESM and CESM2-WACCM-FV2 fixes for cl, clw and cli (:pull:`635`) by :user:`axel-lauer`
- Add fixes for cl, cli, clw and tas for several CMIP6 models (:pull:`955`) by :user:`schlunma`
- Dataset fixes for MSWEP (:pull:`969`) by :user:`stefsmeets`
- Dataset fixes for: ACCESS-ESM1-5, CanESM5, CanESM5 for carbon cycle (:pull:`947`) by :user:`bettina-gier`
- Fixes for KIOST-ESM (CMIP6) (:pull:`904`) by :user:`remi-kazeroni`
- Fixes for AWI-ESM-1-1-LR (CMIP6, piControl) (:pull:`911`) by :user:`remi-kazeroni`
CMOR standard
~~~~~~~~~~~~~
- CMOR check generic level coordinates in CMIP6 (:pull:`598`) by :user:`sloosvel`
- Update CMIP6 tables to 6.9.33 (:pull:`919`) by :user:`jvegreg`
- Adding custom variables for tas uncertainty (:pull:`924`) by :user:`LisaBock`
- Remove monotonicity coordinate check for unstructured grids (:pull:`965`) by :user:`jvegreg`
Preprocessor
~~~~~~~~~~~~
- Added clip_start_end_year preprocessor (:pull:`796`) by :user:`schlunma`
- Add support for downloading CMIP6 data with Synda (:pull:`699`) by :user:`bouweandela`
- Add multimodel tests using real data (:pull:`856`) by :user:`stefsmeets`
- Add plev/altitude conversion to extract_levels (:pull:`892`) by :user:`axel-lauer`
- Add possibility of custom season extraction. (:pull:`247`) by :user:`mwjury`
- Adding the ability to derive xch4 (:pull:`783`) by :user:`hb326`
- Add preprocessor function to resample time and compute x-hourly statistics (:pull:`696`) by :user:`jvegreg`
- Fix duplication in preprocessors DEFAULT_ORDER introduced in 696 (:pull:`973`) by :user:`jvegreg`
- Use consistent precision in multi-model statistics calculation and update reference data for tests (:pull:`941`) by :user:`Peter9192`
- Refactor multi-model statistics code to facilitate ensemble stats and lazy evaluation (:pull:`949`) by :user:`Peter9192`
- Add option to exclude input cubes in output of multimodel statistics to solve an issue introduced by 949 (:pull:`978`) by :user:`Peter9192`
Automatic testing
~~~~~~~~~~~~~~~~~
- Pin cftime>=1.3.0 to have newer string formatting in and fix two tests (:pull:`878`) by :user:`valeriupredoi`
- Switched miniconda conda setup hooks for Github Actions workflows (:pull:`873`) by :user:`valeriupredoi`
- Add test for latest version resolver (:pull:`874`) by :user:`stefsmeets`
- Update codacy coverage reporter to fix coverage (:pull:`905`) by :user:`nielsdrost`
- Avoid hardcoded year in tests and add improvement to plev test case (:pull:`921`) by :user:`bouweandela`
- Pin scipy to less than 1.6.0 until :issue:`927` gets resolved (:pull:`928`) by :user:`valeriupredoi`
- Github Actions: change time when conda install test runs (:pull:`930`) by :user:`valeriupredoi`
- Remove redundant test line from test_utils.py (:pull:`935`) by :user:`valeriupredoi`
- Removed netCDF4 package from integration tests of fixes (:pull:`938`) by :user:`schlunma`
- Use new conda environment for installing ESMValCore in Docker containers (:pull:`951`) by :user:`bouweandela`
Notebook API (experimental)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Implement importable config object in experimental API submodule (:pull:`868`) by :user:`stefsmeets`
- Add loading and running recipes to the notebook API (:pull:`907`) by :user:`stefsmeets`
- Add displaying and loading of recipe output to the notebook API (:pull:`957`) by :user:`stefsmeets`
- Add functionality to run single diagnostic task to notebook API (:pull:`962`) by :user:`stefsmeets`
Improvements
~~~~~~~~~~~~
- Create CODEOWNERS file (:pull:`809`) by :user:`jvegreg`
- Remove code needed for Python <3.6 (:pull:`844`) by :user:`bouweandela`
- Add requests as a dependency (:pull:`850`) by :user:`bouweandela`
- Pin Python to less than 3.9 (:pull:`870`) by :user:`valeriupredoi`
- Remove numba dependency (:pull:`880`) by :user:`schlunma`
- Add Listing and finding recipes to the experimental notebook API (:pull:`901`) by :user:`stefsmeets`
- Skip variables that don't have dataset or additional_dataset keys (:pull:`860`) by :user:`valeriupredoi`
- Refactor logging configuration (:pull:`933`) by :user:`stefsmeets`
- Xco2 derivation (:pull:`913`) by :user:`bettina-gier`
- Working environment for Python 3.9 (pin to !=3.9.0) (:pull:`885`) by :user:`valeriupredoi`
- Print source file when using config get_config_user command (:pull:`960`) by :user:`valeriupredoi`
- Switch to Iris 3 (:pull:`819`) by :user:`stefsmeets`
- Refactor tasks (:pull:`959`) by :user:`stefsmeets`
- Restore task summary in debug log after 959 (:pull:`981`) by :user:`bouweandela`
- Pin pre-commit hooks (:pull:`974`) by :user:`stefsmeets`
- Improve error messages when data is missing (:pull:`917`) by :user:`jvegreg`
- Set remove_preproc_dir to false in default config-user (:pull:`979`) by :user:`valeriupredoi`
- Move fiona to be installed from conda forge (:pull:`987`) by :user:`valeriupredoi`
- Re-added fiona in setup.py (:pull:`990`) by :user:`valeriupredoi`
.. _changelog-v2-1-0: