Harvey DAVIES wrote:
> > > 8. correlations, using a dimension more than once:
> > > precip(time, npoints)
> > > precip.correlation( npoints, npoints)
> > > lat(npoints)
> > > lon(npoints)
> >
> > Your solution:
> > > - will need some notation not yet formally proposed, eg:
> > > :coordinates = "lat(npoints,) lon(npoints,) lat(,npoints)
> > My solution:
> > Not applicable..."correlation" does not possess "coordinates" the
> > way we think of them. [rest deleted]
>
> I just want to emphasise my agreement by pointing out that one could
> equally well be considering correlations between different variables at
> the same station. This is a little nasty in that you need a data matrix
> with different units of measure for each column! E.g. say we have matrix
> data(time,var)
> where
> var=0 is annual precipitation,
> var=1 is annual mean temperature,
> var=2 is annual mean relative-humidity,
> etc.
>
> Then corr(var,var) is correlation matrix.
> So corr(0,2) is correlation between variables:
> 1. annual precipitation
> and
> 2. annual mean relative-humidity.
>
> You could even combine both stations and variables. E.g. start with data
> array
> data(time,var,station)
> and calculate 4D correlation array corr(var,station,var,station).
> So corr(0,5,2,9) is correlation between variables:
> 1. annual precipitation at station 5
> and
> 2. annual mean relative-humidity at station 9.
I would propose a coordinate system for the first example to be
corr:coordinates = "var_name(var,) var_name(,var)";
where var_name is the name of the variable. The somewhat obscure
"(var,)" and "(,var)" means use the first (second) var of corr(var,var).
My document at
http://acd.ucar.edu/~caron/definitions.html
tries to somewhat formalize this in the language of projection
functions.
The second case is similar:
corr:coordinates = "var_name(var,,,) station_name(,station,,)
var_name(,,var,) station_name(,,,station)";
Here we have a 4D coordinate space; the values happen to be strings,
though they could be integer station numbers, or anything else. You
could define a 6D coordinate system if you wanted to geolocate the
stations by replacing station_name() with lat(), lon(), etc.
While the syntax is a little clumsy and might be improved on (I havent
actually proposed it), the concept that it embodies is clearly a
coordinate system in the sense I have defined in
http://acd.ucar.edu/~caron/proposals.html
I also would claim that it is essential to making the file
self-documenting, and that a human reading such a file would infer such
a coordinate system.
I guess I don't understand what you mean by "coordinate system".