eopf-geozarr — the GeoZarr driver for EOPF CPM¶
eopf-geozarr is the GeoZarr driver for ESA's EOPF CPM, the Core Python Modules of the Copernicus Earth Observation Processing Framework. It converts Sentinel-1, Sentinel-2 and Sentinel-3 products into cloud-optimized GeoZarr: Zarr v3 stores with multiscale pyramids, native projections and the OGC GeoZarr conventions.
Two ways to convert¶
For Sentinel-2, Sentinel-3 OLCI and the generic pipeline, both paths run the same code and write the same GeoZarr output.
Start from a native product (for example a .SAFE) or from any product
that CPM can read. Needs Python 3.13 or later.
Read the CPM driver guide.
Start from an EOPF Zarr product, for example from the EOPF Sentinel Zarr Samples Service hosted by EODC. The converter reads these products directly from their URLs. Needs Python 3.12 or later.
Read the standalone converter guide.
Supported products¶
| Mission | Product | CPM product:type |
Pipeline |
|---|---|---|---|
| Sentinel-2 MSI | L1C, L2A | S02MSIL1C, S02MSIL2A |
Sentinel-2 optimized: native r10m/r20m/r60m levels plus r120m/r360m/r720m overviews |
| Sentinel-3 OLCI | L1 EFR, L1 ERR | S03OLCEFR, S03OLCERR |
Sentinel-3 OLCI optimized: native swath geometry, or a regular grid |
| Sentinel-1 | GRD | — | Generic pipeline with ground control points |
| Sentinel-1 | GRD RTC (S1Tiling / Orfeo ToolBox COGs) | — | eopf-geozarr ingest-s1 and related commands (standalone only) |
| Sentinel-1 and other products CPM reads | for example SLC | for example S01SIWSLC |
Generic rechunker (CPM driver only, --generic-rechunker): rechunked, optionally sharded, no multiscales |
What the output looks like¶
- GeoZarr conventions:
zarr_conventionsdeclarations,geo-proj(proj:code),spatial(spatial:transform,spatial:bbox) andmultiscaleson every georeferenced node. See the GeoZarr mini spec. - Native projections: UTM and other source CRSs are kept; nothing is reprojected to Web Mercator.
- Multiscale pyramids for fast visualization at every zoom level.
- Source packing: reflectance stays as packed integers with CF
attributes, as in the ESA products, or packed by the Zarr
scale_offset+cast_valuecodecs on request. See Encoding. - Cloud storage: write to local paths or S3-compatible object storage.
- Validation:
eopf-geozarr validatechecks a store against the mini spec.
Where to go next¶
- Installation: pip, uv and the
cpmextra. - Quick start: your first conversion, with either path.
- CPM driver:
eopf convert-geozarr,engine="geozarr", options and product routing. - Standalone converter: every
eopf-geozarrcommand. - API reference and examples.
- Architecture and FAQ.
- STAC integration and Zarr URL resolution:
how to open Zarr assets from STAC hrefs, and the role of the
rel: storelink. - GeoZarr mini spec and our contributions to the GeoZarr specification.
About¶
eopf-geozarr is open source (Apache 2.0) and developed for the ESA EOPF Sentinel Explorer by Development Seed and EODC (Earth Observation Data Centre), which also hosts the EOPF Sentinel Zarr Samples Service. Source code and issues: EOPF-Explorer/data-model.