⇐ ⇒

[CF-metadata] string valued coordinates

From: Jonathan Gregory <j.m.gregory>
Date: Sat, 8 Nov 2014 23:06:50 +0100

Dear Martin

> Deprecating the units attribute for string and char variables (perhaps int, too?) sounds like a good idea. Yet, I would still second Marc to at least allow for a "None" value in the units attribute - as far as I understand this wouldn't break the compatibility.

I agree, it would be backward-compatible to allow a None unit, but it would
not be if it were compulsory to use it in some cases. I understand the idea,
but I'm not convinced that it would help. If None is needed only for char/
string values, isn't it just as simple to say that these don't have meaningful
units, and that the units att should be ignored? Unless we made None mandatory
to use, software would have to be able to make the test based on data type
anyway, so the treatment would be more complicated (having two alternatives),
rather than less.

> But, in my view even more important, is the issue of making the units attribute mandatory in CF-2. We had this discussion earlier, and I sensed some support for the general idea of "cleaning" CF in the sense that our applications can rely on certain things to be there, because this clearly enhances the resilience of interoperable systems. If people submit their test files to a CF check and get a message back that they are supposed to add a units attribute, they may do so. If the CF checker doesn't tell them this (because it is valid CF to have variables without a units attribute), then they will most certainly not do so. Of course, in light of the new discussion, we would have to carefully draft the rules for when the units attribute is indeed mandatory.

The units att is already required for dimensional data. The problem is that
compliance cannot be checked because the checker does not know if the data is
dimensional or dimensionless. I think it would be fine to recommend that the
units att should be used (rather than rely on the default of dimensionless)
for all numeric data. Then its absence would provoke a warning (although not
an error). Would that help?

If there is a standard_name for a dimensional quantity, the checker should
already give an error if the units are absent. However we can't require
the standard_name since the data-writer might need a new one to be defined,
which can't be done instantly, and it might not be agreed that a standard_name
should be defined (if the application was too specific).

I would, I think, advocate a backward-incompatible change to drop support for
the COARDS non-udunits dimensionless units level, layer, and sigma_level. I
suspect that these are obsolete. I have never seen them used in CF. But perhaps
they are in use - comments welcome.

Best wishes

Jonathan
Received on Sat Nov 08 2014 - 15:06:50 GMT

This archive was generated by hypermail 2.3.0 : Tue Sep 13 2022 - 23:02:42 BST

⇐ ⇒