Leibniz MMS Days 2020 - Abstract

Knoth, Oswald

Finite elements for numerical weather prediction: An implementation in Julia

There is a new trend to apply finite element discretization for numerical weather prediction. New code developments rely on this discretization approach, for instance the LFRic code at the UK MetOffice, the non-hydrostatic core HOMME at the National Center for Atmospheric Research (NCAR) in Boulder, or the CLIMA initiative at CalTech, Pasadena. For the two-dimensional Euler equation with gravity we will present a finite element implementation with mixed finite elements for momentum. The implementation is carried out in the programming language Julia, which allows a rapid prototyping and finally a fast production code including parallelization and use of fat accelerators like graphical processing units (GPU). In the talk we give a short outline on the chosen algorithmic approach. A main focus is the handling of the advection to reduce the numerical diffusivity for low order ansatz functions. After that we will report about our experiences with the Julia implementation and lessons learned from huge performance improvements through code restructering. Numerical examples will conclude the talk.