Skip to content

Commit 08ba91f

Browse files
Update documentation on defining custom variables (#4349)
Co-authored-by: Manuel Schlund <32543114+schlunma@users.noreply.github.com>
1 parent 919efdb commit 08ba91f

1 file changed

Lines changed: 20 additions & 14 deletions

File tree

doc/sphinx/source/develop/dataset.rst

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,32 +32,38 @@ data set for the use in ESMValTool.
3232
==========================================
3333

3434
Most variables are defined in the CMIP data request and can be found in the
35-
CMOR tables in the folder `/esmvalcore/cmor/tables/cmip6/Tables/
36-
<https://github.com/ESMValGroup/ESMValCore/tree/main/esmvalcore/cmor/tables/cmip6/Tables>`_,
37-
differentiated according to the ``MIP`` they belong to. The tables are a
38-
copy of the `PCMDI <https://github.com/PCMDI>`_ guidelines. If you find the
35+
CMOR tables in the folder `/esmvalcore/cmor/tables
36+
<https://github.com/ESMValGroup/ESMValCore/tree/main/esmvalcore/cmor/tables>`_,
37+
differentiated according to the ``MIP`` they belong to. A more extensive
38+
introduction is available in :ref:`esmvalcore:cmor_tables`. If you find the
3939
variable in one of these tables, you can proceed to the next section.
4040

4141
If your variable is not available in the standard CMOR tables,
4242
you need to write a custom CMOR table entry for the variable
43-
as outlined below and add it to `/esmvalcore/cmor/tables/custom/
44-
<https://github.com/ESMValGroup/ESMValCore/tree/main/esmvalcore/cmor/tables/custom>`_.
43+
as outlined below and add it to `/esmvalcore/cmor/tables/cmip6-custom/
44+
<https://github.com/ESMValGroup/ESMValCore/tree/main/esmvalcore/cmor/tables/cmip6-custom>`_.
4545

4646
To create a new custom CMOR table you need to follow these
4747
guidelines:
4848

49-
- Provide the ``variable_entry``;
49+
- Provide the ``variable_entry`` (for CMIP5-style tables) or the variable name
50+
(``short_name``) followed by an optional underscore and branding suffix
51+
as the key for the variable definition (for CMIP6-style tables);
5052
- Provide the ``modeling_realm``;
51-
- Provide the variable attributes, but leave ``standard_name`` blank. Necessary
53+
- Provide the variable attributes, but leave ``standard_name`` blank unless
54+
the variable has a valid standard name. Necessary
5255
variable attributes are: ``units``, ``cell_methods``, ``cell_measures``,
5356
``long_name``, ``comment``.
5457
- Provide some additional variable attributes. Necessary additional variable
55-
attributes are: ``dimensions``, ``out_name``, ``type``. There are also
56-
additional variable attributes that can be defined here (see the already
57-
available cmorizers).
58-
59-
It is recommended to use an existing custom table as a template, to edit the
60-
content and save it as ``CMOR_<short_name>.dat``.
58+
attributes are: ``dimensions``, ``out_name`` (usually equal to ``short_name``).
59+
There are also additional variable attributes that can be defined here (see
60+
the already available custom variables).
61+
62+
It is recommended to extend the file
63+
`esmvalcore/cmor/tables/cmip6-custom/CMIP6_custom.json <https://github.com/ESMValGroup/ESMValCore/blob/main/esmvalcore/cmor/tables/cmip6-custom/CMIP6_custom.json>`__
64+
for CMIP6-style tables. For CMIP5-style projects, use an existing custom table from
65+
`esmvalcore/cmor/tables/cmip5-custom/ <https://github.com/ESMValGroup/ESMValCore/blob/main/esmvalcore/cmor/tables/cmip5-custom>`__
66+
as a template, edit the content and save it in the same directory as ``CMOR_<short_name>.dat``.
6167

6268
2. Store your dataset in the right place
6369
========================================

0 commit comments

Comments
 (0)