# ESMValCore > ESMValCore is the core of ESMValTool: it finds, fixes, and preprocesses Earth system model data according to a YAML recipe and runs diagnostic scripts. 2026, ESMValTool Development Team ## Pages - [Welcome to ESMValCore’s documentation!](index.html.md): **ESMValTool** is a community diagnostics and performance metrics tool for the evaluation of Earth S... - [Getting started](quickstart/index.html.md): * Installation - [Installation](quickstart/install.html.md): In order to install ESMValCore and its dependencies from - [Configuration](quickstart/configure.html.md): Similar to Dask, - [Input data](quickstart/find_data.html.md): Data discovery and retrieval is the first step in any evaluation process; - [Running](quickstart/run.html.md): The ESMValCore package provides the `esmvaltool` command line tool, which can - [Output](quickstart/output.html.md): ESMValTool automatically generates a new output directory with every run. - [Example notebooks](example-notebooks.html.md): Example notebooks are available in the - [Composing recipes](notebooks/composing-recipes.html.md): This notebooks shows how to fill the datasets section in a recipe. - [Discovering data](notebooks/discovering-data.html.md): This notebook shows how to find out what data is available locally as well as on ESGF. It also shows... - [Loading, processing, and visualizing data](notebooks/loading-and-processing-data.html.md): This notebook shows how to load a dataset, use the preprocessor functions, and visualize the result.... - [The recipe format](recipe/index.html.md): * Overview - [Overview](recipe/overview.html.md): The recipe is the main control file of ESMValTool. - [Preprocessor](recipe/preprocessor.html.md): In this section, each of the preprocessor modules is described, - [Diagnostic script interfaces](interfaces.html.md): In order to communicate with diagnostic scripts, ESMValCore uses YAML files. - [Development](develop/index.html.md): To get started developing, have a look at our - [Preprocessor function](develop/preprocessor_function.html.md): Preprocessor functions are located in `esmvalcore.preprocessor`. - [Fixing data](develop/fixing_data.html.md): The baseline case for ESMValCore input data is fully CMOR compliant - [Deriving a variable](develop/derivation.html.md): The variable derivation preprocessor module allows to derive variables which are - [Contributions are very welcome](contributing.html.md): We greatly value contributions of any kind. - [How-to guides](how-to/index.html.md): This is work in progress as we are currently working on adding more - [How to make a release](how-to/how-to-make-a-release.html.md): The release manager makes the release, assisted by the release manager of the - [Reference guides](reference/index.html.md): This is work in progress as we are currently working on adding more - [Variables and CMOR Tables](reference/cmor_tables.html.md): ESMValCore has been designed to facilitate working with - [Facets](reference/facets.html.md): A facet is a key-value pair that describes a certain property of a dataset and - [ESMValCore API Reference](api/esmvalcore.html.md): ESMValCore is mostly used as a commandline tool. However, it is also possibly to use (parts of) ESMV... - [CMOR functions](api/esmvalcore.cmor.html.md): CMOR module. - [Configuration](api/esmvalcore.config.html.md): This section describes the `config` module. - [Dataset](api/esmvalcore.dataset.html.md): Classes and functions for defining, finding, and loading data. - [Exceptions](api/esmvalcore.exceptions.html.md): Exceptions that may be raised by ESMValCore. - [Access data from any source](api/esmvalcore.io.html.md): ESMValCore supports a modular system for reading data from various data sources. - [esmvalcore.io.esgf](api/esmvalcore.io.esgf.html.md): Find files on the ESGF and download them. - [esmvalcore.io.intake_esgf](api/esmvalcore.io.intake_esgf.html.md): Access data using intake-esgf. - [esmvalcore.io.local](api/esmvalcore.io.local.html.md): Find files on the local filesystem. - [esmvalcore.io.protocol](api/esmvalcore.io.protocol.html.md): Protocols for accessing data. - [Iris helper functions](api/esmvalcore.iris_helpers.html.md): Auxiliary functions for `iris`. - [Preprocessor functions](api/esmvalcore.preprocessor.html.md): All preprocessor functions are designed to preserve floating point data types. - [Regridding schemes](api/esmvalcore.regridding_schemes.html.md): Iris natively supports data regridding with its `iris.cube.Cube.regrid()` - [Type hints](api/esmvalcore.typing.html.md): Type aliases for providing type hints. - [Experimental API](api/esmvalcore.experimental.html.md): This page describes the new ESMValCore API. - [Recipes](api/esmvalcore.experimental.recipe.html.md): This section describes the `recipe` submodule of the API (`esmvalcore.experimental`). - [Recipe output](api/esmvalcore.experimental.recipe_output.html.md): This section describes the `recipe_output` submodule of the API (`esmvalcore.experimental`). - [Recipe Metadata](api/esmvalcore.experimental.recipe_metadata.html.md): This section describes the `recipe_metadata` submodule of the API (`esmvalcore.experimental`). - [Utils](api/esmvalcore.experimental.utils.html.md): This section describes the `utils` submodule of the API (`esmvalcore.experimental`). - [Changelog](changelog.html.md): Improvements for supporting CORDEX data including: