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
> CF-metadata at cgd.ucar.edu
> 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.
Received on Thu Oct 22 2009 - 07:03:18 BST