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".