Re: Coordinate Systems Proposals

Hi Steve-

It seems that we are in very good agreement in principle by
recommending the "referential attributes" approach.  It's nice to have
someone with a better mathematical background explain to us that what
we are debating does, indeed, have some roots in theory :-)...

The only remaining heartburn I have is with the implementation you and
John Caron seem to come back to.  I addressed this in my previous
mail, but let me briefly mention it again....In your example:

>     dimensions:
>       i = 5;
>       j = 6;
> 
>     variables:
>       float temp(i,j);
>           temp:coordinates = "lat, lon";
>       float lat(i,j);
>       float lon(i,j);

there is nothing to tell an application whether the contents of "lat"
should be used as coordinates along the i-dimension of "temp" or the
j-dimension.  In addition, it introduces another attribute when it's not
necessary.  Isn't this cleaner and less ambiguous:

     dimensions:
        i = 5;
        j = 6;
 
     variables:
        float temp(i,j);
              temp:i = "lat";
              temp:j = "lon";
        float lat(i,j);
        float lon(i,j);


However, you have introduced something new with your second example:

>     dimensions:
>       s = 100;
> 
>     variables:
>       float temp(s);  // temperature along spiral
>           temp:coordinates = "z, rho, theta";
>                       // cylindrical coordinate system (CCS)
>       float rho(s);   // distance from CCS center axis
>       float theta(s); // CCS azimuth
>       float z(s);     // CCS height

First, I would restate this example like so:

>     dimensions:
>       s = 100;
> 
>     variables:
>       float temp(s);  // temperature along spiral
>             temp:s = "z, rho, theta";
>                       // cylindrical coordinate system (CCS)
>       float rho(s);   // distance from CCS center axis
>       float theta(s); // CCS azimuth
>       float z(s);     // CCS height

so that the rule about interpreting referential attributes (same name
as a dimension) continues to work.

BUT, I think the *new* problem you raise here (please forgive my poor
memory if it has been mentioned before) is that we have been too
geo-centric.  Now, maybe we can be forgiven since most of us are
probably earth scientists anyway.  I think we need a way to specify the
coordinate system for which the ancillary coordinates apply (spherical,
Cartesian, cylindrical,...).  A generic application needs to know that
"rho", "theta", and "z" are not lat-lon-z, or x-y-z.  Suppose some one
instead used the names "coord1", coord2", and "coord3"?  We'd have no
idea!

I think part of what John Caron was getting at with his proposal had to
do with this.  Perhaps he was suggesting that part of his proposed
"coordinates_xy" and "coordinates_latlon" attributes contained the
substring necessary to infer this.  I don't particularly like this
implementation - in this case, i *would* I'd prefer to add a new
attribute like "coord_system".

Or maybe we should just punt on this and stay geocentric {:-)?

BTW, I agree with your list of conditions for expanding the conventions
regarding coordinate variables.  It always seems like a good idea to
"first, do no harm".

John

(jps@xxxxxxxx) 
Geophysical Fluid Dynamics Laboratory/NOAA 
Princeton University/Forrestal Campus/Rte. 1 
P.O. Box 308 
Princeton, NJ, USA  08542

  • 1997 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: