This lesson is being piloted (Beta version)

ESMValTool Tutorial

This tutorial helps you to use ESMValTool.

The Earth System Model Evaluation Tool (ESMValTool) is a community developed software toolkit that aims to facilitate the diagnosis and evaluation of the causes and effects of model biases and inter-model spread within the CMIP model ensemble.

This tutorial is structured into basic and advanced topics such that episodes starting from the Introduction up to the episode on Conclusion of the basic tutorial all cover basic topics and can be done in one sitting.

The remaining episodes cover the advanced topics and each episode is a mini-tutorial covering an advanced aspect of working with ESMValTool. These mini-tutorials can be appended to the main tutorial or worked through independently.

What will you learn in this course

  • What is ESMValTool
  • How to install ESMValTool
  • How to configure ESMValTool for your local system
  • How to run ESMValTool
  • How to work with ESMValTool’s suite of preprocessors
  • How to debug your recipes
  • How to access and deploy recipes from the ESMValTools gallery (Advanced)
  • How to develop your own diagnostics and recipes (Advanced)
  • How to contribute your recipes and diagnostics back into ESMValTool (Advanced)
  • How to include new observational datasets (Advanced)


The prerequisites for the tutorial are listed on the tutorial setup page.

Main things you need to know before starting this course

  1. This tutorial can be taken online independently or taught by one of our instructors.

  2. Don’t be alarmed if you can’t work through the entire tutorial in one sitting. It may take some time to get used to working with ESMValTool.

  3. If you get stuck, help is always available from the tutors, from ESMValTool developers via the github issues page or via the ESMValTool email list. Please see information on how to subscribe to user mailing list.

  4. This tutorial includes several advanced lessons after the conclusion. These advanced lessons should be treated like “mini-tutorials”, and include aspects like “developing your own diagnostic” or “how to include observations”.

Additional Resources

How to cite the Tutorial

Please use citation information available at


Setup Download files required for the lesson
00:00 1. Introduction What is ESMValTool?
Who are the people behind ESMValTool?
00:15 2. Quickstart guide What is the purpose of the quickstart guide?
How do I load and check the ESMValTool environment?
How do I configure ESMValTool?
How do I run a recipe?
00:25 3. Installation What are the prerequisites for installing ESMValTool?
How do I confirm that the installation was successful?
00:45 4. Configuration What is the user configuration file and how should I use it?
01:05 5. Running your first recipe How to run a recipe?
What happens when I run a recipe?
01:35 6. Conclusion of the basic tutorial What do I do now?
Where can I get help?
What if I find a bug?
Where can I find more information about ESMValtool?
How can I cite ESMValtool?
01:45 7. Writing your own recipe How do I create a new recipe?
Can I use different preprocessors for different variables?
Can I use different datasets for different variables?
How can I combine different preprocessor functions?
Can I run the same recipe for multiple ensemble members?
02:30 8. Development and contribution What is a development installation?
How can I test new or improved code?
How can I incorporate my contributions into ESMValTool?
03:00 9. Writing your own diagnostic script How do I write a new diagnostic in ESMValTool?
How do I use the preprocessor output in a Python diagnostic?
03:50 10. CMORization: adding new datasets to ESMValTool CMORization: what is it and why do we need it?
How to use the existing CMORizer scripts shipped with ESMValTool?
How to add support for new (observational) datasets?
04:50 11. Debugging How can I handle errors/warnings?
05:35 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.