You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| 0 | No `NaN`, no `1e35`|:heavy_check_mark: Normal SPERR compression |
77
+
| 0 | Has `NaN` or `1e35`|:x: Likely numeric error |
78
+
| 1 | No `NaN`, no `1e35`|:heavy_check_mark: Normal SPERR compression |
79
+
| 1 | Has `NaN`, no `1e35`|:heavy_check_mark: Normal SPERR compression; `NaN` is restored at its exact locations |
80
+
| 1 | Regardless of `NaN`, has `1e35`|:x: Likely numeric error |
81
+
| 2 | No `NaN`, no `1e35`|:heavy_check_mark: Normal SPERR compression |
82
+
| 2 | No `NaN`, has `1e35`|:heavy_check_mark: Normal SPERR compression; `1e35` is restored at its exact locations |
83
+
| 2 | Has `NaN`, regardless of `1e35`|:x: Likely numeric error |
84
+
85
+
**Final note:** if a variable is indicated to have missing values, but it actually does not, then there's no bitmasks involved thus no storage overhead!
86
+
27
87
## Find `cd_values[]`
28
88
To apply SPERR compression using the HDF5 plugin, one needs to specify 1) what compression mode and 2)
29
89
what compression quality to use. Supported compression modes and qualities are summarized below:
@@ -42,7 +102,8 @@ and the `Z` rank to be varying the slowest, before the data is passed to the com
42
102
43
103
The HDF5 libraries takes in these compression parameters as one or more 32-bit `unsigned int` values,
44
104
which are named `cd_values[]` in most HDF5 routines.
45
-
In the case of `H5Z-SPERR`, there is exactly one `unsigned int` used to carry this information.
105
+
In the case of `H5Z-SPERR`, there is exactly one `unsigned int` used to carry compression-related information, and
106
+
possibly one more `unsigned int` to indicate the potential existance of missing values.
46
107
47
108
### Find `cd_values[]` Using the Programming Interface
48
109
Using the HDF5 programming interface, `cd_values[]` carrying the compression parameters are passed
@@ -75,11 +136,17 @@ Please use this value as a single 32-bit unsigned integer in your applications.
75
136
Note: an integer produced by `generate_cd_values` can be decoded by another command line tool, `decode_cd_values`,
76
137
to show the coded compression parameters.
77
138
78
-
## Use in NetCDF-4 APIs
79
-
`H5Z-SPERR` also facilitates the application of SPERR compression on
0 commit comments