John,

Is this actually climatology data? If it were climatology data, it would usually be the average for a given hour, day, or whatever, where the average is taken over a decade or so. I think you may just need to apply regular bounds.

Grace and peace,

Jim


On 2/20/2012 12:27 PM, John Caron wrote:
Im working with NOAA's CFSR dataset, reading it into the CDM, which essentially means converting GRIB into CF/netCDF.

ref:
http://nomads.ncdc.noaa.gov/data.php#cfs-reanal-data
http://dss.ucar.edu/datasets/ds093.2/

from NCAR's DSS page:

"CFSR monthly atmospheric, oceanic and land surface output products are available as 6-hourly diurnal monthly means (00Z, 06Z, 12Z, and 18Z)"

If I understand this correctly, the monthly mean data is as follows:

  for each month:
      for each day of the month:
compute separate averages of the data at the 0,6,12, and 18Z time coordinate.

So one ends up with 4 time coordinates per month, and the data represents the average for that month at that time. The time coordinate is not a real calendar date, for example for the month 2008-08, the time coordinate is not really

   2008-08-01T00:00:00.000Z
   2008-08-01T06:00:00.000Z
   2008-08-01T12:00:00.000Z
   2008-08-01T18:00:00.000Z

but more like:

   2008-08-*T00:00:00.000Z
   2008-08-*T06:00:00.000Z
   2008-08-*T12:00:00.000Z
   2008-08-*T18:00:00.000Z

where the * indicates an average over the days in that month.

From

http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.6/cf-conventions.html#climatological-statistics

It appears that CF would represent this as:
dimensions:
   time=4;
   nv=2;

  variables:
   float temperature(time,lat,lon);
     temperature:long_name="surface air temperature";
     temperature:cell_methods="time: point within days time: mean over days";
     temperature:units="K";

  double time(time);
     time:climatology="climatology_bounds";
     time:units="days since 2008-01-01";

  double climatology_bounds(time,nv);

data: time="2008-08-01T00:00Z","2008-08-01T06:00Z","2008-08-01T12:00Z","2008-08-01T18:00Z" ;

   climatology_bounds="2008-08-01T00:00Z", "2008-08-31T00:00Z",
                      "2008-08-01T06:00Z", "2008-08-31T06:00Z",
                      "2008-08-01T12:00Z", "2008-08-31T12:00Z",
                      "2008-08-01T18:00Z", "2008-08-31T18:00Z" ;
Using "point within days" because  we have an instantaneous quantity.

However, im not sure what this sentence in 7.4 means: "When considering intervals within days, if the earlier time of day is equal to the later time of day, then the method is applied to a full 24 hour day."


Another case is when the data are on time intervals, for example "Total Precipitation Accumulation". In this case, the original data are on time intervals which i represent as (start,end) dates:

2008-08-01T00:00:00.000Z, 2008-08-01T00:00:06.000Z
2008-08-01T06:00:00.000Z, 2008-08-01T00:00:12.000Z
2008-08-01T12:00:00.000Z, 2008-08-01T00:00:18.000Z
2008-08-01T18:00:00.000Z, 2008-08-01T00:00:24.000Z
2008-08-02T00:00:00.000Z, 2008-08-02T00:00:06.000Z
2008-08-02T06:00:00.000Z, 2008-08-02T00:00:12.000Z
2008-08-02T12:00:00.000Z, 2008-08-02T00:00:18.000Z
2008-08-02T18:00:00.000Z, 2008-08-02T00:00:24.000Z
2008-08-03T00:00:00.000Z, 2008-08-03T00:00:06.000Z
...

which are are averaged over days, giving 4 averages for each month, which i denote as:

2008-08-*T00:00:00.000Z, 2008-08-*T00:00:06.000Z
2008-08-*T06:00:00.000Z, 2008-08-*T00:00:12.000Z
2008-08-*T12:00:00.000Z, 2008-08-*T00:00:18.000Z
2008-08-*T18:00:00.000Z, 2008-08-*T00:00:24.000Z

So perhaps this is:
dimensions:
   time=4;
   nv=2;

  variables:
   float precipitation(time,lat,lon);
     precipitation:long_name="surface air temperature";
     precipitation:cell_methods="time: sum within days time: mean over days";
     precipitation:units="K";

  double time(time);
     time:climatology="climatology_bounds";
     time:units="days since 2008-01-01";

  double climatology_bounds(time,nv);

data: time="2008-08-01T03:00Z","2008-08-01T09:00Z","2008-08-01T15:00Z","2008-08-01T21:00Z" ;

   climatology_bounds="2008-08-01T00:00Z", "2008-08-31T06:00Z",
                      "2008-08-01T06:00Z", "2008-08-31T12:00Z",
                      "2008-08-01T12:00Z", "2008-08-31T18:00Z",
                      "2008-08-01T18:00Z", "2008-08-31T24:00Z" ;
??




thanks for any insights,
 John




_______________________________________________
CF-metadata mailing list
CF-metadata@cgd.ucar.edu
http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata

--
Jim Biard

Government Contractor, STG Inc.
Remote Sensing and Applications Division (RSAD)
National Climatic Data Center
151 Patton Ave.
Asheville, NC 28801-5001

jim.bi...@noaa.gov
828-271-4900

_______________________________________________
CF-metadata mailing list
CF-metadata@cgd.ucar.edu
http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata

Reply via email to