Skip to content

Supporting new ESA ZARR format #152

@mgovorcin

Description

@mgovorcin

Summary

ESA is developing the EOPF-CPM zarr format
as the future operational delivery format for Sentinel-1 products, replacing the current SAFE/zip.
This issue tracks the work needed to support zarr in s1-reader.

An initial implementation is available at:
mgovorcin/s1-reader → branch eopf-zarr-reader

Current status

compass geocoding works end-to-end from zarr — geocoded amplitude matches SAFE output visually.
However, several fields differ from SAFE due to limitations in the early release format (see below).

Known differences vs SAFE (EOPF-CPM early release, 2024-04)

Field Issue
abs_orbit_number Hex burst group counter ≠ SAFE abs orbit — must read from STAC root attrs
first/last_valid_sample/line Not provided — full burst extent used as fallback
iw2_mid_range swst_value is raw PRI offset, not slant range time — use GCP slant_range_time
GCP data Only first GCP populated, rest NaN — burst border degenerates to a point
FM rate / Doppler Only 1 polynomial entry per burst vs 3+ in SAFE — duplicate with 1s offset as workaround
Doppler LUT2D az times Must be orbit-relative seconds (ISCE3 convention) — not stored directly
Ascending node time Not in per-burst attrs — available in STAC root sat:anx_datetime
RFI information Not available

What needs to be resolved upstream (in EOPF-CPM format)

  • Correct absolute orbit number per burst
  • firstValidSample / lastValidSample arrays per burst line
  • Absolute slant range time (not raw SWST)
  • All GCP entries populated (not just the first)
  • Multiple FM rate / Doppler polynomial entries per burst

References

Testing

I managed to run COMPASS on this sample data
test_zarr_vs_safe.py
https://stac.browser.user.eopf.eodc.eu/collections/sentinel-1-l1-slc/items/S1A_IW_SLC__1SDV_20240205T051225_20240205T051253_052419_0656D8_454B?.asset=asset-product

and got this results
Zarr
Image

Same product S1A_IW_SLC__1SDV_20240205T051225_20240205T051253_052419_0656D8_454B.zip but from SAFE

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions