This lesson is being piloted (Beta version)

ESMValTool Tutorial

Key Points

Introduction
  • ESMValTool provides a reliable interface to analyse and evaluate climate data

  • A large collection of recipes and diagnostic scripts is already available

  • ESMValTool is built and maintained by an active community of scientists and developers

Installation
  • All the required packages can be installed using conda.

  • You can find more information about installation in the documentation.

Configuration
  • The config-user.yml tells ESMValTool where to find input data.

  • output_dir defines the destination directory.

  • rootpath defines the root path of the data.

  • drs defines the directory structure of the data.

Running your first recipe
  • ESMValTool recipes work ‘out of the box’ (if input data is available)

  • There are strong links between the recipe, log file, and output folders

  • Recipes can easily be modified to re-use existing code for your own use case

Conclusion of the basic tutorial
  • Individual mini-tutorials help work through a specific issue (not developed yet).

  • We are constantly improving this tutorial.

Writing your own recipe
  • A recipe can work with different preprocessors at the same time.

  • The setting additional_datasets can be used to add a different dataset.

  • Variable groups are useful for defining different settings for different variables.

Development and contribution
  • A development installation is needed if you want to incorporate your code into ESMValTool.

  • Contributions include adding a new or improved script or helping with a review process.

  • There are several tools to help improve the quality of your code.

  • It is possible to run tests on your machine.

  • You can preview documentation pages locally.

Writing your own diagnostic script
  • ESMValTool provides helper functions to interface a Python diagnostic script with preprocessor output.

  • Existing diagnostics can be used as templates and modified to write new diagnostics.

  • Helper functions can be imported from esmvaltool.diag_scripts.shared and used in your own diagnostic script.

CMORization: adding new datasets to ESMValTool
  • CMORizers are dataset-specific scripts that can be run once to generate CMOR-compliant data.

  • ESMValTool comes with a set of CMORizers readily available, but you can also add your own.

Debugging
  • There are three different kinds of log files: main_log.txt, and main_log_debug.txt and log.txt.