Re: [thredds] Sparse Grids

Kevin L Manross wrote:

Greetings!


For our CONUS grids, we make use of "sparse grids" in our netCDF files. From <http://cimms.ou.edu/~lakshman/WDSS2/dataformat.shtml> (about halfway down the page), our/the netCDF sparse grid format can be described as:

If your data are sparse, you can save a whole bunch of space by saving only the non-missing data in a simple run-length encoded format. The global attributes and the other variables are the same as the regular formats. However, the dimensions are provided by pixel_x, pixel_y for the first two dimensions and run_length for the number of values in a run (default=1 if run_length is omitted). The original dimensions are also required even if no variables actually use them. The default background value is MISSING_DATA unless a different value is provided (see the SparseRadialSet example below).

Example of a sparse lat-lon-grid:

dimensions:
        Lat = 650 ;
        Lon = 700 ;
        pixel = 23541 ;
variables:
        float Reflectivity_0C(pixel) ;
                Reflectivity_0C:Units = "dBZ" ;
        short pixel_x(pixel) ;
        short pixel_y(pixel) ;
        int pixel_count(pixel) ;

// global attributes:
                :TypeName = "Reflectivity_0C" ;
                :DataType = "SparseLatLonGrid" ;
                :Latitude = 37. ;
                :Longitude = -100. ;
                :Height = 0. ;
                :Time = 990376569 ;
                :FractionalTime = 0.584999999999127 ;
                :attributes = " ColorMap Unit" ;
                :ColorMap-unit = "dimensionless" ;
                :ColorMap-value = "Reflectivity" ;
                :Unit-unit = "dimensionless" ;
                :Unit-value = "dBZ" ;
                :LatGridSpacing = 0.01 ;
                :LonGridSpacing = 0.01 ;
                :MissingData = -99900.f ;
                :RangeFolded = -99901.f ;


I haven't dug far enough yet to see much on netCDF sparse grids. Considering that we were able to reduce a CONUS grid from 71 Mb to 4 Mb, we would like to continue to make use of sparse grids if we can.

Can anyone offer some guidance whether we can use THREDDS with sparse grid data? If we can, do I attempt to specify my coordinate transformations in the header, or is there more manipulation that I need to do on the data?

Thanks!!

-kevin.




Hi Kevin:
TDS does not support sparse arrays. Have you considered using netcdf-4? I would 
expect the compression facilities there would give you similar size reduction, 
and it is transparent to all applications, including TDS. You should be able to 
relink your application with it, and make some minor modifications to your 
nc_create() call, and see what you get.

John



  • 2010 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the thredds archives: