Appendix
A1 Postprocessing software for cmorization and easy use of
unstructured mesh data for
analysis
The atmospheric model data was cmorized with an approach developed by
the German Climate Computing Centre (DKRZ). All the FESOM ocean data was
also cmorized in a CDO-compatible manner. During the cmorization of
sea-ice and ocean data, the user is notified of any incompatibilities
between the model output and the designated data request tables. In the
conversion process, the most time consuming step would be changes to the
bulk variable data itself, but metadata can generally be applied quickly
and independent of the data amount in one file. The time and resources
required for changes in the variable data on the other hand will
theoretically increase linearly with the size of the mesh and the output
frequency of the data. Therefore we had to avoid all steps and utilities
which can not alter data in-place, e.g. where no auxiliary file or
memory allocation is required.
The overall requirements for a complete CMIP6 formatted file set can be
somewhat overwhelming due to its complexity (data request (DR), naming
conventions, controlled vocabularies, Earth System Grid Federation
(ESGF) requirements, model details). Therefore our CMIP6 CMOR setup has
been realized via a compact and human-readable setup with a
domain-specific language (DSL). This setup can be executed
shared-memory-parallel per conversion task on a HPC system right where
the data is stored.
The following steps are necessary, and their processing times scale with
the grid size and are limited by the I/O speed of the filesystem (i.e.
changes of the bulk data):
- data output frequency change (e.g. due to requirements in the DR)
- unit change (e.g. from deg C to K). Technically this is not a problem,
but requires lengthy input / output operations for all affected data.
- data concatenation (merge)
- data compression (e.g. different as the ESGF)
- file format change (e.g. as required by ESGF)
A necessary requirement for using the model data for scientific research
is the availability of tools that are able to perform basic pre- and
post-processing operations on model output. For ocean models on
structured grids, a wide selection of tools is available; for the new
generation of global ocean models formulated in unstructured meshes,
however, no existing off-the-shelf packages exist. Therefore, we have
created a set of python-based analysis and visualization tools for FESOM
- pyfesom
(https://github.com/FESOM/pyfesom).
The pyfesom repository contains a python library and command line tools
that allow it to perform basic data analysis and visualisation of FESOM
data, and provide ways to interpolate FESOM data onto a regular grid.
There is also a documentation with description of the command line tools
and a set of Jupyter Notebooks with examples of library usage. Moreover,
we have developed the R package spheRlab
(https://github.com/FESOM/spheRlab)
which facilitates the analysis and visualization of unstructured-mesh
data, including functions for the generation of grid description files
that enable full compatibility of FESOM data with the more widely used
Climate Data Operators (CDO;https://code.mpimet.mpg.de/projects/cdo).
Furthermore, the unstructured mesh files can be further processed with
simple cdo commands. To give an example, a typical file is the
unstructured potential ocean temperature inthetao_Omon_AWI-CM-1-1-MR_historical_r1i1p1f1_gn_185001-185012.nc .
A horizontal conservative remapping of this file to a 1°x1° regular grid
(“r360x180”) from the command line is a one-liner and as simple as