Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

earth and related environmental sciences

Sentinel-3 OLCI L1 EFR Data Access

Demonstrate how to access Sentinel-3 OLCI L1 EFR data in EOPF Zarr format

Eurac Research
ESA EOPF Zarr Logo

🚀 Launch in JupyterHub

Run this notebook interactively with all dependencies pre-installed

This notebook contain the most common data access procedures for the Sentinel-3 OLCI L1 EFR EOPF Zarr data collection.
For more examples on how to use the data in different application scenarios, please refer to the EOPF Sample Notebooks available at: https://eopf-sample-service.github.io/eopf-sample-notebooks/gallery-sentinel/

Discover Products using STAC

Discover Sentinel-3 OLCI L1 EFR products using the EOPF STAC catalog at https://stac.core.eopf.eodc.eu.
The STAC Collection is https://stac.core.eopf.eodc.eu/collections/sentinel-3-olci-l1-efr .

import pystac_client
from datetime import datetime, timedelta
from xcube.core.store import new_data_store
import xarray as xr

xr.set_options(display_expand_attrs=False)
<xarray.core.options.set_options at 0x7fa3733d2550>
STAC_URL = "https://stac.core.eopf.eodc.eu"
catalog = pystac_client.Client.open(STAC_URL)

# Define area of interest
bbox = [11.2, 45.5, 11.3, 45.6]

# Look for all products starting from the first date until the present
temporal_extent = ["2025-12-01", None]

print("Discovering Sentinel-3 OLCI L1 EFR products from STAC catalog...")
s3_items = list(
    catalog.search(
        collections=["sentinel-3-olci-l1-efr"],
        bbox=bbox,
        datetime=temporal_extent,
    ).items()
)
print(f"Found {len(s3_items)} Sentinel-3 OLCI L1 EFR products")
Discovering Sentinel-3 OLCI L1 EFR products from STAC catalog...
Found 44 Sentinel-3 OLCI L1 EFR products

Open a single product with xarray

This step will open a Sentinel-3 OLCI L1 EFR product as an Xarray.DataTree object.

stac_item = s3_items[-1]
zarr_url = stac_item.assets["product"].href

ds = xr.open_datatree(zarr_url, engine="zarr")
ds
Loading...

Open a single product with xarray-eopf

This step will open a Sentinel-3 OLCI L1 EFR product as an Xarray.Dataset object.
For the package documentation please visit https://eopf-sample-service.github.io/xarray-eopf/

ds = xr.open_dataset(zarr_url, engine="eopf-zarr")
ds
Loading...

Open multiple products with xcube-eopf

This step will combine all the products into a datacube. For the package documentation please visit https://eopf-sample-service.github.io/xcube-eopf/

# Define area of interest
bbox = [11.2, 45.5, 11.3, 45.6]

# Temporal extent: today - 10 days to today
today = datetime.utcnow().date()
start_date = today - timedelta(days=10)
temporal_extent = [str(start_date), str(today)]

store = new_data_store("eopf-zarr")

ds = store.open_data(
    data_id="sentinel-3-olci-l1-efr",
    bbox=bbox,
    spatial_res=0.0027,
    time_range=temporal_extent,
    crs="EPSG:4326",
    variables=["oa01_radiance", "oa02_radiance"],
)
ds
Loading...