Quick links : Subscribe to mailing list | News | Functions | Standard operators and functions | HowTo… | Examples | Contents


Breaking news: launch ESMValTool diags with CliMAF

The development of a standard interface for diagnostic scripts within the IS-ENES3 European project has led to the development of an interface between CliMAF and ESMValTool diagnostic scripts that works even with the current ESMValTool interface.

Hence, it is now possible to use ESMValTool diagnostic scripts and to reproduce its recipes from CliMAF; see the documentation page here

CliMAF - a Climate Model Assessment Framework

CliMAF is an Open Source software, distributed with a GPL-compatible licence. See the licence notice. It is available at CliMAF GitHub repository

The goal of CliMAF is to ease the common steps that separate you from your scientific diagnostic (in climate science): CliMAF was designed to answer those specifications of CliMAF:

  • We have several data organizations (path/filename syntax, variable names, units… CMIP5 and CMIP6 at CLIMERI among others) to deal with and we don’t want to rewrite all of them
  • We want to share diagnostics: one common library with a vocabulary that follows standards (inspired by the CMIP standards)
  • We don’t want to exclude existing scripts: possibility to plug any script that can be run with a command line, your own post-processing and analysis scripts and programs as well as other tools sets such as NCO and CDO operators
  • We want to ease all those classic/basic treatments we do everyday: selection of a period, variable, geographical region, working on an ensemble
  • We don’t want to recompute what has already been computed once
  • We want to use this library to build a custom set of diagnostics as well as a big evaluation package like the CliMAF Earth System Model Evaluation Platform

Can CliMAF make my scientific life easier?

You want to know what CliMAF is about? Here are some notebooks to illustrate interesting things to do with it:
And to go further on data analysis:

The links point to the html versions of the notebooks.

You can get the original notebooks (.ipynb) in Examples.

Have a look at this documentation to see how to reuse a notebook from a python script (and avoid the conversion from the notebook to python script).

CMIP6/CMIP5 CLIMERI - Convergence training session November 19 2018

These are the notebooks used for the training session of November 19 (2018) on ‘CMIP6 analysis at CLIMERI’ <http://convergence-ipsl.prod.lamp.cnrs.fr/data-analysis/> (follow the link to see how to set up your environment to work with CliMAF at CLIMERI). Morning presentation:

Afternoon practicals:

Also find here the last notebook we've done together during the last hour of the practicals: working with a CMIP5 and a CMIP6 ensemble, calculating an ensemble mean and the difference between those and observations, and lastly make some multiplots. Bonus: thanks to the questions of the participants, you will find in this notebook how to easily plot the members of an ensemble to track down a potential corrupted member.

FAQ (Frequently Asked Questions)

TBD, with your feedbacks.

We need you for this! please send your questions at: climaf@meteo.fr

Another way to describe CliMAF

CliMAF is basically a Python-scriptable way to process NetCDF CF compliant climate model outputs which allows:

  • to almost forget about accessing input data : you refer to ‘variables’ in ‘simulations’, CliMAF knows a bunch of data organization schemes, you just quote some root locations, usually in configuration files ; [ under development : data can also be on the ESGF ]
  • to apply diagnostics (i.e. any post-processing module) coded in any langage, provided they meet very minimal requirements, such as described in section Operators : using external scripts, binaries and python functions ; they can be :
    • either binaries, which accepts command-line arguments, read NetCDF files, and output NetCDF files or graphics (yet only in PNG format)
    • or Python function which accept Masked Arrays data structure as inputs and outputs
  • to easily pipe and combine such diagnostic binaries or functions
  • to describe the piping using Python scripting, thus building formal expressions in a simple syntax (called CRS for CliMAF Reference Syntax)
  • to trigger CRS expression computation only once needed
  • to handle a cache of results, which access keys are CRS expressions

A very low-profile knowledge of Python is enough to take full advantage of CliMAF


An overview of basic tasks is provided by the first items of the howto section

A top level table of contents show below, and a full one at Contents

There are also some direct access tools : Search Page, Index , Module Index