⚠️ Note: This project is under active development. Features may change and bugs may exist.
This repository contains openEO workflows for various python modules used in Evapotranspiration (ET) modeling and Irrigation mapping. Following modules are currently included:
- Go to https://jupyterhub.dataspace.copernicus.eu and start a server
- In the server either upload the notebooks manually or clone this repo by opening a terminal and running
git clone https://github.com/DHI/Sen-ET-OpenEO-toolbox.git - Create a new clean kernel using the following commands in a terminal on Jupyterhub
conda create -n gdal_env python=3.11 \ conda activate gdal_env \ conda install -c conda-forge gdal \ pip install ipykernel \ pip install senet_toolbox@git+https://github.com/DHI/Sen-ET-OpenEO-toolbox.git \ python -m ipykernel install --user --name=gdal_env --display-name "Sen-ET Kernel" - You can now select the "Sen-ET Kernel" kernel to run the notebooks
💡Note: The package is installed in the first cell of the notebooks. You should be able run the notebooks out of the box without any additional setup if using a kernel with GDAL installed, but sometimes there can be conflics with existing packages in the environment. It is recommended to to a clean kernel installation
To install the Sen-ET OpenEO Toolbox locally, follow these steps:
-
Install GDAL Make sure GDAL is installed on your system. This is a required dependency for geospatial data processing.
-
Install the Toolbox from GitHub Once GDAL is installed, you can install the toolbox directly using pip:
pip install senet_toolbox@git+https://github.com/DHI/Sen-ET-OpenEO-toolbox.git
The notebooks provided in the notebooks/ folder demonstrate how to use the Sen-ET OpenEO toolbox for evapotranspiration modeling.
These notebooks can be run directly on Copernicus Data Space (CDSE) JupyterHub for efficient processing and scalability.
-
notebooks/step1_prepare_data.ipynb– This notebook prepares Sentinel-2 and Sentinel-3 data for PyDMS and ET Flows by allowing users to define an area of interest, select suitable acquisition dates, and download the relevant datasets using OpenEO. It extracts vegetation indices and land cover parameters from Sentinel-2 and ESA WorldCover datasets. -
notebooks/step2_pydms.ipynb– Demonstrates how to use the Data Mining Sharpener (pyDMS) to refine Sentinel-3 Land Surface Temperature (LST) using Sentinel-2 reflectance data. -
notebooks/step3_et_input_parameters.ipynb– Focuses on preprocessing meteorological and biophysical input data. This includes:- Retrieving meteorological parameters from the Copernicus Climate Data Store (CDS).
- Resampling the meteorological parameters to the Sentinel 2 resolution
-
notebooks/step4_et_tseb.ipynb– Runs the Two Source Energy Balance (TSEB) model to estimate evapotranspiration. It takes as input:- Sharpened LST from pyDMS.
- Preprocessed meteorological and vegetation parameters.
These notebooks form a complete workflow, from data retrieval and preprocessing to sharpening LST and running the ET model.
You are welcome to contribute to the project my making either a Pull Request or a Ticket.
For setting up a development environment, you have two options:
-
Using a Dev Container This repository includes a devcontainer setup, which provides a pre-configured environment for development.
-
Manual Setup If you prefer a local setup
- Make sure GDAL is installed on your system.
- Create a virtual environment and install the package with either pip or UV:
python -m venv senet-env source senet-env/bin/activate # On Windows, use `senet-env\Scripts\activate` pip install .