Using Atlas Explorer (original) (raw)

(in progress)

Atlas Explorer is a working space of the C-ESM-EP. In other words, it is not a pre-defined, community validated set of specific scientific diagnostics. It is a way to create html pages with lines of plots:

Most of the bias maps in the C-ESM-EP (Atmosphere_Surface, NEMO_main, PISCES, ORCHIDEE...) are generated using the Atlas Explorer mechanism. This page can be very helpful if you want to customize those atlases.

Check this page to see how you can add new variables to your atlas.

General specifications in AtlasExplorer/params_AtlasExplorer.py

The first block of instructions in params_AtlasExplorer.py is the same in all the C-ESM-EP parameter files.

The variable verbose controls the verbosity of CliMAF. This controls the amount of informations output by CliMAF in the .e files (or during an interactive execution). 'debug' is the most verby mode, and 'critical' is the minimum. (we advise to leave it to 'debug')

# -- Safe Mode (set to False and verbose='debug' if you want to debug)
safe_mode = True

The safe_mode is a mechanism that allows the execution of the atlas to go on even if you encounter an error on a given plot on the way. It will return a blank image if the C-ESM-EP was not able to do the plot (file not available, problem with the plot...). Set it to False if you want to force the atlas to stop and return the error message on a given failed plot to debug.

# -- Set to 'True' (string) to clean the CliMAF cache
clean_cache = 'False'

Set it to 'True' (string, not boolean!) to clean the cache (it will execute a craz() CliMAF command and totally clean the cache).

# -- Patterns to clean the cache at the end of the execution of the atlas
routine_cache_cleaning = [dict(age='+20')]

This is an important functionality: it cleans the cache at the end of the execution of the atlas by making a loop on the dictionaries of the list routine_cache_cleaning to provide those lists of arguments to CliMAF crm()

# -- Set the reference against which we plot the diagnostics
# -- If you set it in the parameter file, it will overrule
# -- the reference set in datasets_setup.py
# ---------------------------------------------------------------------------- >
# --    -> 'default' uses variable2reference to point to a default
# --       reference dataset (obs and reanalyses)
# --    -> you can set reference to a dictionary that will point any other
# --       climaf dataset
# --       For instance, you can set it to models[0] if you want to see the
# --       differences relative to the first simulation of the list 'models'
#reference = 'default'

You can set a reference specifically for this atlas (and not for the other atlases of your C-ESM-EP comparison) with the variable 'reference'. See the pages on datasets_setup.py to see how to use it.

# -- Set the overall season, region and geographical domain
# --> season, region and domain do not overwrite the values that are pre-defined with some diagnostics
# ---------------------------------------------------------------------------- >
season = 'ANM'  # -> Choose among all the possible values taken by clim_average (see help(clim_average)) like JFM, December,...
proj = 'GLOB'   # -> Set to a value taken by the argument 'proj' of plot(): GLOB, NH, SH, NH20, SH30...
domain = dict() # -> set domain = dict(lonmin=X1, lonmax=X2, latmin=Y1, latmax=Y2)

The variables season, proj and domain allow you to set respectively a season, projection and geographical domain (domain) for the whole atlas. Note that the potential season, proj and domain specified with a given variable (see below) will be used in place of those ones (only for the variable associated with them).

Variable-dependant specifications in AtlasExplorer/params_AtlasExplorer.py

The user provides the list of variables, potentially with custom specifications, via the atlas_explorer_variables python list:

atlas_explorer_variables = ['tas','pr',
                            'tos','sos',
                            dict(variable='ua', season='DJF', add_climato_contours=True),
                            dict(variable='ua', season='JJA', add_climato_contours=True),
                            dict(variable='tos',domain=dict(lonmin=-80,lonmax=40,latmin=10,latmax=85)),
                            dict(variable='sic', proj='NH50', season='March'),
                            dict(variable='lai', season='MAM'),
                           ]

Here is the list of arguments you can add with a variable in a dictionary to customize your plot/diagnostic: