Context
The scale/offset codec extension has been merged in the zarr-extensions repository, providing a standardized Zarr V3 array-to-array codec for scale/offset transformation. This closes the specification gap documented in zarr-developers/zarr-extensions#42.
The next step is implementation in zarr-python, which would make the codec transparently available through xarray and our downstream stack (data pipeline, TiTiler).
What this enables
With a standardized and implemented scale/offset codec, our GeoZarr data arrays can:
- Store reflectance data efficiently as
uint16 (0–10000) while transparently presenting float32 values (0.0–1.0) to users
- Follow CF conventions for physical quantities without requiring users to manually apply
scale_factor / add_offset attributes
- Decouple storage encoding from data presentation — the Zarr V3 design intent
This directly addresses the reflectance data convention discussion with EOPF CPM, where both sides agree on integer storage with codec-based float presentation.
Tasks
Related issues
Context
The scale/offset codec extension has been merged in the zarr-extensions repository, providing a standardized Zarr V3 array-to-array codec for scale/offset transformation. This closes the specification gap documented in zarr-developers/zarr-extensions#42.
The next step is implementation in zarr-python, which would make the codec transparently available through xarray and our downstream stack (data pipeline, TiTiler).
What this enables
With a standardized and implemented scale/offset codec, our GeoZarr data arrays can:
uint16(0–10000) while transparently presentingfloat32values (0.0–1.0) to usersscale_factor/add_offsetattributesThis directly addresses the reflectance data convention discussion with EOPF CPM, where both sides agree on integer storage with codec-based float presentation.
Tasks
Related issues