[CF-metadata] axis attribute
j.m.gregory at reading.ac.uk
Thu Apr 6 09:49:56 MDT 2017
Dear Jim and Sebastien
The original intention of axis was to label the independent variables as 1D
xyzt axes of the data variables. This can be deduced from other attributes,
but it's more effort. It's partly a plotting hint, but also it's because you
might reasonable want to tell software, "give me the z-axis coordinates", or
"calculate a mean over the x-direction". The latter is often a zonal mean, but
it isn't with a rotated-pole or tripolar grid, yet the operation is still
It's useful that you've pointed out the confusion of purpose. If it were
regarded as an acceptable backwards-incompatibility, which I'm nervous about,
I'd be happy if we returned "axis" to its original purpose of identifying 1D
axes, and also for scalar coordinate variables (which are equivalent to axes
of size one), and provided another attribute to label aux coords as horizontal.
I agree that if we have 1D x and y, with 2D lat and lon, the 1D variables are
the axes. That's consistent with the original purpose of the axis attribute.
> I also find the units of latitude and longitude confusing: it looks like it was a way to squeeze the direction of the coordinate inside the units. I have the same observation for the time coordinate that has its origin in the units!
This convention was kept in CF for backwards-compatibility with COARDS. CF does
not use units in any other case to identify the quantity or sense.
> It was done correctly for z coordinate using "units" and "positive", probably because there are many types of z coordinates with various origin and directions, and no real consensus. I note however that often the origin is not always clearly defined.
The positive attribute was also kept for backwards-compatibility with COARDS.
It has the advantage of being useful to identify the vertical axis, but this
can also be done with axis="Z". CF standard names provide information which
indicates the sign convention.
If coordinate_index is confusing, I think standard_names containing x_index
or y_index would be OK, provided we change the existing standard names
to remove "_coordinate".
More information about the CF-metadata