Changelog
v2.7.0
Highlights
This release has seen the inclusion of the code for figures 3.3, 3.4, 3.5, 3,13 and 3.15 of the IPCC AR6 WG1 report, see them in the new documentation
We have also included new diagnostics and recipe necessary to produce the plots and tables for the journal article “Climate model projections from the Scenario Model Intercomparison Project (ScenarioMIP) of CMIP6” by Tebaldi et al. in ESD 2020-68 from 2021; also see the recipe entry
We have also extended the support for MERRA2 observational dataset, by adding support for a large number of variables, including 3D variables, see the table of supported obs datasets
Backwards incompatible changes
Remove installation of R dependencies from the help message (#2761) Rémi Kazeroni
Bug fixes
Fix misplaced provenance records from IPCC AR5 Ch.12 diags (#2758) Axel Lauer
Fix esmvaltool.utils.testing.regression.compare module to run with Python<3.10 too (#2778) Valeriu Predoi
Fixed small bug that could lead to wrong pr units in monitor/multi_datasets.py (#2788) Manuel Schlund
Pin xgboost>1.6.1 so we avert documentation failing to build with 1.6.1 (#2780) Valeriu Predoi
Pin matplotlib-base<3.6.0 to avoid conflict from mapgenerator that fails doc builds (#2830) Valeriu Predoi
Fixed wrong latitudes in NDP CMORizer (#2832) Manuel Schlund
Fix indexer in Autoassess supermeans module use a tuple of (slice(), idx, idx) (#2838) Valeriu Predoi
Replace xarray ufuncs with bogstandard numpy in weighting/climwip/calibrate_sigmas.py (#2848) Valeriu Predoi
Fix units MERRA2 CMORizer (#2850) Axel Lauer
Fix bug when using log-scale y-axis for ocean transects. (#2862) Tomas Torsvik
Community
Add MO-paths to config file (#2784) mo-tgeddes
Deprecations
Recipe recipe_esacci_oc.yml replace with new regrid scheme nearest_extrapolate (#2841) Valeriu Predoi
Documentation
Update release schedule for v2.7 (#2747) Bouwe Andela
Add Met Office installation method (#2751) mo-tgeddes
Add release dates for 2023 (#2769) Rémi Kazeroni
Made maintainer entry mandatory for published recipes (#2703) Manuel Schlund
Use command with current command line opts for cffconvert in documentation (#2791) Valeriu Predoi
Update CMORizer documentation with command options (#2795) Rémi Kazeroni
Fixed broken link for monthly meetings (#2806) Rémi Kazeroni
Update MO obs4MIPs paths in the user configuration file (#2813) mo-tgeddes
Fix Windows incompatible file names in documentation of recipe_climate_change_hotspot.yml (#2823) Lee de Mora
Update documentation for the Landschuetzer 2016 recipe. (#2801) Tomas Torsvik
Fixed anaconda badge in README (#2866) Valeriu Predoi
Add documention on how to handle CMORizers for multiple dataset versions (#2730) Rémi Kazeroni
Extending documentation: recipe maintainer + broken recipe policy (#2719) Axel Lauer
Diagnostics
Recipe and diagnostics for : Tebaldi et al.,ESD, 2021 (#2052) debe-kevin
Figures for IPCC AR6 WG1 Chapter 3 (Atmosphere) (#2533) Lisa Bock
Observational and re-analysis dataset support
Update CERES-EBAF to Ed4.1 (#2752) Axel Lauer
New CMORizer for CALIPSO-ICECLOUD (#2753) Axel Lauer
New CMORizer for CLOUDSAT-L2 (#2754) Axel Lauer
Update MERRA2 cmorizer with extra 2D and 3D variables (#2774) Valeriu Predoi
Automatic testing
Pin netcdf4 != 1.6.1 since that is spitting large numbers of SegFaults (#2796) Valeriu Predoi
Installation
Increase esmvalcore version to 2.7.0 in environment files (#2860) Valeriu Predoi
Add iris-esmf-regrid as a dependency (#2880) Klaus Zimmermann
Improvements
Fix tebaldi21esd (#2749) Axel Lauer
Added option to show basic statistics in plots of monitor/multi_datasets.py (#2790) Manuel Schlund
Remove retracted datasets from recipe_climate_change_hotspot (#2854) sloosvel
v2.6.0
Highlights
A new monitoring diagnostic has been added to allow the comparison of model runs against reference datasets. For details, see Monitoring diagnostic to show multiple datasets in one plot (incl. biases).
A tool has been developed to compare the output of recipe runs against previous runs, in order to detect in an automatized way breaking changes between releases. Find more information in Comparing recipe runs.
The recipe Climate Change Hotspot allows to compute hotspots in any rectangular region.
Please also note the highlights from the corresponding ESMValCore release here. Thanks to that ESMValTool has gained the following features:
A new set of CMOR fixes is now available in order to load native EMAC model output and CMORize it on the fly.
The version number of ESMValCore is now automatically generated using setuptools_scm, which extracts Python package versions from git metadata.
This release includes
Bug fixes
Fix dtype for Marrmot recipe results (#2646) SarahAlidoost
Adapt test_fix_coords to new version of cf-units (#2707) Klaus Zimmermann
Fix nested axes in recipe_martin18_grl and recipe_li17natcc (#2712) Lukas
Update common_climdex_preprocessing_for_plots.R (#2727) Enrico Arnone
Community
Deprecations
Deprecate the function esmvaltool.diag_scripts.shared.var_name_constraint. 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. (#2655) Manuel Schlund
Documentation
Fixed broken label in the documentation (#2616) Rémi Kazeroni
Add readthedocs configuration file (#2627) Bouwe Andela
Update the command for building the documentation (#2622) Bouwe Andela
Added DKRZ-Levante to config-user-example.yml (#2632) Rémi Kazeroni
Improved documentation on native dataset support (#2635) Manuel Schlund
Add documentation on building and uploading Docker images (#2662) Bouwe Andela
Remove support for Mistral in config-user-example.yml (#2667) Rémi Kazeroni
Add note to clarify that CORDEX support is work in progress (#2682) Bouwe Andela
Restore accidentally deleted text from input data docs (#2683) Bouwe Andela
Add running settings note in recipe_wenzel16nat.yml documentation (#2692) sloosvel
Add a note on transferring permissions to the release manager (#2688) Bouwe Andela
Update documentation on ESMValTool module at DKRZ (#2696) Rémi Kazeroni
Add note on how to run recipe_wenzel14jgr.yml (#2717) sloosvel
Added conda forge feedstock repo link in README (#2555) Valeriu Predoi
Diagnostics
Compute bias instead of correlation in compare_salinity.py (#2642) sloosvel
Update monitor diagnostics (#2608) Manuel Schlund
Add new Psyplot diagnostic (#2653) Manuel Schlund
Reduce memory usage of lisflood recipe (#2634) Stefan Verhoeven
Provenance in ocean diagnostics (#2651) Tomas Lovato
Extend monitor diagnostics with multi-dataset plots (#2657) Manuel Schlund
Recipe and diagnostics to plot climate change hotspots: Cos et al., ESD 2022 (#2614) Pep Cos
Update plots of consecutive dry days recipe (#2671) Bouwe Andela
Fix the format of ids in Hype forcing files (#2679) SarahAlidoost
WFlow diagnostic script: remove manual rechunking (#2680) Peter Kalverla
Observational and re-analysis dataset support
Automatic testing
Add a tool for comparing recipe runs to previous runs (#2613) Bouwe Andela
Ignore NCL interface files when comparing recipe runs (#2673) Bouwe Andela
Add a short version of recipe deangelis15nat for testing (#2685) katjaweigel
Expanded recipe output comparison tool to better handle absolute paths in output (#2709) Manuel Schlund
Update development infrastructure (#2663) Bouwe Andela
Installation
Removed package/meta.yaml and all references to it (#2612) Manuel Schlund
Improvements
Improved handling of weights in MLR diagnostics (#2625) Manuel Schlund
Fixed order of variables in perfemetrics plot of Anav13jclim recipe (#2706) Manuel Schlund
Added input file sorting to many diagnostic to make output exactly reproducible (#2710) Manuel Schlund
Removed ‘ancestors’ attributes before saving netcdf files in emergent constraints diagnostics (#2713) Manuel Schlund
v2.5.0
Highlights
A new recipe to plot generic preprocessor output is now available. For details, see Monitor.
The CMORization of observational and other datasets has been overhauled. For many datasets, an automatic download script is now available. For details, see Observations and Writing a CMORizer script for an additional dataset.
Please also note the highlights from the corresponding ESMValCore release here. Thanks to that ESMValTool has gained the following features:
The new preprocessor
extract_location
can extract arbitrary locations on the Earth.Time ranges can now be extracted using the ISO 8601 format.
The new preprocessor
ensemble_statistics
can calculate arbitrary statitics over all ensemble members of a simulation.
This release includes
Backwards incompatible changes
Streamline observations download (#1657) Javier Vegas-Regidor. This change removes the
cmorize_obs
command which has previously been used to CMORize observations and other datasets. The new commandesmvaltool data
provides many new features apart from the CMORization (esmvaltool data format
), for example, automatic downloading of observational datasets (esmvaltool data download
). More details on this can be found here and here.Dropped Python 3.7 (#2585) Manuel Schlund. ESMValTool v2.5.0 dropped support for Python 3.7. From now on Python >=3.8 is required to install ESMValTool. 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
Remove the use of esmvalgroup channel from the conda install Github Action workflow (#2420) Valeriu Predoi
Ignore .pymon-journal file in test discovery (#2491) Klaus Zimmermann
Relocate pytest-monitor outputted database .pymon so .pymon-journal file should not be looked for by pytest (#2501) Valeriu Predoi
Re-establish Python 3.7 compatibility (#2506) Klaus Zimmermann
Update intersphinx mapping (#2531) Klaus Zimmermann
Fixed KeyError in recipe_ocean_bgc.yml (#2540) Manuel Schlund
Corrected ESACCI-SEA-SURFACE-SALINITY from OBS to OBS6 (#2542) Axel Lauer
Fixed recipe_kcs.yml (#2541) Manuel Schlund
Fix MDER diagnostic regression_stepwise (#2545) Axel Lauer
Fix for recipe_wenzel16nat (#2547) Axel Lauer
Fixed recipe_carvalhais14nat and removed deprecated use of np.float (#2558) Manuel Schlund
Fix recipe_wenzel14jgr (#2577) Rémi Kazeroni
Fixed various recipes by removing faulty or non-available datasets (#2563) Manuel Schlund
Remove missing CMIP5 data from 2 recipes (#2579) Rémi Kazeroni
Fix recipe_seaice (#2578) Rémi Kazeroni
Fix recipe_climwip_brunner20esd (#2581) Rémi Kazeroni
Deprecations
Remove –use-feature=2020-resolver command line option for obsolete pip 2020 solver (#2493) Valeriu Predoi
Renamed vertical regridding schemes in affected recipes (#2487) Manuel Schlund
Documentation
Update release manager for v2.5 (#2429) Axel Lauer
Mention ENES Climate Analytics service (#2438) Bouwe Andela
Add recipe overview page (#2439) Bouwe Andela
Fix pointer to Tutorial lesson on preprocessor from 05 to 06 (#2473) Valeriu Predoi
Removed obsolete option synda-download from documentation (#2485) Manuel Schlund
Update CMUG XCH4 docu figure (#2502) Axel Lauer
Add Python=3.10 to package info, update Circle CI auto install and documentation for Python=3.10 (#2503) Manuel Schlund
Unify user configuration file (#2507) Manuel Schlund
Synchronized config-user.yml with version from ESMValCore (#2516) Manuel Schlund
CITATION.cff fix and automatic validation of your citation metadata (#2517) Abel Siqueira
Add backwards incompatible changes at the top of the release notes draft (#2431) Bouwe Andela
Fixed intersphinx mapping of scipy (#2523) Manuel Schlund
Add authors to citation cff (#2525) SarahAlidoost
Update documentation on running a recipe (#2432) Bouwe Andela
Fix recipe hydrology/recipe_wflow.yml (#2549) Rémi Kazeroni
Update draft_release_notes.py for new release (#2553) Manuel Schlund
Added stand with Ukraine badge (#2565) Valeriu Predoi
Updated CREM docu (recipe_williams09climdyn.yml) (#2567) Axel Lauer
First draft for v2.5.0 changelog (#2554) Manuel Schlund
Replace nonfunctional Github Actions badge with cool one in README (#2582) Valeriu Predoi
Updated changelog (#2589) Manuel Schlund
Updated release strategy with current release and upcoming release (#2597) Manuel Schlund
Increased ESMValTool version to 2.5.0 (#2600) Manuel Schlund
Diagnostics
AutoAssess: Add new diagnostic for radiation budget (#2282) Jon Lillis
CMUG Sea Surface Salinity dataset and diagnostic (#1832) Javier Vegas-Regidor
Recipe with new diagnostics for ESA-CMUG H2O (#1834) katjaweigel
Cleaned Schlund et al. (2020) recipe and fixed small bugs in corresponding diagnostic (#2484) Manuel Schlund
XCH4 ESA CMUG diagnostics (subset of the MPQB diagnostics) (#1960) Birgit Hassler
Add support for ESACCI Ocean Color (Chlorophyll) observations (#2055) ulrikaw-cloud
Updated recipe_zmnam.yml with hemisphere selection (#2230) fserva
Add recipe and diagnostic scripts to compute figures of D9.4 of ISENES3 (#2441) sloosvel
Save resampled climates from KCS diagnostic local_resampling.py (#2221) Emma Daniels
Use years from KCS recipe (#2223) Emma Daniels
Recipe to plot generic output from the preprocessor (#2184) Javier Vegas-Regidor
Fixed provenance tracking for emergent constraint diagnostics (#2573) Manuel Schlund
Observational and re-analysis dataset support
Ensure dummy data for cmorize_obs_woa test are written to the correct directory (#2451) Emma Hogan
Add ESA CCI LST cmorizer and diagnostic (see previous section Diagnostics)
Automatic testing
Run a nightly Github Actions workflow to monitor tests memory per test (configurable for other metrics too) and lists the slowest 100 tests (#2449) Valeriu Predoi
Fix individual pytest runs broken due to missing explicit imports from iris and adding a couple missing package markers (#2455) Valeriu Predoi
Add Python=3.10 to Github Actions and switch to Python=3.10 for the Github Action that builds the PyPi package (#2488) Valeriu Predoi
Switch all github actions from miniconda to mambaforge (#2498) Klaus Zimmermann
Pin flake8<4 to have actual FLAKE8 error printed if tests fail and not garbage (#2492) Valeriu Predoi
Implementing conda lock (#2193) Valeriu Predoi
[Docker] Update Docker container builds with correct installations of Julia (#2530) Valeriu Predoi
Update Linux condalock file (various pull requests) github-actions[bot]
Installation
Comment out release candidate channel in environment.yml (#2417) Klaus Zimmermann
Comment out rc channel in osx environment file (#2421) Valeriu Predoi
Add python-cdo as conda-forge dependency in environment files to ensure cdo gets used from conda-forge and not pip (#2469) Valeriu Predoi
Install rasterio from conda-forge and avoid issues from python=3.10 (#2479) Valeriu Predoi
Updated dependencies with new ESMValCore version (#2599) Manuel Schlund
Improvements
Remove use of OBS and use CMIP instead in examples/recipe_ncl.yml (#2494) Valeriu Predoi
Expanded recipe_preprocessor_test.yml to account for new multi_model_statistics features (#2519) Manuel Schlund
Updated piControl periods for recipes that use KACE-1-0-G (#2537) Manuel Schlund
Reduced time range in recipe_globwat.yml (#2548) Manuel Schlund
Removed models with missing data from recipe_williams09climdyn.yml (#2566) Axel Lauer
Restored original versions of recipe_schlund20esd.yml and recipe_meehl20sciadv.yml (#2583) Manuel Schlund
v2.4.0
Highlights
ESMValTool is moving from Conda to Mamba as the preferred installation method. This will speed up the installation and comes with some improvements behind the scenes. Read more about it at Move to Mamba and in the installation guide.
Please also note the highlights from the corresponding ESMValCore release here. Thanks to that ESMValTool has gained the following features:
Download any missing data that is available on the ESGF automatically.
Resume previous runs, reusing expensive pre-processing results.
This release includes
Bug fixes
Fixed recipe_meehl20sciadv.yml for ESMValCore 2.3 (#2253) Manuel Schlund
Fix provenance of NCL figures created using the log_provenance function (#2279) Bouwe Andela
Fix bug in ClimWIP brunner19 recipe when plotting (#2226) Lukas Brunner
Pin docutils <0.17 to fix sphinx build with rtd theme (#2312) Klaus Zimmermann
Fix example recipes (#2338) Valeriu Predoi
Do not add bounds to plev (plev19) in era interim cmorizer (#2328) Valeriu Predoi
Fix problem with pip 21.3 that prevents installation from source (#2344) Klaus Zimmermann
Add title to recipe embedded in test_diagnostic_run.py (#2353) Klaus Zimmermann
Fix capitalization of obs4MIPs (#2368) Bouwe Andela
Specify that areacella is needed for area statistics in the Python example recipe (#2371) Bouwe Andela
Enabling variable obs550lt1aer in recipes (#2388) Rémi Kazeroni
Update a diagnostic to new Iris version (#2390) katjaweigel
Fixed bug in provenance tracking of ecs_scatter.ncl (#2391) Manuel Schlund
Fix provenance issue in pv_capacity_factor.R (#2392) katjaweigel
Remove obsolete write_plots option from R diagnostics (#2395) Klaus Zimmermann
Fix arctic ocean diagnostic (#2397) Klaus Zimmermann
Adapt diagnostic script to new version of iris (#2403) Klaus Zimmermann
Fix ocean multimap (#2406) Klaus Zimmermann
Fix diagnostic that uses xarray: dtype correctly set and harmonize xarray and matplotlib (#2409) Klaus Zimmermann
Deactivate provenance logging for plots in thermodyn toolbox (#2414) Klaus Zimmermann
Deprecations
Removed write_plots and write_netcdf from some NCL diagnostics (#2293) Manuel Schlund
Fixed provenance logging of all python diagnostics by removing ‘plot_file’ entry (#2296) Manuel Schlund
Do not deprecate classes Variable, Variables and Datasets on a specific version (#2286) Manuel Schlund
Remove obsolete write_netcdf option from ncl diagnostic scripts (#2387) Klaus Zimmermann
Remove write plots from ocean diagnostics (#2393) Valeriu Predoi
More removals of instances of write_plots from Python diagnostics (appears to be the final removal from Py diags) (#2394) Valeriu Predoi
Documentation
List Manuel Schlund as release manager for v2.5 (#2268) Bouwe Andela
GlobWat fix download links and gdal command (#2334) Banafsheh Abdollahi
Add titles to recipes authored by predoi_valeriu (#2333) Valeriu Predoi
Added titles to recipes maintained by lauer_axel (#2332) Axel Lauer
Update the documentation of the GRACE CMORizer (#2349) Rémi Kazeroni
Update esmvalcore dependency to 2.4.0rc1 (#2348) Klaus Zimmermann
Add titles to recipes maintained by Peter Kalverla (#2356) Peter Kalverla
Adding titles to the recipes with maintainer hb326 (#2358) Birgit Hassler
Added recipe titles the the ocean recipes. (#2364) Lee de Mora
Update recipe_thermodyn_diagtool.yml - add title (#2365) ValerioLembo
Fix provenance of figures of several R diagnostics (#2300) Bouwe Andela
Adding titles to Mattia’s recipes (#2367) Rémi Kazeroni
Adding titles to wenzel recipes (#2366) Birgit Hassler
Fix formatting of some recipe titles merged from PR 2364 (#2372) Klaus Zimmermann
Adding titles to Bjoern’s recipes (#2369) Rémi Kazeroni
Add titles to ocean recipes (maintainer Lovato) (#2375) Tomas Lovato
Add titles for three c3s-magic recipes (#2378) Klaus Zimmermann
Add title for recipe maintained by Ruth Lorenz (#2379) Klaus Zimmermann
Fix toymodel recipe (#2381) Javier Vegas-Regidor
Added titles for recipes of maintainer schlund_manuel (#2377) Manuel Schlund
Write_plots and titles for deangelis15nat, li17natcc, martin18grl, pv_capacity_factor (#2382) katjaweigel
Add titles for some recipes (#2383) Klaus Zimmermann
Adding titles for recipes by von Hardenberg and Arnone (#2384) Klaus Zimmermann
Last two missing titles (#2386) Valeriu Predoi
Update documentation on downloading data (#2370) Bouwe Andela
Fix installation instructions for Julia (#2335) Klaus Zimmermann
Fix provenance of Julia example diagnostic (#2289) Bouwe Andela
Added notes on use of mamba in the installation documentation chapter (#2236) Valeriu Predoi
Update version number for 2.4.0 release (#2410) Klaus Zimmermann
Update release schedule for 2.4.0 (#2412) Klaus Zimmermann
Update changelog for 2.4.0 release (#2411) Klaus Zimmermann
Diagnostics
Add all available CMIP5 and CMIP6 models to recipe_impact.yml (#2251) Bouwe Andela
Generalize recipe_validation* diagnostic to work with identical control and experiment dataset names (#2284) Valeriu Predoi
Add missing preprocessor to recipe_gier2020bg and adapt to available data (#2399) Bettina Gier
Removed custom version of AtmosphereSigmaFactory in diagnostics (#2405) Manuel Schlund
Observational and re-analysis dataset support
Replace recipe_era5.yml with recipe_daily_era5.yml (#2182) SarahAlidoost
GLODAP v2.2016 ocean data cmorizer (#2185) Tomas Lovato
Updated GCP CMORizer (#2295) Manuel Schlund
Automatic testing
Add a cylc suite to run all recipes (#2219) Bouwe Andela
Retire test with Python 3.6 from full development Github Actions test (#2229) Valeriu Predoi
Remove Python 3.6 tests from GitHub Actions (#2264) Valeriu Predoi
Unpin upper bound for iris (previously was at <3.0.4) (#2266) Valeriu Predoi
Pin latest esmvalcore to allow use of the bugfix release 2.3.1 always (#2269) Valeriu Predoi
Add apt update so Julia gets found and installed by Docker (#2290) Valeriu Predoi
Use mamba for environment update and creation in the Docker container build on DockerHub (#2297) Valeriu Predoi
Docker container experimental - run a full env solve with mamba instead of a conda update (#2306) Valeriu Predoi
Full use of mamba in Github Actions source install test and use generic Python 3.7 (removing the very specific 3.7.10) (#2287) Valeriu Predoi
Replace use of conda with mamba for conda_install test on Circle CI (#2237) Valeriu Predoi
Update circleci configuration (#2357) Klaus Zimmermann
Installation
Remove mpich from conda dependencies list (#2343) Valeriu Predoi
Improvements
Add script for extracting a list of input files from the provenance (#2278) Bouwe Andela
Update github actions (#2360) Klaus Zimmermann
Removed ‘write_plots’ from all NCL diagnostics (#2331) Axel Lauer
Update and modernize config-user-example.yml (#2374) Valeriu Predoi
v2.3.0
This release includes
Bug fixes
Indent block to pick up and raise exception if cmorizer data not found (TierX dir is not there) (#1877) Valeriu Predoi
Skip recipe filler tests until we have a new release since GA tests are failing (#2089) Valeriu Predoi
Fixed broken link to contributions in README (#2102) Manuel Schlund
Fix recipe filler for the case the variable doesn’t contain short_name (#2104) Valeriu Predoi
Add fix for iris longitude bug to ClimWIP (#2107) Lukas Brunner
Update for outdated link to reference Déandreis et al. (2014). (#2076) katjaweigel
Fixed recipes for ESMValCore 2.3.0 (#2203) Manuel Schlund
Fix the WFDE5 cmorizer (#2211) Rémi Kazeroni
Fix broken CMORizer log message if no Tier directory exists (#2207) jmrgonza
Fix bug in ClimWIP basic test recipe when plotting (#2225) Lukas Brunner
Fix bug in ClimWIP advanced test recipe when plotting (#2227) Lukas Brunner
Adjust time range for the WDFE5 dataset in the recipe_check_obs.yml (#2232) Rémi Kazeroni
Fix plot and provenance of recipe_consecdrydays (#2244) Bouwe Andela
Documentation
Improving the README.md file with a more appealing look and bit more info (#2065) Valeriu Predoi
Update plot title martin18grl (#2080) katjaweigel
Update contribution guidelines (#2031) Bouwe Andela
Update links in pull request template to point to latest documentation (#2083) Bouwe Andela
Update release schedule (#2081) Bouwe Andela
Updates to contribution guidelines (#2092) Bouwe Andela
Update documentation for ERA5 with new variables (#2111) Lukas Brunner
Add OSX installation instructions to docs (#2115) Barbara Vreede
Instructions to use pre-installed versions on HPC clusters (#2197) Rémi Kazeroni
Add functional Autoassess diagnostics: land surface metrics: permafrost, soil moisture, surface radiation (#2170) Valeriu Predoi
Add citation info in recipe_eady_growth_rate.yml (#2188) sloosvel
Update version number to 2.3.0 (#2213) Klaus Zimmermann
Update release schedule for 2.3.0 (#2247) Klaus Zimmermann
Changelog update to v2.3.0 (#2214) Klaus Zimmermann
Diagnostics
Added figures 8 and 10 to recipe_bock20jgr.yml (#2074) Manuel Schlund
Add hydrological forcing comparison recipe (#2013) Stef Smeets
Added recipe for Meehl et al., Sci. Adv. (2020) (#2094) Manuel Schlund
Add GlobWat recipe and diagnostic (#1808) Banafsheh Abdollahi
Add ClimWIP recipe to reproduce Brunner et al. 2019 (#2109) Lukas Brunner
Update Climwip recipe to reproduce brunner2020esd (#1859) Ruth Lorenz
Update recipe_thermodyn_diagtool.yml: code improvements and more user options (#1391) ValerioLembo
Remove model AWI-CM-1-1-MR from recipe_impact.yml (#2238) Bouwe Andela
PV capacity factor for ESMValTool GMD paper (#2153) katjaweigel
Observational and re-analysis dataset support
Make cmorizer utils funcs public in utilities.py and add some numpy style docstrings (#2206) Valeriu Predoi
CMORizer for CLARA-AVHRR cloud data (#2101) Axel Lauer
Update of ESACCI-CLOUD CMORizer (#2144) Axel Lauer
Automatic testing
Force latest Python in empty environment in conda install CI test (#2069) Valeriu Predoi
Removed imports from private sklearn modules and improved test coverage of custom_sklearn.py (#2078) Manuel Schlund
Move private _(global)_stock_cube from esmvacore.preprocessor._regrid to cmorizer (#2087) Valeriu Predoi
Try mamba install esmvaltool (#2125) Valeriu Predoi
Reinstate OSX Github Action tests (#2110) Valeriu Predoi
Pin mpich to avoid default install of 3.4.1 and 3.4.2 with external_0 builds (#2220) Valeriu Predoi
Include test sources in distribution (#2234) Klaus Zimmermann
Pin iris<3.0.4 to ensure we still (sort of) support Python 3.6 (#2246) Valeriu Predoi
Installation
Fix conda build by skipping documentation test (#2058) Javier Vegas-Regidor
Update pin on esmvalcore pick up esmvalcore=2.3.0 (#2200) Valeriu Predoi
Pin Python to 3.9 for development installation (#2208) Bouwe Andela
Improvements
Add EUCP and IS-ENES3 projects to config-references (#2066) Peter Kalverla
Fix flake8 tests on CircleCI (#2070) Bouwe Andela
Added recipe filler. (#1707) Lee de Mora
Add recipe for climate impact research (#2072) Peter Kalverla
Update references “master” to “main” (#2172) Axel Lauer
Force git to ignore VSCode workspace files (#2186) Javier Vegas-Regidor
Update to new ESMValTool logo (#2168) Axel Lauer
Python cmorizers for CDR1 and CDR2 ESACCI H2O (TCWV=prw) data. (#2152) katjaweigel
Remove obsolete conda package (closes #2100) (#2103) Klaus Zimmermann
v2.2.0
Highlights
ESMValTool 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 includes
Bug fixes
Bugfix: time weights in time_operations (#1956) Axel Lauer
Fix issues with bibtex references (#1955) Stef Smeets
Fix ImportError for configure_logging (#1976) Stef Smeets
Add required functional parameters for extract time in recipe_er5.yml (#1978) Valeriu Predoi
Revert “Fix ImportError for configure_logging” (#1992) Bouwe Andela
Fix import of esmvalcore _logging module in cmorize_obs.py (#2020) Valeriu Predoi
Fix logging import in cmorize_obs again since last merge was nulled by pre-commit hooks (#2022) Valeriu Predoi
Refactor the functions in derive_evspsblpot due to new iris (#2023) SarahAlidoost
Avoid importing private ESMValCore functions in CMORizer (#2027) Bouwe Andela
Fix extract_seasons in validation recipe (#2054) Javier Vegas-Regidor
Deprecations
Deprecate classes Variable, Variables and Datasets (#1944) Manuel Schlund
Python 3.9: remove pynio as dependency and replace with rasterio and pin Matplotlib>3.3.1 and pin cartopy>=0.18 (#1997) Valeriu Predoi
Removed write_plots and write_netcdf in some python diagnostics (#2036) Manuel Schlund
Documentation
Update instructions on making a release (#1867) Bouwe Andela
Update review.rst (#1917) Axel Lauer
Add guidance on how to review a pull request (#1872) Bouwe Andela
Adding tutorial links to documentation (#1927) Birgit Hassler
Added bibtex file for schlund20jgr (#1928) Manuel Schlund
Documentation contact added the actual email for the mailing list (#1938) Valeriu Predoi
Make CircleCI badge specific to main branch (#1831) Bouwe Andela
Documentation on how to move code from a private repository to a public repository (#1920) Birgit Hassler
Refine pull request review guidelines (#1924) Stef Smeets
Update release schedule (#1948) Klaus Zimmermann
Improve contact info and move to more prominent location (#1950) Bouwe Andela
Add some maintainers to some recipes that are missing them (#1970) Valeriu Predoi
Update core team info (#1973) Axel Lauer
Combine installation from source instructions and add common issues (#1971) Bouwe Andela
Update iris documentation URL for sphinx (#2003) Bouwe Andela
Fix iris documentation link(s) with new iris3 location on readthedocs (#2012) Valeriu Predoi
Document how to run tests for installation verification (#1847) Valeriu Predoi
List Remi Kazeroni as a code owner and sole merger of CMORizers (#2017) Bouwe Andela
Install documentation: mention that we build conda package with python>=3.7 (#2030) Valeriu Predoi
Recipe and documentation update for ERA5-Land. (#1906) katjaweigel
Update changelog and changelog tool for v2.2.0 (#2043) Javier Vegas-Regidor
Final update to the changelog for v2.2.0 (#2056) Javier Vegas-Regidor
Diagnostics
Add mapplot diagnostic to ClimWIP (#1864) Lukas Brunner
Add the option to weight variable groups in ClimWIP (#1856) Lukas Brunner
Implementation of ensemble member recognition to the ClimWIP diagnostic (#1852) Lukas Brunner
Restructure ClimWIP (#1919) Lukas Brunner
Diagnostic for recipe_eyring13jgr.yml Fig. 12 (#1922) Lisa Bock
Added changes in shared functions necessary for schlund20esd (#1967) Manuel Schlund
Adding recipe and diagnostics for Gier et al 2020 (#1914) Bettina Gier
Added recipe, diagnostics and documentation for Schlund et al., ESD (2020) (#2015) Manuel Schlund
Implement shape parameter calibration for ClimWIP (#1905) Lukas Brunner
Observational and re-analysis dataset support
Extended ESRL cmorizer (#1937) Bettina Gier
Cmorizer for latest ESACCI-SST data (#1895) Valeriu Predoi
Fix longitude in ESRL cmorizer (#1988) Bettina Gier
Selectively turn off fixing bounds for coordinates during cmorization with utilities.py (#2014) Valeriu Predoi
Fix flake8 raised by develop test in cmorize_obs_gpcc.py (#2038) Valeriu Predoi
Automatic testing
Switched miniconda conda setup hooks for Github Actions workflows (#1913) Valeriu Predoi
Fix style issue (#1929) Bouwe Andela
Fix mlr test with solution that works for CentOS too (#1936) Valeriu Predoi
Temporary deactivation Github Actions on OSX (#1939) Valeriu Predoi
Fix conda installation test on CircleCI (#1952) Bouwe Andela
Github Actions: change time for cron job that installs from conda (#1969) Valeriu Predoi
CI upload relevant artifacts for test job (#1999) Valeriu Predoi
Github Actions test that runs with the latest ESMValCore main (#1989) Valeriu Predoi
Introduce python 39 in Github Actions tests (#2029) Valeriu Predoi
Remove test for conda package installation on Python 3.6 (#2033) Valeriu Predoi
Update codacy coverage reporter to fix coverage (#2039) Bouwe Andela
Installation
Simplify installation of R development dependencies (#1930) Bouwe Andela
Fix docker build (#1934) Bouwe Andela
Use new conda environment for installing ESMValTool in Docker containers (#1993) Bouwe Andela
Fix conda build (#2026) Bouwe Andela
Improvements
Allow multiple references for a cmorizer script (#1953) SarahAlidoost
Add GRACE to the recipe check_obs (#1963) Rémi Kazeroni
Align ESMValTool to ESMValCore=2.2.0 (adopt iris3, fix environment for new Core release) (#1874) Stef Smeets
Make it possible to use write_plots and write_netcdf from recipe instead of config-user.yml (#2018) Bouwe Andela
Revise lisflood and hype recipes (#2035) SarahAlidoost
Set version to 2.2.0 (#2042) Javier Vegas-Regidor
v2.1.1
This release includes
Improvements
Fix the conda build on CircleCI (#1883) Bouwe Andela
Pin matplotlib to <3.3 and add compilers (#1898) Bouwe Andela
Pin esmvaltool subpackages to the same version and build as the esmvaltool conda package (#1899) Bouwe Andela
Documentation
Release notes v2.1.1 (#1932) Valeriu Predoi
v2.1.0
This release includes
Diagnostics
Add extra steps to diagnostic to make output of hydrology/recipe_lisflood.yml usable by the LISFLOOD model (#1737) Jaro Camphuijsen
Recipe to reproduce the 2014 KNMI Climate Scenarios (kcs). (#1667) Peter Kalverla
Implement the climwip weighting scheme in a recipe and diagnostic (#1648) Jaro Camphuijsen
Remove unreviewed autoassess recipes (#1840) Valeriu Predoi
Changes in shared scripts for Schlund et al., JGR: Biogeosciences, 2020 (#1845) Manuel Schlund
Updated derivation test recipe (#1790) Manuel Schlund
Support for multiple model occurrence in perf main (#1649) Bettina Gier
Add recipe and diagnostics for Schlund et al., JGR: Biogeosciences, 2020 (#1860) Manuel Schlund
Adjust recipe_extract_shape.yml to recent changes in the example diagnostic.py (#1880) Bouwe Andela
Documentation
Add pip installation instructions (#1783) Bouwe Andela
Add installation instruction for R and Julia dependencies tot pip install (#1787) Bouwe Andela
Avoid autodocsumm 0.2.0 and update documentation build dependencies (#1794) Bouwe Andela
Add more information on working on cluster attached to ESGF node (#1821) Bouwe Andela
Add release strategy to community documentation (#1809) Klaus Zimmermann
Update esmvaltool run command everywhere in documentation (#1820) Bouwe Andela
Add more info on documenting a recipe (#1795) Bouwe Andela
Improve the Python example diagnostic and documentation (#1827) Bouwe Andela
Improve description of how to use draft_release_notes.py (#1848) Bouwe Andela
Update changelog for release 2.1 (#1886) Valeriu Predoi
Improvements
Fix R installation in WSL (#1789) Javier Vegas-Regidor
Add pre-commit for linting/formatting (#1796) Stef Smeets
Speed up tests on CircleCI and use pytest to run them (#1804) Bouwe Andela
Move pre-commit excludes to top-level and correct order of lintr and styler (#1805) Stef Smeets
Remove isort setup to fix formatting conflict with yapf (#1815) Stef Smeets
GitHub Actions (#1806) Valeriu Predoi
Fix yapf-isort import formatting conflict (#1822) Stef Smeets
Replace vmprof with vprof as the default profiler (#1829) Bouwe Andela
Update ESMValCore v2.1.0 requirement (#1839) Javier Vegas-Regidor
Pin iris to version 2 (#1881) Bouwe Andela
Pin eccodes to not use eccodes=2.19.0 for cdo to work fine (#1869) Valeriu Predoi
Increase version to 2.1.0 and add release notes (#1868) Valeriu Predoi
Github Actions Build Packages and Deploy tests (conda and PyPi) (#1858) Valeriu Predoi
Observational and re-analysis dataset support
Added CMORizer for Scripps-CO2-KUM (#1857) Manuel Schlund
v2.0.0
This release includes
Bug fixes
Fix pep8-naming errors and fix zmnam diagnostic (#1702) Bouwe Andela
Fix keyword argument in cmorize_obs (#1721) Mattia Righi
Fixed JMA-TRANSCOM CMORizer (#1735) Manuel Schlund
Fix small errors in the arctic_ocean diagnostic (#1722) Nikolay Koldunov
Flatten ancestor lists for diag_spei.R and diag_spi.R. (#1745) katjaweigel
Fix for recipe_ocean_ice_extent.yml (#1744) Mattia Righi
Fix recipe_combined_indices.yml provenance (#1746) Javier Vegas-Regidor
Fix provenance in recipe_multimodel_products (#1747) Javier Vegas-Regidor
Exclude FGOALS-g2 due to ESMValCore issue #728 (#1749) Mattia Righi
Fix recipe_modes_of_variability (#1753) Javier Vegas-Regidor
Flatten lists for ancestors for hyint to prevent nested lists. (#1752) katjaweigel
Fix bug in cmorize_obs_eppley_vgpm_modis.py (#1729) (#1759) Tomas Lovato
Correct mip for clltkisccp in example derive preprocessor recipe (#1768) Bouwe Andela
Update date conversion in recipe_hype.yml (#1769) Bouwe Andela
Fix recipe_correlation.yml (#1767) Bouwe Andela
Add attribute positive: down to plev coordinate in ERA-Interim CMORizer (#1771) Bouwe Andela
Fix sispeed in recipe_preprocessor_derive_test (#1772) Javier Vegas-Regidor
Fix extreme events and extreme index ancestors (#1774) katjaweigel
Correct date in output filenames of ERA5 CMORizer recipe (#1773) Bouwe Andela
Exclude WOA from multi-model stats in recipe_ocean_bgc (#1778) Mattia Righi
Diagnostics
Enhancement of the hyint recipe to include etccdi indices (#1133) Enrico Arnone
Add lazy regridding for wflow diagnostic (#1630) Bouwe Andela
Miles default domains to include lat=0 (#1626) Jost von Hardenberg
Miles: selection of reference dataset based on experiment (#1632) Jost von Hardenberg
New recipe/diagnostic: recipe_li17natcc.yml for Axels GMD Paper (#1567) katjaweigel
New recipe/diagnostics: recipe_deangelis_for_gmdpart4.yml for Axels GMD Paper (#1576) katjaweigel
EWaterCycle: Add recipe to prepare input for LISFLOOD (#1298) Stefan Verhoeven
Use area weighted regridding in wflow diagnostic (#1643) Bouwe Andela
Workaround for permetrics recipe until Iris3 (#1674) Mattia Righi
Additional Land perfmetrics (#1641) Bettina Gier
Necessary diagnostic from eyring06jgr for the release of version2 (#1686) Birgit Hassler
Drought characteristics based on Martin2018 and SPI for gmd paper (#1689) katjaweigel
Additional features and bugfixes for recipe anav13clim (#1723) Bettina Gier
Gmd laueretal2020 revisions (#1725) Axel Lauer
IPCC AR5 fig. 9.3 (seasonality) (#1726) Axel Lauer
Added additional emergent constraints on ECS (#1585) Manuel Schlund
A diagnostic to evaluate the turnover times of land ecosystem carbon (#1395) koir-su
Removed multi_model_statistics step in recipe_oceans_example.yml as a workaround (#1779) Valeriu Predoi
Documentation
Extend getting started instructions to obtain config-user.yml (#1642) Peter Kalverla
Extend information about native6 support on RTD (#1652) Peter Kalverla
Update citation of ESMValTool paper in the doc (#1664) Mattia Righi
Updated references to documentation (now docs.esmvaltool.org) (#1679) Axel Lauer
Replace dead link with ESGF link. (#1681) Mattia Righi
Add all European grants to Zenodo (#1682) Bouwe Andela
Update Sphinx to v3 or later (#1685) Bouwe Andela
Small fix to number of models in ensclus documentation (#1691) Jost von Hardenberg
Move draft_release_notes.py from ESMValCore to here and update (#1701) Bouwe Andela
Improve the installation instructions (#1634) Valeriu Predoi
Improve description of how to implement provenance in diagnostic (#1750) SarahAlidoost
Update command line interface documentation and add links to ESMValCore configuration documentation (#1776) Bouwe Andela
Documentation on how to find shapefiles for hydrology recipes (#1777) Jaro Camphuijsen
Improvements
Pin flake8<3.8.0 (#1635) Valeriu Predoi
Update conda package path in more places (#1636) Bouwe Andela
Remove curly brackets around issue number in pull request template (#1637) Bouwe Andela
Fix style issue in test (#1639) Bouwe Andela
Update Codacy badges (#1662) Bouwe Andela
Support extra installation methods in R (#1360) Javier Vegas-Regidor
Add ncdf4.helpers package as a dependency again (#1678) Bouwe Andela
Speed up conda installation (#1677) Bouwe Andela
Update CMORizers and recipes for ESMValCore v2.0.0 (#1699) SarahAlidoost
Update setup.py for PyPI package (#1700) Bouwe Andela
Cleanup recipe headers before the release (#1740) Mattia Righi
Add colortables as esmvaltool subcommand (#1666) Javier Vegas-Regidor
Increase version to v2.0.0 (#1756) Bouwe Andela
Update job script (#1757) Mattia Righi
Read authors and description from .zenodo.json (#1758) Bouwe Andela
Update docker recipe to install from source (#1651) Javier Vegas-Regidor
Observational and re-analysis dataset support
Respectable testing for cmorizers/obs/utilities.py and cmorizers/obs/cmorize_obs.py (#1517) Valeriu Predoi
Fix start year in recipe_check_obs (#1638) Mattia Righi
Cmorizer for the PERSIANN-CDR precipitation data (#1633) Birgit Hassler
Added monthly mean vars (ta, va, zg) to era5 cmorizer via recipe (#1644) Evgenia Galytska
Make format time check more flexible (#1661) Mattia Righi
Exclude od550lt1aer from recipe_check_obs.yml (#1720) Mattia Righi
PERSIANN-CDR cmorizer update: adding the capability to save monthly mean files (#1728) Birgit Hassler
Add standard_name attribute to lon and lat in cmorize_obs_esacci_oc.py (#1760) Tomas Lovato
Allow for incomplete months on daily frequency in cmorizer ncl utilities (#1754) Mattia Righi
Fix AURA-TES cmorizer (#1766) Mattia Righi
v2.0.0b4
This release includes
Bug fixes
Fix HALOE plev coordinate (#1590) Mattia Righi
Fix tro3 units in HALOE (#1591) Mattia Righi
Diagnostics
Applicate sea ice negative feedback (#1299) Javier Vegas-Regidor
Add Russell18jgr ocean diagnostics (#1592) Bouwe Andela
Refactor marrmot recipe and diagnostic to use ERA5 daily data made by new cmorizer (#1600) SarahAlidoost
In recipe_wflow, use daily ERA5 data from the new cmorizer. (#1599) Peter Kalverla
In wflow diagnostic, calculate PET after(!) interpolation and lapse rate correction (#1618) Jerom Aerts
Update portrait_plot.ncl (#1625) Bettina Gier
Documentation
Restructure documentation (#1587) Bouwe Andela
Add more links to documentation (#1595) Bouwe Andela
Update links in readme (#1598) Bouwe Andela
Minor improvements to installation documentation (#1608) Bouwe Andela
Add info for new mailing list to documentation. (#1607) Björn Brötz
Update making a release documentation (#1627) Bouwe Andela
Improvements
Avoid broken pytest-html plugin (#1583) Bouwe Andela
Remove reference section in config-references.yml (#1545) SarahAlidoost
Various improvements to development infrastructure (#1570) Bouwe Andela
Install scikit-learn from conda, remove libunwind as a direct dependency (#1611) Valeriu Predoi
Create conda subpackages and enable tests (#1624) Bouwe Andela
Observational and re-analysis dataset support
Cmorizer for HALOE (#1581) Mattia Righi
Add CMORizer for CT2019 (#1604) Manuel Schlund
For older releases, see the release notes on https://github.com/ESMValGroup/ESMValTool/releases.