-
Notifications
You must be signed in to change notification settings - Fork 39
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
Implement multiple ensemble style syntax used for datasets in fx variable descriptions for pre processor #1081
Comments
Tagging @zklaus since I know he has been involved with the regional model work. |
This appears to be applicable to large numbers of the CMIP5 and 6 datasets too.. i.e. the fx variables are stored under a seperate ensemble r0i0p0 from the other variables |
Ahhh.. Looks like when not specifying the |
Hmmm. So I updated the CORDEX FX table to include the missing sftof entry. Now if I just have the pre processor set as
The recipe still fails to find the fx file stored under r0i0p0 and then fails because the natural earth shapefile can't be used with the rotated grid
|
Ahh, OK, I understand what is going on here. There is a fix hardcoded for CMIP5 here ESMValCore/esmvalcore/_data_finder.py Line 244 in 2204338
So something similar needs to happen for CORDEX, and possibly CMIP6. Trouble is I'm not sure the fix is so easy. I.e. some models have chosen to store fx variables under the same ensemble as the regular variables, whereas others have kept with the CMIP5 convention and left fx variables under r0i0p0. I'll have a closer look through the datasets and see if I can summarise the situation. |
OK, I think I have developed a fix for this now. Just putting together a PR. ESMValCore/esmvalcore/_data_finder.py Line 242 in 2204338
|
OK. PR up. |
Flake8 should be ok, but we don't use black at the moment. Instead, |
Please have a look at our contribution guidelines. |
Fixed by #1609. |
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:
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.
The text was updated successfully, but these errors were encountered: