EFAST spatio-temporal fusion with phenocam validation.
Find a file
2026-01-10 23:59:27 +01:00
data Added selected sites. 2025-12-18 08:53:29 +01:00
webapp Refactored a bit. 2025-12-27 10:25:17 +01:00
.gitignore Added selected sites. 2025-12-18 08:53:29 +01:00
.pre-commit-config.yaml Allow arguments for download. 2025-12-18 10:54:22 +01:00
.python-version Added efast. 2025-12-22 10:10:23 +01:00
clouds.py Refactored a bit. 2025-12-27 10:25:17 +01:00
download_s2.py Refactored a bit. 2025-12-27 10:25:17 +01:00
download_s3.py Refactored a bit. 2025-12-27 10:25:17 +01:00
efast.py Refactored a bit. 2025-12-27 10:25:17 +01:00
ndvi.py Refactored a bit. 2025-12-27 10:25:17 +01:00
README.md Added basic README.md. 2026-01-10 23:59:27 +01:00
requirements.txt Refactored a bit. 2025-12-27 10:25:17 +01:00
run.py Refactored a bit. 2025-12-27 10:25:17 +01:00

Satellite Data Fusion Pipeline

A Python pipeline for downloading, processing, and fusing Sentinel-2 and Sentinel-3 satellite imagery to generate high-resolution NDVI time series.

Features

  • Data Download: Downloads Sentinel-2 L2A (via AWS Earth Search) and Sentinel-3 OLCI (via OpenEO/Copernicus)
  • Cloud Detection: Identifies cloud-covered images using NDVI analysis
  • EFAST Fusion: Combines S2 and S3 data using the EFAST algorithm for enhanced temporal resolution
  • NDVI Calculation: Generates Normalized Difference Vegetation Index from raw and fused data
  • Web Visualization: Interactive web viewer for exploring NDVI time series and imagery

Installation

pip install -r requirements.txt
pip install git+https://github.com/DHI-GRAS/efast.git

Configuration

Set environment variables for Copernicus Data Space authentication:

  • CDSE_USER: Copernicus Data Space username
  • CDSE_PASSWORD: Copernicus Data Space password

Usage

from run import run_pipeline

run_pipeline(season=2024, site_position=(47.116171, 11.320308), site_name="innsbruck")

The pipeline processes data in stages:

  1. Download S2/S3 imagery
  2. Generate NDVI from raw data
  3. Detect clouds
  4. Prepare data for fusion
  5. Run EFAST fusion
  6. Generate NDVI from fused outputs

Data Structure

data/
  {site_name}/
    {season}/
      raw/
        s2/          # Sentinel-2 GeoTIFFs
        s3/          # Sentinel-3 GeoTIFFs
        ndvi/        # NDVI from raw data
      prepared/
        s2/          # Prepared S2 data
        s3/          # Prepared S3 data
        fusion/      # EFAST fusion outputs
        ndvi/        # NDVI from prepared/fused data
      clouds.json    # Cloud detection results

Web Viewer

Run a local HTTP server to view the web interface:

cd webapp
python3 -m http.server 8000

Then open http://localhost:8000/webapp in your browser to visualize NDVI time series and compare S2, S3, and fusion outputs.