WEkEO Jupyter Notebook competition: https://notebook.wekeo.eu
Track A: Exploit the broad range of Copernicus Data
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.
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.
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
3WEkEO Data Discovery Platform
Authors: Oxoli Daniele (daniele.oxoli@polimi.it), Emanuele Capizzi (emanuele.capizzi@polimi.it) - 2022
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