Ethan Davis wrote:
Hi all,

We're looking at some GRIB-2 model data that contains 3, 6, 12, and 24
hour accumulated precipitation. I had been thinking we could represent
it through the netCDF-Java library as follows:

dimensions:
  time=30;
  x=185;
  y=129;
  nv=2;

variables:
  float time(time), x(x), y(y);

  float 3hr_accumulated_precip(time,y,x);
    3hr_accumulated_precip:bounds="3hr_bounds";
    3hr_accumulated_precip:cell_methods = "time: sum";
  float 6hr_accumulated_precip(time,y,x);
    6hr_accumulated_precip:bounds="6hr_bounds";
    6hr_accumulated_precip:cell_methods = "time: sum";
  float 12hr_accumulated_precip(time,y,x);
    12hr_accumulated_precip:bounds="12hr_bounds";
    12hr_accumulated_precip:cell_methods = "time: sum";
  float 24hr_accumulated_precip(time,y,x);
    24hr_accumulated_precip:bounds="24hr_bounds";
    24hr_accumulated_precip:cell_methods = "time: sum";

  float 3hr_bounds(time,nv);
  float 6hr_bounds(time,nv);
  float 12hr_bounds(time,nv);
  float 24hr_bounds(time,nv);

data:
  3hr_bounds = _, _, 0, 3, 3, 6, 6, 9, 9, 12, ...;
  6hr_bounds = _, _, _, _, 0, 6, 3, 9, 6, 12, 9, 15, ...;
  12hr_bounds = _, _, _, _, _, _, _, _, 0, 12, 3, 15, 6, 18, ...;
  24hr_bounds = _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 0, 24, 3, 27, 
6, 30, ...;

But after re-reading section 7.1 "Cell Boundaries" it seems that a
boundary variable should be associated with a coordinate variable rather
than a data variable.

I would prefer not to create duplicate time coordinate variables with
different bounds as that would put each data variable on a different
time coordinate. Which doesn't seem optimal.

Am I missing another way to represent this? If not, why are boundary
variables associated with coordinate variables rather than data
variables? Is it just that this type of use case hasn't come up before
or is there something more fundamental I'm missing?

Thanks,

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

The time coordinate here means forecast time, and you are trying to capture "interval of accumulation".
As jonathan says, you would have to create separate time coordinates for each 
variable which has a distinct bounds. theoretically theres no problem with 
that, practically it may be more confusing than just documenting the bounds on 
the variable in a non-standard but human-readable way. it seems unlikely that a 
generic program could do anything useful with those coordinate bounds.


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

Reply via email to