Hi John et. al.,
My recommendation would be that we flag compression by gathering
(section 8.2) as a _deprecated_ feature of CF. NetCDF-4 compression by
chunking achieves a similar goal in a way that is transparent to
clients. (Simplicity is a great virtue.) In the CF document we could
provide a date after which the feature would no longer be regarded as a
part of CF.
Section 5.3 seems to suggest the use of compression by gathering as a
way to encode a grid type that is neither rectangular, curvilinear, nor
"unstructured". The suggested encoding describes a scatter of
(potentially) randomly located points. Only by examination of the
numerical values of its coordinates would the row-like structure become
apparent. (There is a whole history to discussions of whether CF should
support discontiguous cells. The arguments in favor of discontiguous
cells have mostly used examples on the time axis.) Should this be a
deprecated feature, too?
Discussion ....
- Steve
==================================
John Caron wrote:
> CF Section 8.2 compression by gathering has this example:
>
> dimensions:
> lat=73;
> lon=96;
> landpoint=2381;
> depth=4;
>
> variables:
> int landpoint(landpoint);
> landpoint:compress="lat lon";
> float landsoilt(depth,landpoint);
> landsoilt:long_name="soil temperature";
> landsoilt:units="K";
> float depth(depth);
> float lat(lat);
> float lon(lon);
>
> data:
> landpoint=363, 364, 365, ...;
>
>
> However, CF Section 5.3 "Reduced Horizontal Grid" has a different example of Compression by Gathering:
>
> "A "reduced" longitude-latitude grid is one in which the points are arranged along constant latitude lines with the number of points on a latitude line decreasing toward the poles. Storing this type of gridded data in two-dimensional arrays wastes space, and results in the presence of missing values in the 2D coordinate variables."
>
> Example 5.3. Reduced horizontal grid
>
> dimensions:
> londim = 128 ;
> latdim = 64 ;
> rgrid = 6144 ;
> variables:
> float PS(rgrid) ;
> PS:long_name = "surface pressure" ;
> PS:units = "Pa" ;
> PS:coordinates = "lon lat" ;
> float lon(rgrid) ;
> lon:long_name = "longitude" ;
> lon:units = "degrees_east" ;
> float lat(rgrid) ;
> lat:long_name = "latitude" ;
> lat:units = "degrees_north" ;
> int rgrid(rgrid);
> rgrid:compress = "latdim londim";
>
> note:
> float lon(rgrid);
> float lat(rgrid);
>
> instead of:
> float lat(lat);
> float lon(lon);
>
> I believe CF is trying to deal with 2D lat lon coordinates here, whereas in 8.2, it had 1D coordinates. Actually i think the common case for reduced grids is 1D latitude coordinates and variable length 2D longitide coordinates (eg reduced Gaussian Grids). So probably the example should be
>
> dimensions:
> londim = 128 ;
> lat = 64 ;
> rgrid = 6144 ;
> variables:
> float PS(rgrid) ;
> PS:long_name = "surface pressure" ;
> PS:units = "Pa" ;
> PS:coordinates = "lon lat" ;
> float lon(rgrid) ;
> lon:long_name = "longitude" ;
> lon:units = "degrees_east" ;
> float lat(lat) ;
> lat:long_name = "latitude" ;
> lat:units = "degrees_north" ;
> int rgrid(rgrid);
> rgrid:compress = "lat londim";
>
> Its also probably worth adding into 8.3 the use of coordinates:
>
> float data(depth, cindex);
> data:coordinates = "lon lat" ;
>
> We havent really described the general use of this "compression by gathering" technique. Does anyone have any example files using this? Should we deprecate? generalize?
>
>
>
> _______________________________________________
> CF-metadata mailing list
> CF-metadata at cgd.ucar.edu
> http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata
>
--
Steve Hankin, NOAA/PMEL -- Steven.C.Hankin at noaa.gov
7600 Sand Point Way NE, Seattle, WA 98115-0070
ph. (206) 526-6080, FAX (206) 526-6744
"The only thing necessary for the triumph of evil is for good men
to do nothing." -- Edmund Burke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cgd.ucar.edu/pipermail/cf-metadata/attachments/20081014/b7c52992/attachment-0002.html>
Received on Tue Oct 14 2008 - 18:07:14 BST