Stream 1 - Data Visualization
Mentors
- Juan Colonese
- James Varndell
- Dimitar Tasev
Skill Required
Frontend Visualization (Intermediate to Advanced)
- React/TypeScript, Deck.gl/MapLibre GL, Plotly.js, Jupyter ecosystem (ipyleaflet, ipywidgets, Voila)
- HTML/CSS/JavaScript fundamentals
- UX/UI design principles
- Docker containerization
Geospatial Technologies (Intermediate)
- Vector data formats (GeoJSON, Parquet, Shapefiles)
- Web mapping libraries and protocols
- Coordinate systems and projections
Python Development:
- FastAPI backend development
- Xarray/Zarr data manipulation
- GeoPandas or similar for spatial data processing
- Async/await patterns for performance
Goal
Develop a modern, responsive, and highly interactive web-based visualization dashboard that enables users (mostly modellers and analysts) to explore flood forecast data from Zarr datastores efficiently, with intuitive map-based navigation and comprehensive station-level analytics.
Key Outcomes:
• Enable interactive exploration of 10,000+ stations globally, with zoom-level specific visualisation features, like clustering, simpification, overviews and tiling can be used.
• Provide rich contextual visualizations combining forecast data, river network and catchments (vector tile visualisation), and alert thresholds (dynamic styling).
• Support multiple use cases/deployments: operational forecasting, retrospective analysis, and experiments comparisons.
• Modular and reusable visualisation components.
• Be ready for increased scalability and performance, but the user experience is more important in this project.
The challenge is focused on the visualisation and user-facing application but depending how the implementation of the solution progresses some developments may be required in the data provision infra-structure. Therefore, close collaboration and communication with the mentors will be key to achieve the desired outcome.
Note: The funding source for this challenge is ECMWF funding. For details on the eligibility, please refer to Article 3 of the Terms and Conditions.
Description of the Challenge
Current problem/limitation
The existing Voila-based interface, while functional, has significant UX limitations:
- Slow response times: Kernel restarts and notebook cell execution create delays
- Basic interactions: Limited to simple click events on map markers
- Rigid layout: Difficult to customise views or compare multiple stations
- The current system focuses primarily on point data (stations)
- River networks and catchment boundaries are not visualised
- No spatial context for understanding upstream/downstream relationships
- No animation or time-stepping through forecasts
- Comparisons between multiple forecast runs are only possible for one station at a time.
Data/system
Forecasts and some other initial datasets will be served from an existing REST API connected to a zarr datastore. Alternatively, a serverless bucket-like datastore may be provided. Some geospatial data may be served via public WMS services.
Proposed solution
The proposed solution will be a modern and responsive web-based data visualisation app, accessible only for internal users (authentication or user handling should not be part of the solution), for flood forecasting model results.
Evaluation criteria
- Feasibility
- Easy to maintain / Future-proof approach
- Transferability
- Comprehensibility
Mentors
Skill Required
Frontend Visualization (Intermediate to Advanced)
Geospatial Technologies (Intermediate)
Python Development:
Goal
Develop a modern, responsive, and highly interactive web-based visualization dashboard that enables users (mostly modellers and analysts) to explore flood forecast data from Zarr datastores efficiently, with intuitive map-based navigation and comprehensive station-level analytics.
Key Outcomes:
• Enable interactive exploration of 10,000+ stations globally, with zoom-level specific visualisation features, like clustering, simpification, overviews and tiling can be used.
• Provide rich contextual visualizations combining forecast data, river network and catchments (vector tile visualisation), and alert thresholds (dynamic styling).
• Support multiple use cases/deployments: operational forecasting, retrospective analysis, and experiments comparisons.
• Modular and reusable visualisation components.
• Be ready for increased scalability and performance, but the user experience is more important in this project.
The challenge is focused on the visualisation and user-facing application but depending how the implementation of the solution progresses some developments may be required in the data provision infra-structure. Therefore, close collaboration and communication with the mentors will be key to achieve the desired outcome.
Description of the Challenge
Current problem/limitation
The existing Voila-based interface, while functional, has significant UX limitations:
Data/system
Forecasts and some other initial datasets will be served from an existing REST API connected to a zarr datastore. Alternatively, a serverless bucket-like datastore may be provided. Some geospatial data may be served via public WMS services.
Proposed solution
The proposed solution will be a modern and responsive web-based data visualisation app, accessible only for internal users (authentication or user handling should not be part of the solution), for flood forecasting model results.
Evaluation criteria
How the current global map view looks like
Example forecast dataset and the foundational data API calls:
forecast for a particular stations, date and model version
data/forecasts?gauge_id=lamahice_99&reference_date="2026-01-27H00:00:00&expver=user:real-weir"{ "forecast": { "valid_time": ["2026-01-28T00:00:00", "2026-01-29T00:00:00", "2026-01-30T00:00:00", "2026-01-31T00:00:00", "2026-02-01T00:00:00", "2026-02-02T00:00:00", "2026-02-03T00:00:00", "2026-02-04T00:00:00", "2026-02-05T00:00:00", "2026-02-06T00:00:00"], "data": [{ "gauge_id": "lamahice_99", "values": [1.0339882374, 0.9950551391, 0.9694488049, 0.9279735088, 0.9592425227, 0.9829563498, …