Summer School Agenda for EO Data Processing in Cloud Environments#

Day 1 – Introduction to Earth Observation (EO) πŸ›°οΈπŸŒ & Cloud Computing Fundamentals β˜οΈπŸ’»#

Objective: Understand the basics of EO data, cloud computing concepts, and introduction to cloud-native EO APIs.

Morning Session β˜€οΈ – Introduction to EO and Cloud Computing#

  • Introduction to EO Data: Satellites (optical, radar, multispectral, hyperspectral), popular satellite missions (Sentinel, Landsat, MODIS, SPOT, Pleaides), and data access platforms.

  • Basics of cloud computing: IaaS, PaaS, SaaS.

  • Main cloud providers.

  • Advantages of cloud computing for EO data processing (scalability, storage, speed).

Afternoon Session 🌞 – Working with various data APIs (the cloud way)#

  • Download data from the Copernicus Data Space Ecosystem ODATA API.

  • Download data from the Copernicus Data Space Ecosystem STAC API using PySTAC and StacStack.

  • Download data from the AWS STAC API using PySTAC and StacStack.

  • Download data from the Planetary Computer STAC API using PySTAC and StacStack.

  • Explore AWS STAC API using STAC ODC and Dask.

  • Download meteorological data from Copernicus Data Store API.


Day 2 – Cloud-Native EO Data β˜οΈπŸ—ΊοΈπŸ§±#

Objective: Build practical skills in working with cloud-optimized EO data formats. Get introduced to SpatioTemporal Asset Catalogs, xarray and dask to process data.

Morning Session β˜€οΈ – Cloud-Native Data Formats & Efficient Handling#

  • Cloud-Optimized EO data formats:

    • COG

    • Zarr

    • GeoParquet

  • Work with Cloud Storage (S3 and Google Cloud Storage).

Afternoon Session 🌞 – Eifficient data processing with Xarray and Dask#

  • Introduction to xarray.

  • Introduction to Dask and DuckDB.

  • Dask with Xarray.


Day 3 - Introduction to AI πŸ€–, ML πŸ“ˆ, Docker 🐳 and Kubernetes ☸️#

Objective: Introduction to AI and ML and how it applies to EO data processing. Introduction to Docker and Kubernetes.

Morning Session β˜€οΈ – Fundamentals of Machine Learning#

  • Overview of AI concepts,e.g., symbolic AI, Machine Learning, Deep Learning.

  • Foundation models in practice: Apply Clay model for unsupervised change detection from Sentinel-1 and Sentinel-2 images.

Afternoon Session 🌞 – Introduction to Docker and Kubernetes#

  • Getting started with Docker. Build your first Docker image.

  • Getting started with Kubernetes. Deploy you first app.


Day 4 – ML Pipelines πŸ“₯ ➑️ 🧹 ➑️ πŸ“Š ➑️ 🧠 ➑️ πŸ“€#

Objective: Explore ML pipeline orchestrators for reproducable and repeatable results. The integration of MLFlow with pipeline orcherstrators.

Morning Session β˜€οΈ – Dagster Tutorial#

  • Introduction to Dagster.

  • Getting started with Dagster pipelines.

Afternoon Session 🌞 – Dagster Pipelines Practical Examples#

  • ERA-5 forecast.

  • ESA WorldCover classification.


Day 5 - Inference and Model Deployment 🧠 ➑️ 🌐 ➑️ πŸ“ˆ#

Objective: Apply the skills to a real-world problem using ML on the cloud.

Morning Session β˜€οΈ – Case Study Exploration#

  • Inferece using the trained models in notebooks.

  • Model serving and deployment strategies.

  • Getting started with LitServe.

Afternoon Session 🌞 – Build ESA WorldCover Classification Service#

  • Build the inference service of your trained model using LitServe framework.


Summer School Wrap-Up πŸŽ“ πŸ“œ πŸŽ‰ 🀝 πŸ—£οΈ 🧭#