Faithful to its spirit of innovation, the second ECMWF Summer of Weather Code (ESoWC) programme invited proposals for up to twelve open-source projects that address weather-related software challenges. Developers from around the world submitted their proposals and eight were selected for coding. From May to the end of August, ECMWF mentors and participants joined forces to work on projects related to machine learning, data visualisation, software development, Jupyter notebooks and functionalities of open source Geographical Information Systems. Seven teams successfully completed the coding challenge. On 20 September 2019, during the ESoWC 2019 showcase day, the seven teams presented an impressive set of results at ECMWF’s headquarters.
All teams used the online software development platform GitHub to track the progress of the projects and share their knowledge with the larger open source community. The seven successful projects were:
- Obtaining online aircraft metadata. AMDAR aircraft meteorological reports do not provide the aircraft type, which can be a vital piece of information to be able to evaluate temperature biases and wind errors. This ESoWC project developed Python code to compare AMDAR flights with those from internet sources, such as flightaware.com and flightradar24.com, to match aircraft types.
- New calibration software: ecPoint-Calibrate. The new software uses conditional verification concepts to compare numerical weather prediction output with point observations in different weather situations, in order to take into account sub-grid variability and grid-scale bias. ecPoint-Calibrate provides a dynamic, user-friendly environment for post-processing model parameters to deliver better probabilistic forecasts for point locations.
- Jupyter notebook for OpenIFS. This project aimed to develop an interactive Jupyter environment for OpenIFS, an easy-to-use version of ECMWF’s Integrated Forecasting System (IFS) for external users. The outcome is a simple and modern Jupyter notebook which is compatible with the Fortran interface of the IFS and enhances scientific productivity when using OpenIFS.
- Blender Visualization Toolkit. The challenge was to develop a set of scripts that can be used to generate Earth animations to help the general public interpret the data produced by ECMWF. The solution uses the Blender Visualization Toolkit (BVTK), an add‑on for the Blender 3D graphics software package, to make it possible to use the VTK visualisation library inside Blender through a graphical interface, based on node trees.
- Geographical Information System tools. This project addressed workflow problems within EFAS (European Flood Awareness System) when a new partner is added to the EFAS domain. The tools developed automate the process of adding a new partner region; updating river basins with new partner region IDs; and updating grid points in river basins with new partner region IDs.
- Machine Learning (ML) to better predict and understand drought. The goal was to predict pixel-wise values of vegetation health in Kenya using ML techniques. The project developed a pipeline of different processing components, written in Python, that can be used to apply the implemented approach to a variety of datasets and regions.
- MAchine learning TEchniques for High-Impact Weather (MATEHIW). The goal was a comparison of different ML techniques applied to the prediction of floods, based on ERA5 data and GloFAS (Global Flood Awareness System) river discharge data. The project developed a machine learning model architecture that splits the flood forecast model into two parts: a transport model that accounts for advection of water from upstream river to downstream river grid points; and a local model, that accounts for the difference to observed values.
The two explorative projects applying machine-learning algorithms were supported by the two EU-funded Copernicus services implemented by ECMWF: the Copernicus Climate Change Service (C3S) and the Copernicus Atmosphere Monitoring Service (CAMS). They have prepared the ground for further research in this field.
For more details on the open source projects, visit the ECMWF Summer of Weather Code website: https://www.ecmwf.int/en/learning/workshops/ecmwf-summer-weather-code-2019, and the ESoWC GitHub space: https://github.com/esowc.