GeoZarr Minispec Compliance
This page summarizes current compliance of stac-zarr outputs against:
- GeoZarr minispec:
https://eopf-explorer.github.io/data-model/geozarr-minispec/ - STAC Zarr best practices:
https://github.com/radiantearth/stac-best-practices/blob/main/best-practices-zarr.md
Implemented
- Root
zarr_conventionsincludes: proj:spatial:multiscales- Root spatial metadata:
spatial:dimensionsspatial:bboxspatial:shapespatial:transform- Root multiscales metadata (GeoZarr v1 layout style):
multiscales.resampling_methodmultiscales.layout- Per-variable multiscale listing:
multiscales:datasets- Base and overview data arrays include CF linkage attributes:
grid_mapping = "spatial_ref"coordinates = "time y x"- Base and overview dataset groups include CF members:
timexyspatial_ref- Dataset-level validation during writing:
- coordinate references and dimension-shape checks
grid_mappingmember reference checks- STAC-side metadata patterns:
rel: store- Zarr media type with
profile=multiscales - projection/raster/datacube extension metadata
- STAC extension URIs pinned to projection
v2.0.0, rasterv2.0.0, datacubev2.2.0 - Root projection metadata emitted with strict one-of semantics:
proj:projjsonpreferredproj:wkt2fallbackproj:codefallback
Known Design Choices
multiscalesstores GeoZarr v1 layout metadata.multiscales:datasetsis used for per-variable dataset paths and axes.- Overview reducers are configurable and mapped to GeoZarr resampling names (
average,max,med,nearest).
Compliance Checks Interpretation
Running task compliance:check:all includes two different multiscales checks with different intent:
compliance:check:multiscales-layout: strict check for this repository GeoZarr v1 layout profile.- Expected result:
PASS compliance:check:multiscales: upstreamzarr-conventions/multiscalesschema compatibility report.- Expected result:
PASS
This is an intentional split:
- local profile compliance is enforced by
multiscales-layout - upstream schema compliance is reported separately for traceability
Forward Work Items
- Add a dedicated compliance test that validates emitted root attributes and dataset members from a generated sample.