Coordinate Systems Proposals

John Caron (caron@ucar.edu)
Tue, 08 Jul 1997 12:49:44 -0600

I want to add a few comments to the latest proposals about coordinate
systems.

In general, I agree with Walker and Waring's post 

 http://www.unidata.ucar.edu/software/netcdf/coords/0058.html

In particular their comment about multidimensional coordinate variables
(as proposed by me and others) that:

   "From a purely mathematical (and esthetic)point of view, we also find
the implied statement that d1, for example, depends on things other than
d1, is confusing and illogical. There is a real temptation here to
confuse the role of data dimensions and coordinates."

I have come to the same conclusion by a different route, namely by
considering coordinate systems in a formal and general way. And so I
currently am leaning towards leaving coordinate vars 1-dimensional, and
explicitly specifying coordinate systems in a named attribute. 

I plan to post soon some formal definitions that I hope will be useful,
also various examples that would be useful for a convention to cover,
and that I hope others will contribute to.

One part of their example I disagree with is lumping all of the
coordinate functions together:
	double salt(n,k,j,i);
            salt:long_name = "Salinity";
            salt:units = "1";
            salt:coordinates = "t cell_z cell_y cell_x cell_lat
cell_lon";

While there's nothing illegal about it, better is:
            salt:coordinates_xy = "t cell_z cell_y cell_x";
            salt:coordinates_latlon = "t cell_z cell_lat cell_lon";
emphasizing that you are specifying two coordinate systems.

----
The proposal by Gregory, Drach and Tett (GDT) is an ambitious effort to
specify quite a lot of new meaning.  It's really too big to chew on all
at once, but it will be useful to refer back to, and take the issues one
at a time. 

Since I've been thinking a lot about coordinate systems that should be
useful for any netcdf use, I would like to complete that discussion
first, then use whatever agreements we might make as a foundation for
the "higher level" semantics needed for climate data.  Of course,
keeping in mind specific examples from our specialties is of absolute
importance as we try to come up with a general, abstract solution. Thats
why I want to construct a list of concrete examples to compare any
proposal against.

In that context I will make a few comment about the GDT proposal as it
intersects our coordinate system discussion. The numbers refer to their
section numbers at http://www-pcmdi.llnl.gov/drach/netCDF.html

8. The notion of "axes", though intuitive, is too imprecise for me. As I
mentioned above, I will post my own attempt at precision in a few days.
   Requiring a variable's dimensions to be all different solves some
difficult problems, but I havent yet decided if its necessary.
   Requiring a special ordering of spatiotemporal dimensions, ala
COORDS, seems clumsy. What problem is being solved?
   Proposed use of singleton dimensions seems to be similar to attaching
an attribute. When should one or the other be used?

8,9 Requiring all dimensions to have a (1D) coordinate variable, even if
its a "dummy" that simply echoes the index, seems unnecessary. I also
think that in general coordinate variables need only be unique, not
monotonic.

10. This section actually refers (I think) to a georeferencing
coordinate system. which is a special case of a coordinate system. 
    Better to make a general solution to georeferencing coordinate
system, of which rotated grids would be a special case.

11. The problem with using udunits as a reference is udunits.dat which
is intended to be extended by the user, so you always have to ask: what
version? and what extensions?

12. I have mixed feelings about requiring "quantity" attribute to be
from a canonical list.  I would prefer to use that solution as a last
resort.

13. Doesn't lat,lon being in degrees imply topolgy="circular"?

14, 15, 16. I dont like the "units matching" convention of COORDS,
ambiguous about "quantity" attribute, and I realize that a proposal I
would likely make would also be to name the spatiotemporal coordinate
functions.

17,18, 19, 21. ancillary, component, associated, boundry coordinate
variables: I hope to propose a simpler, and more general solution.

20. I think of these as vectors, and don't particularly need special
handling. A generalized understanding of a coordinate system, of which a
georeferencing coordinate system is a special case, should suffice.

23. the notion of contracted dimensions seems useful.