Clarification regarding the use of cf-checker tool to check for CF compliance of netcdf files #438
Replies: 5 comments 1 reply
-
Hi Jonathan, Since there are no errors, that implies for the reference version which in your case is 1.8 (I see 'Checking against CF Version CF-1.8' throughout the log) the datasets meet all requirements, however due to the warnings they do not meet all recommendations. So (regarding 1), the files can be considered CF-compliant for version 1.8, but (regarding 2) with room for improvement to abide also by the (compliance optional) recommendations. So:
Correct - the warnings are just recommendations, not required for compliance. An important caveat, however, is that version 1.8 (released Feb 2020) is well behind the current version 1.12 and imminent 1.13, due to be release in a month or so. Unfortunately the CF Checker is quite out-of-date at this stage, for various reasons (esp. Ros Hatcher the lead developer being too booked up with various other project work so unable to maintain it further at least of late) and therefore the latest version it can check against is 1.8, as per your check. So in order to ensure compliance against the latest version 1.12, you'd need to consult the 'Conformance' document for v.1.12 and manually check that any criteria new to v.1.12 relative to the v.1.8 (upon which the CF Checker has validated against already) are satisfied by for each dataset (see the '1.12' link under 'Conformance' here). I appreciate this is not ideal, and a lot more work than running the automated checker, but at present we don't have any checking tools which can check beyond version 1.8 (as far as I am aware). There is work going on in this area to produce new checking tools/functionality, but not yet ready sadly. That said, it may be sufficient for your dataset needs to be compliant with 1.8 - it depends on the use case. As for how to determine what's new in the conformance document from v1.8 to 1.12, if you did want to manually go in to check against the v1.12 'Conformance' document, the canonical source of the document is here: https://github.com/cf-convention/cf-conventions/blob/main/conformance.adoc so it may help to consult and even do a Hope that helps! |
Beta Was this translation helpful? Give feedback.
-
As we try to keep backward compatibility as much as possible, a 1.8 compliant dataset is highly likely (guaranteed?) to be 1.12 compliant. So you may not need 1.12 unless you want to use new features in 1.12 that aren't available in 1.8. |
Beta Was this translation helpful? Give feedback.
-
Hi Chris & Sadie, |
Beta Was this translation helpful? Give feedback.
-
Just a quick note to add that even for CF-1.8, the current version of For example, string-typed variables (introduced in CF-1.8) will trigger:
This is misleading, since such use is fully compliant with CF-1.8. I submitted a fix for this in 2022: …but since no new release has been published since 2021, this error still appears in the versions distributed via PyPI and conda. So even when checking against 1.8, it’s worth being cautious: some errors may reflect tool limitations rather than true non-conformance. |
Beta Was this translation helpful? Give feedback.
-
Hi Antonio, Thank you for the additional information. At the moment, the datasets that I've tested don't throw up any errors but your point about potential false positives is good to know when using the tool. I did a quick check between v1.8 and v1.12 and it seems that the differences are minor. There seem to be only 2 new additions to v1.12 over v1.8 (external variables and groups). At the moment these don't seem relevant for us to proceed. I have created a summary table on the differences between these two version which can be found on our project page - link. I share it here for reference. Thank you again for your support. Regards |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Question
Hello,
I have been using the CF-Checker tool (quick start guide o validate some NetCDF files. The checker reports no errors, but it does produce a number of warnings.
Am I correct in understanding that:
I have attached the CF-Checker output for your reference.
Thank you in advance for your guidance.
cf_compliance_summary.log
cf_compliance_details.log
Beta Was this translation helpful? Give feedback.
All reactions