Skip to content

All facets for all configured data sources of a project are always required #2995

@schlunma

Description

@schlunma

Not sure if a bug or feature.

If multiple data sources are defined for a single project, all facets are always required. For example, if two sources for dataset A (with facet a) and dataset B (with facet b) exist, and only dataset B is used in the recipe, facet a would still need to be given in the recipe. This can be very confusing (see also discussion here: #2946 (comment)).

This is particularly relevant for the native6 project, which is supposed to be shared among many different datasets. Another example case is the ERA5 GRIB data source, whose facets are very different to its netcdf counterpart:

native6:
data:
dkrz:
type: esmvalcore.io.local.LocalDataSource
rootpath: /work/bd0854/DATA/ESMValTool2/RAWOBS
dirname_template: "Tier{tier}/{dataset}/{version}/{frequency}/{short_name}"
filename_template: "*.nc"
# ERA5 data in GRIB format:
# https://docs.dkrz.de/doc/dataservices/finding_and_accessing_data/era_data/index.html#pool-data-era5-file-and-directory-names
dkrz-era5:
type: esmvalcore.io.local.LocalDataSource
rootpath: /pool/data/ERA5
dirname_template: "{family}/{level}/{type}/{tres}/{grib_id}"
filename_template: "{family}{level}{typeid}_{tres}_*_{grib_id}.grb"

As a consequence, all recipes we have currently published will fail when this default DKRZ configuration is used.

Solutions to this could be:

  • Avoid using different facets in different data sources (that also means no sharing of the native6 project among different datasets)
  • Make sure that sensible defaults exist for the differing facets (defined as extra facets)

I will open a PR which comments out the GRIB data source for ERA5 on Levante (this causes recipes to break), but this is only a temporary solution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions