ECMWF has publicly released Atlas, a software library supporting the development of Earth system model components and data processing, with an open source Apache 2 licence  partially developed under the ESCAPE project. The source code can be downloaded freely at www.github.com/ecmwf/atlas and contains installation instructions.
Emerging diverse and complex hardware solutions have a large impact on the programming models traditionally used in software for numerical weather prediction (NWP). Furthermore, NWP models are becoming increasingly complex as more Earth system components are introduced. Each model component may use different numerical algorithms and may be based on structured or unstructured grids.
In response, ECMWF is developing Atlas, an objectoriented (OO) programming library for developing flexible nextgeneration NWP models on existing and emerging hardware, such as GPUs. Atlas addresses the complexities associated with managing parallel distributed data structures on Earth grids. It provides meshgeneration capabilities from a wide catalogue of grids. Through its OO design, the memory layout and parallelisation of fields defined on meshes can be abstracted to accommodate specific numerical methods and hardware implementations. Atlas not only supports structured global grids such as the ones used operationally at ECMWF, but also unstructured meshes and structured regional grids as used in limitedarea models. Although Atlas’s main features are implemented using C++, a modern OO Fortran interface allows Atlas features to be used in most existing NWP software packages.
Distributed mesh generation. Atlas is here used to generate a distributed mesh from a very coarse reduced octahedral Gaussian grid. Each distributed mesh partition can be constructed with parallel halos to allow stencil operations. Distributed fields can then be created based on a specific ‘function space’, which is tightly coupled to numerical schemes of how discrete data is interpreted in a continuous space At ECMWF, Atlas is being used in the development of a finitevolume module (FVM) for the Integrated Forecasting System (IFS) (see ECMWF Newsletter No. 145, pp. 24–29). Its parallel meshgeneration capabilities build a distributed unstructured mesh about the grid points of the IFS’s reduced Gaussian grid. The resulting triangular or quadrilateral elements are then used to evaluate finitevolume differential operators. Atlas’s mesh generator is also used in ECMWF’s new Meteorological Interpolation and Regridding (MIR) software (see ECMWF Newsletter No. 152, pp. 36–39), where the resulting elements are used to construct linear interpolation operators.

Media hub > ESCAPE News >