Implementations
GeoZarr conventions advance in maturity through diverse implementations. The Zarr Conventions Framework requires 3+ independent implementations for Candidate maturity.
Implementation Matrix
| Implementation | Language | proj | spatial | multiscales | Notes |
|---|---|---|---|---|---|
| eopf data-model | Python | Full | Full | Full | Reference implementation for EOPF Sentinel data |
| zarr-cm | Python | Full | Full | Full | Zero-dependency conventions metadata library |
| GDAL | C++ | Full | Full | Full | Read/write in 3.13; GEOREFERENCING_CONVENTION=SPATIAL_PROJ option |
| rioxarray | Python | Full (Write TBR) | Full (Write TBR) | — | Read/write via Convention.Zarr |
| geozarr-toolkit | Python | In progress | In progress | In progress | CLI (geozarr validate, geozarr info) and FastAPI service |
| OpenLayers | JavaScript | Read | Read | Read | ol/source/GeoZarr; experimental; requires ol ≥ 10.8.0 |
| STAC Browser | JavaScript | Read | Read | Read | Browses STAC catalogs; renders GeoZarr assets via OpenLayers (ol-stac) |
| TiTiler (via EOPF) | Python | Read | Read | Read | GeoZarr Reader |
| zarr-layer | TypeScript | Read | Read | Read | MapLibre/Mapbox rendering; arbitrary CRS via proj4; v0.4.3 |
| deck.gl-raster | TypeScript | Read | Read | Read | GPU/WebGL2 rendering in deck.gl; own @developmentseed/geozarr parser |
| QGIS GeoZarr | Python | Read | Read | Read | Plugin with band selection, satellite presets; requires GDAL 3.13 |
Support levels: Full = read/write, Read = read-only, In progress = under active development
Implementation Details
GDAL
The GDAL Zarr driver (v3.13+) supports read/write of proj, spatial, and multiscales conventions for Zarr V3. Key features include sharded storage, parallel chunk decompression, and BuildOverviews for multiscale pyramid generation. Use the GEOREFERENCING_CONVENTION=SPATIAL_PROJ creation option to write GeoZarr conventions.
- Driver documentation
- GDAL Zarr contributions by wietzesuijker — 20+ PRs for sharding write, shard index caching, parallel decompression, and multiscales support
rioxarray
rioxarray (v0.22+) supports reading and will support writing in next release CRS and transforms using the Zarr proj: and spatial: conventions. Use Convention.Zarr to read/write Zarr conventions alongside or instead of CF conventions.
eopf data-model
Python library for converting EOPF (Earth Observation Processing Framework) datasets to GeoZarr-compliant format. Supports native CRS preservation, COG-style /2 downsampling for multiscale, CF standard names, and S3 output.
OpenLayers
The ol/source/GeoZarr source reads GeoZarr groups with multiscales support directly in the browser. Currently experimental (API subject to change).
STAC Browser
Vue.js application for browsing and searching STAC APIs and static catalogs. Renders GeoZarr assets from STAC Items directly in the browser via ol-stac (OpenLayers STAC), which builds on the OpenLayers GeoZarr source (ol/source/GeoZarr).
zarr-layer
Custom MapLibre/Mapbox layer for rendering Zarr datasets, supporting Zarr v2 and v3, arbitrary CRS reprojection via proj4, multi-band custom shaders, globe rendering, and querying.
deck.gl-raster
GPU-accelerated (WebGL2) rendering of GeoTIFF, COG, and Zarr in deck.gl, entirely client-side with no server. Its @developmentseed/geozarr package independently parses and validates the spatial, geo-proj, and multiscales conventions — multiscale layout, per-level affine transforms, array shapes, axis labels, and CRS — into a typed GeoZarrMetadata value, with no rendering or I/O dependencies.
QGIS GeoZarr
QGIS plugin for loading cloud-native Zarr data from STAC catalogs. Features band and resolution picker with satellite presets (Sentinel-2, Landsat, MODIS, Sentinel-3, EOPF), multiscale pyramid support, and auto RGB styling. Zarr v2 and v3 including sharded stores (sharding requires GDAL 3.13+).
- QGIS Plugin Repository
- GitHub
- Pangeo Showcase: "No shard feelings: GeoZarr rendering in QGIS, powered by GDAL"
Production Deployments
| Deployment | Stack | proj | spatial | multiscales | Notes |
|---|---|---|---|---|---|
| EOPF Explorer | OpenLayers + TiTiler | Read | Read | Read | First production adoption for Sentinel-2 L2A data; serves sharded Zarr v3 with GeoZarr conventions via STAC catalog |
Tools & Libraries
geozarr-toolkit
Python library for creating, validating, and working with GeoZarr metadata. Includes a CLI (geozarr validate, geozarr info) and a FastAPI web service.
geozarr-examples
Reference documentation, Jupyter notebook examples, and example datasets demonstrating GeoZarr conventions in practice.
metazarr
Browser-based tool for exploring Zarr stores and validating GeoZarr conventions against JSON Schemas. Runs entirely client-side.
zarr-cm
Lightweight Python implementation of Zarr Conventions Metadata.