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.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDF #WNT-807985]: deflation question/clarification



Hi Charlie,

> A user wants to uncompress their files with NCO and setting the
> deflation level to zero works yet the variables are still listed
> as having the deflation filter set. Now I make NCO manually turn-off
> the deflate flag when the deflation level is zero yet I'm wondering
> why the netCDF library does not do this automatically when I call
> var_deflate() with level 0. This makes me think I don't fully
> understand what deflation level equals zero means. And I'm wary
> of introducing bugs through naïvete.

I'm CC:ing hdf5 support, in case they have a correction for my
understanding of why deflation level 0 is distinguished from
uncompressed.

I think netCDF-4 is following HDF5's meaning for deflate level 0.  The
HDF5 reference documentation for H5P_set_deflate() says:

    Note that setting the compression level to 0 (zero) does not turn 
    off use of the gzip filter; it simply sets the filter to perform no
    compression as it processes the data.

> Is there any distinction between uncompressed variables and variables
> with compression set to level zero?

I think this means that the variable must still use chunked rather than 
contiguous layout, whereas an uncompressed variable could use contiguous 
layout.

> Are such variables fully uncompressed?

Yes.

> Perhaps this could be indicated in the manual.

Right, if hdf5 support confirms my understanding, I'll make this 
difference explicit in the documentation.

> Is there a reason not to unset the deflation flag when deflation
> level is zero?

I'll pass the buck to HDF5 support, in case they know a good reason 
why the deflation property is set for data "compressed" with deflation 
level 0.

--Russ

Russ Rew                                         UCAR Unidata Program
address@hidden                      http://www.unidata.ucar.edu



Ticket Details
===================
Ticket ID: WNT-807985
Department: Support netCDF
Priority: Normal
Status: Closed