ioos/compliance-checker

Improve CF Conformance: 5 Coordinate Systems and Domain

jamesdoyle21 opened this issue · 2 comments

5 Coordinate Systems and Domain
Requirements:

  • All of a variable’s dimensions that are latitude, longitude, vertical, or time dimensions must have corresponding coordinate variables.

  • A coordinate variable must have values that are strictly monotonic (increasing or decreasing).

  • A coordinate variable must not have the _FillValue or missing_value attributes.

  • The type of the coordinates attribute is a string whose value is a blank separated list of variable names. All specified variable names must exist in the file.

  • The dimensions of each auxiliary coordinate must be a subset of the dimensions of the variable they are attached to, with two exceptions. First, a label variable of type char will have a trailing dimension for the maximum string length. Second, a ragged array (Chapter 9, Discrete sampling geometries and Appendix H) uses special, more indirect, methods to connect the data and coordinates.

Thanks for your work on the CF checker! It is a very helpful tool that I use often.

I am in the process of writing new files in the unusual format of CF 1.8 with the discrete geometry ragged array of trajectory profiles Appendix H.6.3.

https://cfconventions.org/Data/cf-conventions/cf-conventions-1.8/cf-conventions.html#_ragged_array_representation_of_trajectory_profiles

I get an error from the checker on my test file although as far as I can tell from the CF 1.8 docs it is to spec. Here is a sample error:

§5 Coordinate Systems | dimensions for auxiliary coordinate variable time (profile) are not a subset of dimensions for variable salinity (obs)

Upon finding this issue here, I am hoping this is a known issue with the checker. Can I simply ignore this particular error when it comes to CF 1.8 Ragged array of trajectory profiles (H.6.3)?

Sorry for the very late reply. Probably yes. We're going to work through getting the rest of ragged array dimensions working.