++ ++
GeoZL

codec / near-lossless / lossy

quant_log

Allow the same percentage of error everywhere.

quant_log uses a relative error bound. With MAX_ERROR=1%, a value near 8 and one near 8,000 both keep the same proportional accuracy. Zero remains exact, and the grid depends only on the recipe, so changing chunk boundaries does not change the result. Send NaNs through nodata.

ctid
0x72D782
header
dtype + flags + step · 10 bytes
recipe
LOG:MAX_ERROR=P% · ,STORE=VALUES
types
integers 8 to 64-bit · floats 16 to 64-bit
decode
one table lookup, or a copy when the stream holds the reconstruction
Code error="LOG:MAX_ERROR=1%"
quant_log holds a relative bound. The grid of levels around 8 and the grid around 8000 have the same shape, so a sample at either end comes back within the same one per cent, and in log2 the two grids share one uniform step