# EOPF — ESA's Earth Observation Processor Framework (Zarr-native Sentinel)
# Path-as-id: registry/sources/stac/eopf.yaml resolves stac://eopf/<collection>

title: "EOPF — ESA Earth Observation Processor Framework"
endpoint: https://stac.core.eopf.eodc.eu
homepage: https://eopf.eodc.eu/
browser: https://stac.browser.user.eopf.eodc.eu/
operator: ESA / EODC (Earth Observation Data Centre, Vienna)

aliases:
  - eodc-eopf
  - esa-eopf

auth:
  mode: anonymous

cors_enabled: true
egress_cost: free
region: eu-central (Vienna)
asset_format: zarr

# Collections (verified 2026-06-07 against stac.core.eopf.eodc.eu/collections):
#   sentinel-1-l1-grd, sentinel-1-l1-slc, sentinel-1-l2-ocn
#   sentinel-2-l1c, sentinel-2-l2a
#   sentinel-3-olci-l1-efr, sentinel-3-olci-l1-err
#   sentinel-3-olci-l2-lfr, sentinel-3-olci-l2-lrr
#   sentinel-3-slstr-l1-rbt, sentinel-3-slstr-l2-frp, sentinel-3-slstr-l2-lst
notes: |
  ESA's next-gen Sentinel reprocessing framework, hosted by EODC (Vienna).
  All assets ship as Zarr (application/vnd+zarr) — fully cloud-native, chunk-level
  HTTP range reads, no per-asset auth tokens, no SAFE archive overhead.
  Producer-direct: the canonical source for ESA Sentinel data in cloud-native form.

  HISTORICAL COVERAGE IS THIN — verified 2026-06-07. The collection-level
  temporal extent claims 2015-10-22 → present, but real coverage is closer to:
    - One backfilled S2A acquisition pass on 2015-10-22 over central Europe
      (Austria/Czech Republic/Bavaria), then a multi-year gap, then continuous
      forward operations from ~2026 onward.
    - Scene-count probes (San Francisco Bay, Munich, Amazon): zero scenes
      returned for any January between 2017 and 2025; first non-trivial
      coverage shows up in 2026.
    - MSPC by comparison returns 8-45 L2A scenes/month over the same AOIs
      across the same years, continuous since 2015-06.
  EOPF is therefore a FORWARD-ONLY delivery in practice, not a historical
  backfill of MSPC / Earth-Search / CDSE. Recipes targeting historical
  Sentinel-2 must use MSPC or CDSE; EOPF is appropriate for current data
  going forward, or for L1C (which MSPC does NOT host at all).

  ASSET GRANULARITY matches CDSE rather than MSPC. Bands split per native
  resolution: B02_10m, B02_20m, B02_60m are three separate Zarr stores per scene.
  Recipes targeting EOPF need to be aware of this naming (different from MSPC's
  per-band single-COG layout).

  REQUIRES Zarr-aware compute driver in Folia. The repo today has Zarr support
  for ERA5 / climate data but not for Sentinel imagery; a driver work-item is
  needed before EOPF can be a real access endpoint for @esa/sentinel-*/* recipes.

  Discovered via the audit: @sentinel-2-l1c-eopf appears as an unresolved
  namespaced ref in one of our recipes, suggesting team intuition was already
  pointing here for L1C (where MSPC isn't an option).
