Closed larsbuntemeyer closed 3 months ago
The first idea, several years ago, was to use the same CF conventions as in CMIP6 (1.7) and of course using CF 1.7 in 2024 perhaps not so good idea any more. I would use the latest CF 1.11 if that doesn't create any critical problems for example with CMOR, although not all CORDEX modelling groups use CMOR.
Another question is how to check that data is consistent to CF-1.11? As I see the latest CF version implemented in the CF checker is 1.8 https://cfchecker.ncas.ac.uk
Ok, actually, i think there is no big differences concerning us except those about the boundary variable attributes. However, with latest CF-1.11 that should be fine. Maybe we should say something like CF>=1.7 since the conventions are probably compatible. I think https://github.com/WCRP-CORDEX/data-request-table/issues/17 is more urgent since that would really violate CF conventions...
CF-1.10 was used in the SOD and can be changed to CF-1.11 in the final CORDEX-CMIP6 archiving specs. I would try to avoid using a wide range of the CF conventions as e.g. CF>=1.7 and simply take the latest one.
Copied from an archive specs comment:
Require CF-1.11 instead? This would be relevant IF either of these applies:
Polar stereographic projection is used for any of the domains/models (Arctic/Antarctic)? See https://github.com/cf-convention/cf-conventions/issues/445, which introduces a change of attribute names to be compatible with PROJ.
The so called "rotated Mercator" (i.e. Oblique Mercator) projection is used by any of the models. See https://github.com/cf-convention/cf-conventions/pull/408, that clears up a naming inconsistency vs. EPSG, PROJ and Cartopy.
In addition, the new concept of units_metadata
might be relevant for temperature variables when considering how they might be used used to produce downstream derived statistics, see CF-1.11 Sect 3.1.2. However, some some further details in the convention text still need to be implemented, and the same goes for some boilerplate text in the standard name table.
@larsbarring Thanks for clarifications here!
Note, that right now we don't really have a tool that can check for CF > 1.8 (cfchecker
will raise an error if CF > 1.8, compliance-checker
throws a warning.)
This shortcoming has been noted, but to my knowledge there is no timeline for updating the tool to cover more recent versions.
Now we use CF-1.11 in the final version.
Ok, agreed. I'll update the CI, try to ignore the cfchecker error it will throw...
The CI now ignores the CF conventions error for CV > 1.8... I will probably also add a check using the compliance-checker
as seen in the examples notebook...
@larsbuntemeyer: Sorry for jumping after this issue was closed, but I would be interested to see what particular elements of CF > 1.8 that CORDEX are using.
@larsbarring no worries, in CORDEX, we are probably mostly concerned about the recommendations with respect to boundary variables of auxilliary coordinates as described in this comment: https://github.com/PCMDI/cmor/issues/729#issuecomment-1953881259
However, there was probably a mismatch between what the cmor API allowed and what was recommended about boundary variable attributes before CF-1.11... However, this is all only about recommendations...
which version of the CF conventions do we want? The latest is CF-1.11?
There are some differences, e.g., see https://github.com/PCMDI/cmor/issues/729