Skip to article frontmatterSkip to article content

Overview of EOPF Zarr PluginsΒΆ

plugin_overview

We build the following plugins:

These plugins can be used in the following visualization framework:

visualization_overview

What we will learnΒΆ


xarray-eopf backendΒΆ

xarray-eopf is a Python package that enhances xarray by a new backend named "eopf-zarr". This backend allows for reading the ESA EOPF data products in Zarr format and representing them using analysis ready data models.

After installing xarray-eopf, you can open EOPF products with standard xarray functions:

import xarray as xr

dataset = xr.open_dataset(url_or_path, engine="eopf-zarr")
datatree = xr.open_datatree(url_or_path, engine="eopf-zarr")

Modes of operation

  1. Analysis mode (op_mode="analysis"): Returns user-friendly, analysis-ready data with preprocessing (e.g. band selection, resampling, rectification). This mode supports only Sentinel-2 and Sentinel-3 products.

  2. Native mode (op_mode="native"): Returns a near 1:1 view of the Zarr structure with minimal preprocessing.

πŸ”— Useful links


xcube EOPF data storeΒΆ

xcube-eopf extends xcube with an "eopf-zarr" data store, enabling the creation of analysis-ready data cubes (ARDC) from Sentinel products via the EOPF Sentinel Zarr Samples Service STAC API.

Once installed, you can access EOPF data products through the standard xcube interface and generate analysis ready data cubes form multiple Sentinel Zarr samples. The workflow for building 3D analysis-ready cubes from Sentinel-2 products involves the following steps:

  1. Query products using the EOPF STAC API for a given time range and spatial extent.

  2. Retrieve observations as cloud-optimized Zarr chunks via the xarray-eopf backend.

  3. Mosaic spatial tiles into single images per timestamp.

  4. Stack the mosaicked scenes along the temporal axis to form a 3D cube.

πŸ”— Useful links


GDAL EOPF DriverΒΆ

A GDAL plugin for reading EOPF (Earth Observation Processing Framework) Zarr datasets.

✨ Key Features

πŸš€ How to Use

  1. On JupyterHub

    • Go to JupyterHub

    • Select Specify an existing Docker image

    • Enter:

      yuvraj1989/eopf-zarr-driver:latest
  2. Locally

  3. With QGIS via VNC

    • Run the container:

      docker run -d --name eopf-qgis-vnc -p 6080:6080 -p 8888:8888 \
        yuvraj1989/eopf-qgis-conda:latest /usr/local/bin/start-qgis-demo.sh
    • Then open http://localhost:6080/vnc.html in your browser to access QGIS.

πŸ”— Useful Links


Julia EOPF readerΒΆ

A Julia plugin for reading EOPF (Earth Observation Processing Framework) Zarr datasets. You can open the EOPF data into a DimTree with Raster leaves for the underlying data. This currently gives you a 1:1 representation of the data in the zarr folder.

πŸ”— Useful links