⇐ ⇒

[CF-metadata] axis attribute

From: Jonathan Gregory <j.m.gregory>
Date: Tue, 21 Nov 2006 18:03:39 +0000

Dear all

I don't think we intended axis to be used for auxiliary coord vars. It doesn't
say this explicitly in the document, but "axis" would be an odd name for a 2D
grid, and auxiliary coord vars are introduced in CF 5, whereas axis is in CF 4.

Yes, I still think we should after all restrict X and Y to genuine 1D lon and
lat coord variables. As Simon correctly says, the axis attribute in this case
is not necessary, because you can identify lon and lat from units, which are
mandatory, and standard_name, if present. We certainly had discussions about
this redundancy when we introduced the axis attribute.

The redundancy arises because we continue to support COARDS. Suppose that one
day we didn't insist on COARDS conventions. In that case it might be natural
to use units of degrees for lon and lat, as we do for rotated lon and lat. The
use of degrees_east etc. arises because COARDS depends on units to identify the
axes. We could identify lon and lat by standard name, if we made the standard
name mandatory. We did not make it mandatory because of COARDS compatibility.
However, for the vertical, the standard name would not be sufficient because
there are many possible vertical coordinates. The COARDS convention is to
identify an axis as vertical if it has units of pressure or a positive
attribute, and CF upholds that too. But in a non-COARDS convention, I'd suggest
it would be simpler to make the axis="Z" attribute mandatory. Similarly, it is
easier to identify a time axis by axis="T" than by parsing it to see whether it
has units of time; standard name is not sufficient again because there is more
than one possible standard name for time. This paragraph may seem like a
digression, but the conclusion of it is that I think the axis attribute is a
good thing to have because it is what we would use to identify 1D axes if we
departed from COARDS compatibility. That's not a strong argument.

There already exists data where X and Y have been used for coord vars which are
not 1D lon and lat. If we restrict the use of it now, the implication is that
new CF-compliant applications would be entitled to assume that any coord var
labelled X is actually 1D longitude, even though it might not be if it was old
data. They should therefore test the Conventions attribute before making this
assumption to check the version of CF. Existing CF-compliant applications
would not make this assumption; they should instead be using the units or
standard_name to identify lon and lat axes. There will be no problems for them
with new data written using the restricted meaning of X and Y.

Cheers

Jonathan
Received on Tue Nov 21 2006 - 11:03:39 GMT

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

⇐ ⇒