isce-framework / isce-framework/s1-reader

Supporting new ESA ZARR format

Open
#152 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
34
Forks
16
PR merge metrics
No merged PRs in 30d

Description

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

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/s1reader/s1_reader_zarr.py on the eopf-zarr-reader branch, then run scripts/compare_zarr_vs_safe.py and test_zarr_vs_safe.py against the linked sample. Use the SAFE/Zarr field comparison and upstream checklist to determine which differences remain; completion requires resolving the listed support gaps and validating the COMPASS comparison.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.