ECMWF is starting to make some of its Integrated Forecasting System (IFS) available on an open-source basis to facilitate collaboration on the code.
Some of the code is already available on the internet: a GitHub space has been created to host open-source IFS components. The merits of moving the full IFS forecast model to open source in the future will be reviewed this year in consultation with ECMWF’s Member States.
The main aim of the move is enhanced collaboration. Removing restrictions on redistribution could make working with ECMWF more attractive to collaborators who wish to work with their partners. Contributing to open-source codes could also be more attractive to academic partners.
Another aim is greater efficiency. There currently is a mix of bespoke licences and open-source material which is time-consuming to handle. Some journals also require open access to the codes used.
A third reason is to position ECMWF and its Member States at the centre of international efforts on emerging high-performance computing architectures. Making IFS code open source should encourage work on the IFS by computational science experts in academia and vendors.
The IFS GitHub space contains code released primarily to support pre-existing collaborations. While available to anyone, code in the IFS space is not generally supported. It currently contains the following elements:
- ecRad: The first component to become available was the ecRad radiation package. This was previously available under a bespoke licence but is now freely available under Apache‑2.
- ecTrans: The parallel spectral transforms from the IFS have been extracted and adapted in a standalone form useful to collaborators.
- FIAT: A subset of IFS auxiliary routines required by multiple other packages has been released as FIAT (Fortran IFS and Arpège Toolkit). It includes routines used in the IFS for tracing, timing, controlling precision, and parallel communication.
- CLOUDSC: A standalone version of the cloud scheme from the IFS. It was extracted in the EU-funded ESCAPE project (2015–2018) and was previously available under an ESCAPE licence.
- CLOUDSC2: A new, simplified cloud microphysics scheme, including code to test the tangent-linear and adjoint versions of the scheme. Its purpose is to explore the impact of compiler optimisations and rounding behaviour on the symmetry of tangent-linear and adjoint solutions.
- ecBundle: The bundle management tool used to build the IFS and other apps. It downloads code including dependencies and allows architecture-specific configuration for builds.
Further components agreed to become open source soon are:
- ecLand: This is the standalone land-surface scheme in the IFS, key to ongoing and future external collaborations, such as the addition of CaMa-Flood for hydrology modelling and EU-funded projects such as CoCO2, CONFESS and NextGEMS. Collaborations target developments on vegetation and photosynthesis modelling, urban tiles, snow and soil hydrology, and tight snow–ocean–sea-ice coupling.
- ecWAM: This is the standalone wave model in the IFS, which will in future be even more tightly coupled to the IFS atmosphere, adopting the same grid. A crucial forthcoming activity is the GPU adaptation of ecWAM.
The GitHub space for elements of the IFS contains code released primarily to support pre-existing collaborations.
The next steps
ECMWF, in consultation with its Member States, will consider the benefits of moving the full IFS forecast model to open source. This could have some significant advantages for collaboration and efficiency.
Further details can be found in a recent ECMWF Newsletter article.