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
