Dear Chris

>  * In general, what is of interest is a collection (100s to 10,000s,
> or more... ) of particles, rather than an one individual particle.
> Thus, it is more likely that the user might ask:
> 
> "where are all the particles at time T?"
> than:
> "How did particle X travel over time?"
> 
>  * particles can have many associated attributes (properties, etc)
> that change over time.
> 
>  * many models create and destroy particles as the model runs

I agree, this is a case for a ragged array, with two unlimited dimensions,
logically speaking. However such a thing can be accommodated in the new
discrete geometry conventions

http://www.unidata.ucar.edu/staff/caron/public/CFch9-may10.pdf

This describes two ragged array representations, which are intended for this
purpose. Only one netCDF unlimited dimension is used; the two logical axes are
combined into one netCDF axis.

I have not thought about this in detail, but I suspect it could look something
like this:

int row_size(time) ;
  row_size:long_name = "number of particles for this time";
  row_size:sample_dimension = "obs" ;
double time(obs) ;
  time:standard_name = "time";
  time:units = "days since 1970-01-01 00:00:00" ;
int particle(obs)
  particle:long_name="particle number";
float quantity(obs) ;
  quantity:long_name="one of the physical properties of the particle"
  quantity:coordinates = "lat lon alt particle" ;

which associates a 3D position lat,lon,alt and a particle identifier with
each observation i.e. datum. obs is the unlimited dimension. If there is also
invariant information for each particle, a large enough particle dimension
would also be needed and various auxiliary coord vars of this dimension.
I think this is like the trajectory feature type, but with an additional
indirection via the particle identifier to link the observations with invariant
information on particles.

Cheers

Jonathan
_______________________________________________
CF-metadata mailing list
[email protected]
http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata

Reply via email to