Skip to content

Compression

Compression is designed to support different types of compression algorithms with no or minimal impact on query performance. Compression is lossless.

Supported dataset types

Compression option is available only for selected dataset types

  • Spatial domain must be gridded. Mesh spatial domain is not supported yet.
  • Only timestep storage type is supported. Timeseries cannot be compressed.

Compression algorithms

  • Deflate compression : standard .Net deflate algorithm, supports all datatypes (float, double, int,...)
  • DeflateFast: deflate optimized for speed
  • DeflateOptimal: deflate optimized for size
  • Delta compression: custom value-delta algorithm, currently supports sonly Int16
  • DeltaFast: delta optimized for speed

Enabling compression in conversion

Compression is enabled by adding writer parameter "Compression" with the name of Compression algorithm (see above). Example:

 "writerParameters": [
    {
      "name": "Compression",
      "value": "DeflateFast"
    }

Specific datasets

HYCOM, COPERNICUS

Hycom and Copernicus use Int16 internal storage. Optimal compression algorithm is DeltaFast

 "writerParameters": [
    {
      "name": "Compression",
      "value": "DeltaFast"
    }
  ```

### NOAA
NOAA is highly (lossy with JPEG2000) compressed format.
Storing it as uncompressed doubles is not optimal. Float precision is sufficient.
NOAA Reader adds reader parameter DoubleAsFloat, which forces converting and storing double value as float.

NOAA can use only deflate compression now.
"readerParameters": [ { "name": "DoubleAsFloat", "value": true } ], "writerParameters": [ { "name": "Compression", "value": "DeflateFast" } ```