Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
09b356c
shipshaped preprocessor section
valeriupredoi Jun 25, 2019
2a1a83b
more shipshaping preprocessor inc
valeriupredoi Jun 25, 2019
38983b2
breaking some lines
valeriupredoi Jun 25, 2019
b2a8ca2
polishing the turd
valeriupredoi Jun 25, 2019
edb454e
super polishing the turd, almost done with preprocessor inc
valeriupredoi Jun 25, 2019
1364ccd
added vertical regridding dox and finishing my bit for preprocessor.inc
valeriupredoi Jun 26, 2019
e2e4b38
started working on the data finder
valeriupredoi Jun 26, 2019
949be8b
plodding along with data finder
valeriupredoi Jun 26, 2019
49ab990
almost done with datafinder
valeriupredoi Jun 26, 2019
133eab3
finished data finder
valeriupredoi Jun 26, 2019
ce0d3e1
added note on creating a simple multimodel mask cheers to Ben for poi…
valeriupredoi Jun 27, 2019
e9c0472
added note on regridding memory
valeriupredoi Jun 27, 2019
2d993de
added note on multimodel memory
valeriupredoi Jun 27, 2019
410a282
added another memory note and comment a thing or two
valeriupredoi Jun 27, 2019
4501f9a
added hooks for section referencing
valeriupredoi Jun 27, 2019
7f0ce6f
work on config section
valeriupredoi Jun 27, 2019
1ca7568
tidying up config
valeriupredoi Jun 27, 2019
88c54d7
shipshaping config
valeriupredoi Jun 27, 2019
d058fd9
shipshaping preprocess
valeriupredoi Jun 27, 2019
ef37a0a
adding recipe dox mostly taken from esmvaltool by Lee but changing it…
valeriupredoi Jun 27, 2019
6568eb9
shipshaping recipe
valeriupredoi Jun 27, 2019
32756c2
added reference hooks
valeriupredoi Jun 27, 2019
1102d7d
adding stuffs
valeriupredoi Jun 27, 2019
77e584c
modified hook
valeriupredoi Jun 27, 2019
53fad7e
added utils section
valeriupredoi Jun 27, 2019
d856c83
added utils section
valeriupredoi Jun 27, 2019
aa30598
adding more stuffs
valeriupredoi Jun 27, 2019
796f5ba
finishing up recipe chapter
valeriupredoi Jun 27, 2019
9b5f684
reformatted it a bit
valeriupredoi Jun 27, 2019
a3d0622
Rename to rst to avoid merge conflicts
mattiarighi Jul 23, 2019
8d42d80
Merge branch 'development' into development_VsDocumentationMegaBranch…
mattiarighi Jul 23, 2019
aedbc49
Update index
mattiarighi Jul 23, 2019
63abb33
readded table of contents
valeriupredoi Jul 29, 2019
46361d5
plugged in Mattia comments
valeriupredoi Jul 29, 2019
327fc29
plugging in Mattia comments
valeriupredoi Jul 29, 2019
bb8116b
removed repetition
valeriupredoi Jul 29, 2019
e38db31
plugging in Mattia comments
valeriupredoi Jul 29, 2019
c074cfc
fixed bad refernces
valeriupredoi Jul 29, 2019
3f1650e
fixed references
valeriupredoi Jul 29, 2019
9b73334
fixed references
valeriupredoi Jul 29, 2019
e3d908a
fixed references to external
valeriupredoi Jul 29, 2019
84b9b1c
Merge branch 'development' into development_VsDocumentationMegaBranch…
valeriupredoi Jul 29, 2019
c46872d
removed reference to private module
valeriupredoi Jul 29, 2019
f30eb2d
Minor corrections and column limit to 79
mattiarighi Jul 30, 2019
ffa8a95
Restore original section order and set max colummn width
mattiarighi Jul 30, 2019
97f3d6c
Minor cleaning
mattiarighi Jul 30, 2019
3ad661d
Update doc/esmvalcore/config.rst
mattiarighi Aug 2, 2019
48d0425
Update doc/esmvalcore/config.rst
mattiarighi Aug 2, 2019
c89aabd
Update doc/esmvalcore/config.rst
mattiarighi Aug 2, 2019
d292a1f
Implement reviewers suggestions
mattiarighi Aug 2, 2019
d537270
Merge branch 'development_VsDocumentationMegaBranchBOOM' of https://g…
mattiarighi Aug 2, 2019
66afd8c
Fix links
mattiarighi Aug 2, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
179 changes: 160 additions & 19 deletions doc/esmvalcore/config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,163 @@
Configuration files
*******************

Overview
========

There are several configuration files in ESMValTool:

- config-user.yml
- config-developer.yml
- config-references.yml
- config-logging.yml
* ``config-user.yml``: sets a number of user-specific options like desired
graphical output format, root paths to data, etc.;
* ``config-developer.yml``: sets a number of standardized file-naming and paths
to data formatting;
* ``config-references.yml``: stores information on diagnostic authors and
scientific journals references;
* ``config-logging.yml``: stores information on logging.

User configuration file
=======================

See Section
The ``config-user.yml`` is one of the two files the user needs to provide as
input arguments to the ``esmvaltool`` executable at run time, the second being
the :ref:`recipe`.

The ``config-user.yml`` configuration file contains all the global level
information needed by ESMValTool. It can be reused as many times the user needs
to before changing any of the options stored in it. This file is essentially
the gateway between the user and the machine-specific instructions to
``esmvaltool``. The following shows the default settings from the
``config-user.yml`` file with explanations in a commented line above each
option:

.. code-block:: yaml

# Diagnostics create plots? [true]/false
# turning it off will turn off graphical output from diagnostic
write_plots: true

# Diagnositcs write NetCDF files? [true]/false
# turning it off will turn off netCDF output from diagnostic
write_netcdf: true

# Set the console log level debug, [info], warning, error
# for much more information printed to screen set log_level: debug
log_level: info
# verbosity is deprecated and will be removed in the future
# verbosity: 1

# Exit on warning? true/[false]
exit_on_warning: false

# Plot file format? [ps]/pdf/png/eps/epsi
output_file_type: pdf

# Destination directory where all output will be written
# including log files and performance stats
output_dir: ./esmvaltool_output

# Auxiliary data directory (used for some additional datasets)
# this is where e.g. files can be downloaded to by a download
# script embedded in the diagnostic
auxiliary_data_dir: ./auxiliary_data

# Use netCDF compression true/[false]
compress_netcdf: false

# Save intermediary cubes in the preprocessor true/[false]
# set to true will save the output cube from each preprocessing step
# these files are numbered according to the preprocessing order
save_intermediary_cubes: false

# Remove the preproc dir if all fine
# if this option is set to "true", ALL preprocessor files will be removed
# CAUTION when using: if you need those files, set it to false
remove_preproc_dir: true

# Run at most this many tasks in parallel null/[1]/2/3/4/..
# Set to null to use the number of available CPUs.
# Make sure your system has enough memory for the specified number of tasks.
max_parallel_tasks: 1

# Path to custom config-developer file, to customise project configurations.
# See config-developer.yml for an example. Set to None to use the default
config_developer_file: null

# Get profiling information for diagnostics
# Only available for Python diagnostics
profile_diagnostic: false

# Rootpaths to the data from different projects (lists are also possible)
rootpath:
CMIP5: [~/cmip5_inputpath1, ~/cmip5_inputpath2]
OBS: ~/obs_inputpath
default: ~/default_inputpath

# Directory structure for input data: [default]/BADC/DKRZ/ETHZ/etc
# See config-developer.yml for definitions.
drs:
CMIP5: default

Most of these settings are fairly self-explanatory, e.g.:

.. code-block:: yaml

# Diagnostics create plots? [true]/false
write_plots: true
# Diagnositcs write NetCDF files? [true]/false
write_netcdf: true

The ``write_plots`` setting is used to inform ESMValTool diagnostics about your
preference for creating figures. Similarly, the ``write_netcdf`` setting is a
boolean which turns on or off the writing of netCDF files by the diagnostic
scripts.

.. code-block:: yaml

# Auxiliary data directory (used for some additional datasets)
auxiliary_data_dir: ~/auxiliary_data

The ``auxiliary_data_dir`` setting is the path to place any required
additional auxiliary data files. This is necessary because certain
Python toolkits, such as cartopy, will attempt to download data files at run
time, typically geographic data files such as coastlines or land surface maps.
This can fail if the machine does not have access to the wider internet. This
location allows the user to specify where to find such files if they can not be
downloaded at runtime.

.. warning::

This setting is not for model or observational datasets, rather it is for
data files used in plotting such as coastline descriptions and so on.

A detailed explanation of the data finding-related sections of the
``config-user.yml`` (``rootpath`` and ``drs``) is presented in the
:ref:`data-retrieval` section. This section relates directly to the data
finding capabilities of ESMValTool and are very important to be understood by
the user.

.. note::

You choose your ``config-user.yml`` file at run time, so you could have several of
them available with different purposes. One for a formalised run, another for
debugging, etc.


.. _config-developer:

Developer configuration file
============================

This configuration file describes the file system structure for several
key projects (CMIP5, CMIP6) on several key machines (BADC, CP4CDS, DKRZ, ETHZ,
SMHI, BSC).
key projects (CMIP5, CMIP6, OBS) on several key machines (BADC, CP4CDS, DKRZ,
ETHZ, SMHI, BSC). CMIP data is stored as part of the Earth System Grid
Federation (ESGF) and the standards for file naming and paths to files are set
out by CMOR and DRS. For a detailed description of these standards and their
adoption in ESMValTool, we refer the user to :ref:`CMOR-DRS` section where we
relate these standards to the data retrieval mechanism of the ESMValTool.

The data directory structure of the CMIP5 project is set up differently
at each site. The following code snipper is an example of several paths
descriptions for the CMIP5 at various sites:
The data directory structure of the CMIP projects is set up differently
at each site. The following code snippet is an example of several paths
descriptions for the CMIP5 adopted at various sites:

.. code-block:: yaml

Expand All @@ -46,23 +180,29 @@ As an example, the CMIP5 file path on BADC would be:

[institute]/[dataset ]/[exp]/[frequency]/[modeling_realm]/[mip]/[ensemble]/latest/[short_name]

When loading these files, ESMValTool replaces the placeholders with the true
values. The resulting real path would look something like this:
When loading these files, ESMValTool replaces the placeholders ``[item]`` with
actual values supplied for by the user in ``config-user.yml`` and
``recipe.yml``. The resulting real path would look something like this:

.. code-block:: yaml
.. code-block::

MOHC/HadGEM2-CC/rcp85/mon/ocean/Omon/r1i1p1/latest/tos

Again, for a more in-depth description of this process, as part of the data
retrieval mechanism, please see :ref:`CMOR-DRS`.

.. _config-ref:

References configuration file
=============================

The ``config-references.yml`` file is the full list of ESMValTool authors,
references and projects. Each author, project and reference in the documentation
section of a recipe needs to be in this file in the relevant section.
The ``config-references.yml`` file contains the list of ESMValTool authors,
references and projects. Each author, project and reference referred to in the
documentation section of a recipe needs to be in this file in the relevant
section.

For instance, the recipe ``recipe_ocean_example.yml`` file contains the following
documentation section:
For instance, the recipe ``recipe_ocean_example.yml`` file contains the
following documentation section:

.. code-block:: yaml

Expand All @@ -80,9 +220,10 @@ documentation section:
- ukesm


All four items here are named people, references and projects listed in the
These four items here are named people, references and projects listed in the
``config-references.yml`` file.


Logging configuration file
==========================

Expand Down
Loading