Re: Coordinate Systems Proposals

John Sheldon (
Mon, 14 Jul 1997 18:56:55 -0400 (EDT)

Hi again Steve-

> > >     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.
>     As far as I can see, there is no reason "to tell an application
> whether the contents of `lat' should be used as coordinates along
> the i-dimension of `temp' or the j-dimension".  Indeed, I'm not even
> sure what you mean by that statement.

Let me give an example.  We have a netCDF-reading module for the Iris
Explorer package.  Right now it will read in an array of data, plus
vectors containing the coordinates of each axis of the array.  These
are called "perimeter coordinates" in Explorer.  However, Explorer can
treat things much more generally using "curvilinear coordinates", where
the X, Y,... positions of each data point are also stored in
3-dimensional arrays.  The data points can then be rendered in 3-D
space in their correct location (which is no longer necessarily a
regular grid).  

So...if we were to upgrade our Explorer module to handle the example
described above (ie, "curvilinear coordinates"), what should we store
in the X-array, and in the Y-array?  That is, suppose we want to plot
"temp(3,4)" as a color coded ball in a 2-D visualization.  If
"lat(3,4)=46" and "lon(3,4)=19" how do we know which one is latitude
(or "Y") and which one is longitude (or "X")?  Are "lat" and "lon"

>   Applications typically need to
> convert between manifold coordinates and base coordinates.  In the
> above example, an application might need to find the (base coordinates)
> (lat,lon) corresponding to the (manifold coordinates) (2,4).  This
> would be done by forming the base coordinates (lat(2,4),lon(2,4)).

Maybe this is the answer, and I just missed the mail that explained
it...  Am I to take the "coordinates" attribute as containing an
ordered list, so that I can infer that the first variable listed there
contains the coordinates along the first axis of temp?

But, then, how do you position (eg, in a 3-D visualization) the points
on your coiled wire?  And how would I know that the coordinates are


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

(609) 987-5053 office
(609) 987-5063 fax