NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
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
thredds
archives: