Skip to content


Switch branches/tags

Latest commit

* add cmorizer

* add in documentation

* add test recipe

* python cmorizer for noaaglobaltemp

* small fixes

* rm ncl formatter

* style fix

* style fix

* fix coordinates

Co-authored-by: Rémi Kazeroni <>

* fix codacy

* raw filename moved to config

* Fix file version

Co-authored-by: Rémi Kazeroni <>

* fix file version

Co-authored-by: Rémi Kazeroni <>

* Update esmvaltool/cmorizers/data/datasets.yml

Co-authored-by: Rémi Kazeroni <>

* Update esmvaltool/cmorizers/data/formatters/datasets/

Co-authored-by: Rémi Kazeroni <>

Co-authored-by: Rémi Kazeroni <>
Co-authored-by: Remi Kazeroni <>


Failed to load latest commit information.
Latest commit message
Commit time

Maintenance made-with-python Documentation Status DOI Gitter CircleCI Test in Full Development Mode Codacy Badge Codacy Badge Docker Build Status Anaconda-Server Badge stand with Ukraine



ESMValTool is a community-developed climate model diagnostics and evaluation software package, driven both by computational performance and scientific accuracy and reproducibility. ESMValTool is open to both users and developers, encouraging open exchange of diagnostic source code and evaluation results from the Coupled Model Intercomparison Project CMIP ensemble. For a comprehensive introduction to ESMValTool please visit our documentation page.

Running esmvaltool

Diagnostics from ESMValTool are run using recipe files that contain pointers to the requested data types, directives for the preprocessing steps that data will be subject to, and directives for the actual diagnostics that will be run with the now preprocessed data. Data preprocessing is done via the ESMValCore package, a pure Python, highly-optimized scientific library, developed by the ESMValTool core developers, and that performs a number of common analysis tasks such as regridding, masking, levels extraction etc. Diagnostics are written in a variety of programming languages (Python, NCL, R, Julia) and are developed by the wider scientific community, and included after a scientific and technical review process.

Input data

ESMValTool can run with the following types of data as input:

Getting started

Please see getting started on readthedocs as well as ESMValTool tutorial. The tutorial is a set of lessons that together teach skills needed to work with ESMValTool in climate-related domains.

Getting help

The easiest way to get help if you cannot find the answer in the documentation on readthedocs, is to open an issue on GitHub.


If you would like to contribute a new diagnostic or feature, please have a look at our contribution guidelines.