Skip to content

danioxoli/WEkEO2Pydash

Repository files navigation

WEkEO2Pydash - Explore Copernicus data interactively using the WEkEO HDA API

WEkEO Jupyter Notebook competition: https://notebook.wekeo.eu

Track A: Exploit the broad range of Copernicus Data

Binder

This Notebook showcases Python recipes to interact (access, browse, display and download) with the Copernicus data dispatched by the WEkEO DIAS, through the development of flexible and interactive dashboards into a Jupyter notebook.

Interactivity is here used as the key element to speed-up applications development by minimizing code editing for recursive steps such as variables definition and parameters setting.

The final goal is to provide the user with reusable code blocks which can be adapted - with a small effort - to manifold Copernicus data applications by leveraging the WEkEO Harmonised Data Access (HDA) API as exclusive data endpoint.

Resources

This Notebook makes extensive use of the WEkEO HDA API to perform GET and POST requests1, necessary for automating the data access procedures.

Interactivity is enabled by cutting-edge Python libraries for dynamic widgets and maps generation including IPython, itables, IPyWidgets and ipyleaflet; alongside popular data managing and analysis libraries such as Pandas and xarray. All the selected libraries are released under open-license2 compatible with MIT license.

The pattern proposed by this Notebook is developed and demonstrated through examples, adapted to different data products3 provided by the WEkEO DIAS. Specifically, the data products considered in this Notebook are reported in the following table.

Product Description Product Link ID Metadata
ERA5 - Single Levels link EO:ECMWF:DAT:REANALYSIS_ERA5_SINGLE_LEVELS link
CAMS - European Air Quality Forecasts link EO:ECMWF:DAT:CAMS_EUROPE_AIR_QUALITY_FORECASTS link
Sentinel-5P link 'EO:ESA:DAT:SENTINEL-5P:TROPOMI' link

Settings to adapt the Notebook functions and dynamic widgets to the different data products are explained throughout the Notebook sections.

Learning outcomes

At the end of this Notebook you will know:

  • How to programmatically access Copernicus data and metadata using the WEkEO HDA API in Python
  • How to generate dynamic data previews using interactive Python widgets
  • How to adapt and reuse Python functions and code blocks to deal with different WEkEO data products and applications

1Swagger UI

2About Open Source Licenses

3WEkEO Data Discovery Platform

Authors: Oxoli Daniele (daniele.oxoli@polimi.it), Emanuele Capizzi (emanuele.capizzi@polimi.it) - 2022


Repository structure

root/ 
├── img/                           # Folder with Notebook images
│   ├── add_dataset.jpg
│   ├── dataset_id.gif
│   ├── gif_query.gif
│   ├── login.gif
├── LICENSE                        # License file
├── README.md                      # Readme file
├── environment.yml                # Python environment file
├── wekeo2pydash.ipynb             # Jupyter Notebook
├── wekeo2pydash_ipynb.pdf         # PDF of the Notebook
└── wekeo2pydash_methods.py        # Custom Python functions used in the Notebook