Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added EMAC CMORizer #1554

Merged
merged 64 commits into from
Jun 1, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
5b0747b
Renamed ICON extra_facets file to comply with other files
schlunma Mar 16, 2022
e570b65
Added EMAC extra_facets file and adapted config-developer.yml
schlunma Mar 16, 2022
f43413a
Added possibility to ignore warnings for certain projects
schlunma Mar 16, 2022
014f7a3
First version of EMAC CMORizer
schlunma Mar 16, 2022
524d7bf
Removed trailing whitespaces in custom CMOR tables
schlunma Mar 17, 2022
898099d
Added newline to end of file for xco2 table
schlunma Mar 17, 2022
70d33c4
Added custom tables for EMAC variables
schlunma Mar 17, 2022
00db42c
Removed CMOR tables for variables that are not supported yet
schlunma Mar 17, 2022
1b515e2
Cleaned CMORizer file
schlunma Mar 17, 2022
8e1d85a
Added derivation for hfns
schlunma Mar 17, 2022
0e8c058
Added EMAC fixes for many atmospherics and tracer variables
schlunma Mar 17, 2022
ccb53b8
Slightly extended and cleaned EMAC CMORizer
schlunma Mar 18, 2022
23c151b
Merge remote-tracking branch 'origin/main' into cmorize_emac
schlunma Mar 28, 2022
efc4031
Added doc for filterwarnigns
schlunma Mar 28, 2022
f57e34d
Optimized doc
schlunma Mar 29, 2022
0adb005
Added test for derivation of hfns
schlunma Mar 30, 2022
52efc74
Added tests for ignoring warnings
schlunma Mar 30, 2022
aab4086
Added docstring to load()
schlunma Mar 30, 2022
7d767d8
Merge remote-tracking branch 'origin/main' into cmorize_emac
schlunma Apr 13, 2022
8fcdc33
Added test for io.load
schlunma Apr 13, 2022
1c78216
Added test for add_scalar_lambda550nm_coord
schlunma Apr 13, 2022
970b4b8
Added initial tests for EMAC CMORizer
schlunma Apr 13, 2022
31486a0
Added EMAC sample data
schlunma Apr 14, 2022
9ba047a
Added further tests
schlunma Apr 14, 2022
b127416
Added further tests for EMAC CMORizer
schlunma Apr 14, 2022
6b41050
Removed unused custom CMOR tables
schlunma Apr 19, 2022
b2bd2ed
Added further tests for EMAC CMORizer
schlunma Apr 19, 2022
4173bc9
Removed renaming of ICON extra facets (this is done in another PR)
schlunma Apr 19, 2022
7d18cca
Merge remote-tracking branch 'origin/main' into cmorize_emac
schlunma Apr 19, 2022
24413c4
Added further tests for EMAC CMORizer
schlunma Apr 20, 2022
e81be90
Added further tests for EMAC CMORizer
schlunma Apr 20, 2022
22dd7fd
Merge remote-tracking branch 'origin/main' into cmorize_emac
schlunma Apr 20, 2022
17da485
Removed automatic reversing of plev coord in EMAC CMORizer (this is d…
schlunma Apr 20, 2022
8a0ac3d
Added support for hybrid pressure level coordinates
schlunma Apr 21, 2022
8098233
Fixed test
schlunma Apr 21, 2022
c4dbb4d
Added final tests for EMAC CMORizer
schlunma Apr 22, 2022
f401cd4
Merge remote-tracking branch 'origin/main' into cmorize_emac
schlunma May 6, 2022
2e714de
Ignored UDUNITS-2 warnings
schlunma May 19, 2022
c91968a
Allowed the usage of postprocessing flags
schlunma May 19, 2022
4f01f4e
Added further variables to EMAC CMORizer
schlunma May 19, 2022
f1cec51
Fixed variable raw_names for EMAC CMORizer
schlunma May 19, 2022
f94ded9
Ignored further warning message for EMAC
schlunma May 19, 2022
bb567c3
Merge remote-tracking branch 'origin/main' into cmorize_emac
schlunma May 20, 2022
8b243e7
Added further variables (and corresponding tests) to EMAC CMORizer
schlunma May 20, 2022
8445bc0
Removed unused custom CMOR tables
schlunma May 20, 2022
d305c5a
Added EMAC sample file
schlunma May 20, 2022
34b87af
Merge remote-tracking branch 'origin/main' into cmorize_emac
schlunma May 23, 2022
a756990
Merge remote-tracking branch 'origin/main' into cmorize_emac
schlunma May 23, 2022
a20e550
Fixed od550aer fix for EMAC
schlunma May 23, 2022
10afa38
Finalized EMAC mappings
schlunma May 23, 2022
016f804
Merge remote-tracking branch 'origin/main' into cmorize_emac
schlunma May 23, 2022
de24cfb
figure out where and what is in test data path on Circle
valeriupredoi May 23, 2022
2bc71e5
turn off sequential decorator for now
valeriupredoi May 23, 2022
e9b21f0
restore test module
valeriupredoi May 23, 2022
529969d
Install git and ssh for correct checkout
bouweandela May 23, 2022
e6683b2
Fix apt install command
bouweandela May 23, 2022
f1ece32
Merge remote-tracking branch 'origin/install-git-ssh' into cmorize_emac
schlunma May 24, 2022
0c6db0d
Added doc for EMAC CMORizer
schlunma May 30, 2022
fd6e872
Fixed doc
schlunma May 30, 2022
4c916ef
Improved doc
schlunma May 30, 2022
5a86d3d
Merge remote-tracking branch 'origin/main' into cmorize_emac
schlunma May 30, 2022
ace248b
Improved doc
schlunma May 30, 2022
bd0b9af
Fixed bug in load where ignored warnings are added for each call of l…
schlunma May 31, 2022
d41fb20
Merge remote-tracking branch 'origin/main' into cmorize_emac
schlunma May 31, 2022
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
32 changes: 32 additions & 0 deletions doc/quickstart/configure.rst
Original file line number Diff line number Diff line change
Expand Up @@ -520,6 +520,38 @@ related to CMOR table settings available:
to get the name of the file containing the ``mip`` table.
Defaults to the value provided in ``cmor_type``.

.. _filterwarnings_config-developer:

Filter preprocessor warnings
----------------------------

It is possible to ignore specific warnings of the preprocessor for a given
``project``.
This is particularly useful for native models which do not follow the CMOR
standard by default and consequently produce a lot of warnings when handled by
Iris.
This can be configured in the ``config-developer.yml`` file for some steps of
the preprocessing chain.

Currently supported preprocessor steps:

* :func:`~esmvalcore.preprocessor.load`

Here is an example on how to ignore specific warnings during the preprocessor
step ``load`` for all datasets of project ``EMAC`` (taken from the default
``config-developer.yml`` file):

.. code-block:: yaml

ignore_warnings:
load:
- {message: 'Missing CF-netCDF formula term variable .*, referenced by netCDF variable .*', module: iris}
- {message: 'Ignored formula of unrecognised type: .*', module: iris}

The keyword arguments specified in the list items are directly passed to
:func:`warnings.filterwarnings` in addition to ``action=ignore`` (may be
overwritten in ``config-developer.yml``).

.. _configure_native_models:

Configuring datasets in native format
Expand Down
67 changes: 67 additions & 0 deletions doc/quickstart/find_data.rst
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,73 @@ The following models are natively supported by ESMValCore.
In contrast to the native observational datasets listed above, they use
dedicated projects instead of the project ``native6``.

.. _read_emac:

EMAC
^^^^

ESMValTool is able to read native `EMAC
<https://www.dlr.de/pa/en/desktopdefault.aspx/tabid-8859/15306_read-37415/>`_
model output.

The default naming conventions for input directories and files for EMAC are

* input directories: ``[exp]/[channel]``
* input files: ``[exp]*[channel][postproc_flag].nc``

as configured in the :ref:`config-developer file <config-developer>` (using the
default DRS ``drs: default`` in the :ref:`user configuration file`).

Thus, example dataset entries could look like this:

.. code-block:: yaml

datasets:
- {project: EMAC, dataset: EMAC, exp: historical, mip: Amon, short_name: tas, start_year: 2000, end_year: 2014}
- {project: EMAC, dataset: EMAC, exp: historical, mip: Omon, short_name: tos, postproc_flag: "-p-mm", start_year: 2000, end_year: 2014}
- {project: EMAC, dataset: EMAC, exp: historical, mip: Amon, short_name: ta, raw_name: tm1_p39_cav, start_year: 2000, end_year: 2014}

Please note the duplication of the name ``EMAC`` in ``project`` and
``dataset``, which is necessary to comply with ESMValTool's data finding and
CMORizing functionalities.

Similar to any other fix, the EMAC fix allows the use of :ref:`extra
facets<extra_facets>`.
By default, the file :download:`emac-mappings.yml
</../esmvalcore/_config/extra_facets/emac-mappings.yml>` is used for that
purpose.
For some variables, extra facets are necessary; otherwise ESMValTool cannot
read them properly.
Supported keys for extra facets are:

==================== ====================================== =================================
Key Description Default value if not specified
==================== ====================================== =================================
``channel`` Channel in which the desired variable No default (needs to be specified
is stored in extra facets or recipe if
default DRS is used)
``postproc_flag`` Postprocessing flag of the data ``''`` (empty string)
``raw_name`` Variable name of the variable in the CMOR variable name of the
raw input file corresponding variable
==================== ====================================== =================================

.. note::

``raw_name`` can be given as ``str`` or ``list``.
The latter is used to support multiple different variables names in the
input file.
In this case, the prioritization is given by the order of the list; if
possible, use the first entry, if this is not present, use the second, etc.
This is particularly useful for files in which regular averages (``*_ave``)
or conditional averages (``*_cav``) exist.

For 3D variables defined on pressure levels, only the pressure levels
defined by the CMOR table (e.g., for `Amon`'s `ta`: ``tm1_p19_cav`` and
``tm1_p19_ave``) are given in the default extra facets file.
If other pressure levels are desired, e.g., ``tm1_p39_cav``, this has to be
explicitly specified in the recipe using ``raw_name: tm1_p39_cav`` or
``raw_name: [tm1_p19_cav, tm1_p39_cav]``.

.. _read_icon:

ICON
Expand Down
Loading