Skip to content

Implement multiple ensemble style syntax used for datasets in fx variable descriptions for pre processor #1081

@thomascrocker

Description

@thomascrocker

Is your feature request related to a problem? Please describe.
I'm writing recipes using a large number of the CORDEX EUR-11 models, and need to do some land sea masking. Unfortunately, for some (not all) of the CORDEX models there are not separate sftlf fx files for each ensemble member, and instead, the fx fields exist under ensemble r0i0p0 whereas the rest of the variables are under their own ensemble numbers r1i1p1 etc. See for example: https://esgf-index1.ceda.ac.uk/esg-search/search/?offset=0&limit=10&type=Dataset&replica=false&latest=true&domain=EUR-11&rcm_name=RCA4&time_frequency=fx%2Cmon&variable=sftlf%2Ctas&project=CORDEX&facets=rcm_name%2Cproject%2Cproduct%2Cdomain%2Cinstitute%2Cdriving_model%2Cexperiment%2Cexperiment_family%2Censemble%2Crcm_version%2Ctime_frequency%2Cvariable%2Cvariable_long_name%2Ccf_standard_name%2Cdata_node&format=application%2Fsolr%2Bjson
This causes the preprocessor to break because it is searching for the fx files under the same ensemble number as the rest of the variables (and they don't exist).
What would be great, would be if the user could use the syntax developed for specifying multiple ensembles in datasets at https://docs.esmvaltool.org/projects/esmvalcore/en/latest/recipe/overview.html#recipe-section-datasets e.g. by specifying something like:

mask_landsea:
      mask_out: sea
      fx_variables:
        - { short_name: sftlf, ensemble: "r(0:9)i(0:9)p(0:9)" }

In the preprocessor. However, the preprocessor interprets the string literally and fails to find the files.
It's not possible to use the Natural Earth dataset with this data, since the data is on a rotated pole and thus has multidimensional "latitude" and "longitude" co-ordinates which is not yet supported for use with shapefiles. (That's another issue I need to look into soon).

Would you be able to help out?
Would you have the time and skills to implement the solution yourself?
I can have a look, but I'll need some pointers on where to get started etc.

Metadata

Metadata

Labels

bugSomething isn't workingdata issueenhancementNew feature or requestpreprocessorRelated to the preprocessor

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions