FIREDRAKE '22: FIREDRAKE '22
PROGRAM FOR WEDNESDAY, JANUARY 4TH
Days:
next day
all days

View: session overviewtalk overview

14:30-15:30 Session 1
14:30
Point Data in Firedrake

ABSTRACT. Point data are sets of values which which are defined at particular locations in space over some period time. These turn up all the time - perhaps you want to know the value of a field at a particular point or set of points, couple the inputs and outputs of models via a grid of points, have a PDE which has a forcing term defined at one or more points, or you have point data measurements that you want to assimilate into a model of some phenomenon.

In this talk I will discuss how new concepts such as a “Mesh of Disconnected Vertices” allow point data to be treated as vectors in a finite element vector space. I will then present additions to Firedrake which bring point data into the Firedrake ecosystem such that we can express problems which directly involve point data and generate associated code. Prior to this work one would have to either extrapolate the point data to match some field defined over a broader domain or be forced to write bespoke code.

The work is fully compatible with the automated adjoint generation system dolfin-adjoint/pyadjoint; code can now be generated for solving PDE constrained optimisation problems which directly involve point data. I will present examples of variational data assimilation of sparse and dense point data in Firedrake and highlight the advantages over alternative approaches.

This is part of a broader project aiming to use Domain Specific Languages (DSLs) and code generation to automate diagnostics of geoscientific models with very large output data sets; I will highlight some of the steps needed to make this a reality.

14:50
Initial thoughts on the implementation and algebra of finite elements
PRESENTER: India Marsden

ABSTRACT. Currently, to implement a new finite element in Firedrake, one must modify multiple software packages: UFL, FIAT, possibly FInAT, and Firedrake. What would a 'single source of truth' for finite elements look like? How should the symbolic and numeric parts be cleanly split, so that the same source of truth can supply the symbolic information UFL needs, and the numerical information TSFC needs? On a practical level, how can we make it easier to implement new elements-is it possible to specify the element in mathematical terms and generate the implementation automatically? This talk will describe our initial thinking along these lines. In addition, we will discuss our initial thoughts on formalising an algebra of finite elements-rigorously specifying how new elements can be made from old ones, by addition, taking tensor products, vectorisation, and Bernstein-Gelfand-Gelfand construction.

15:10
External operators in Firedrake
PRESENTER: Nacime Bouziani

ABSTRACT. High level domain specific languages for the finite element method underpin high productivity programming environments for simulations based on partial differential equations (PDE) while employing automatic code generation to achieve high performance. However, a limitation of this approach is that it does not support operators that are not directly expressible in the vector calculus. This is critical in applications where PDEs are not enough to accurately describe the physical problem of interest.

Examples include nonlinear implicit constitutive laws such as the Glen's flow law for glacier flow, the use of deep learning models to include features not represented in the differential equations, or closures for unresolved spatiotemporal scales. We introduce an interface within the Firedrake finite element system that enables the inclusion of arbitrary operators in PDE-based problems. This new feature composes with the automatic differentiation capabilities of Firedrake, enabling the automated solution of inverse problems.

15:30-16:00Coffee Break
16:00-17:30 Session 2
16:00
Gusto: current status and future plans

ABSTRACT. Gusto is a toolkit using Firedrake for modelling geophysical fluids using compatible finite element methods. It focuses particularly on numerical methods for the dynamical cores that lie at the heart of numerical weather prediction and climate models. Gusto is designed to facilitate rapid prototyping of new numerical schemes, which can often be difficult to implement in operational models. It also provides a user-friendly sandbox for exploring research questions relating to numerical methods, or the underlying fluid equations. This is all enabled by Firedrake's high-level interface.

This talk will discuss the recent progress in Gusto, which is underpinned by the development of the Form Manipulation Language (FML). FML allows the terms in an equation to be labelled and subsequently manipulated based upon these labels. As well as describing FML and its potential, this talk will explain Gusto's new structure and the plans for the future.

16:20
Moist shallow water equations with Gusto, using form manipulation labelling
PRESENTER: Nell Hartney

ABSTRACT. The shallow water equations are widely used in the development of weather and climate models. While very useful and retaining many pertinent features of atmospheric dynamics, the usual shallow water equations model a ‘dry’ atmosphere and so neglect moist processes and moisture effects. Including moisture in the shallow water system makes the model more realistic, while also offering a framework for more challenging test cases for time-stepping schemes. This talk will discuss the implementation of moist shallow water models in Gusto. We will highlight the advantages the form manipulation labelling language offers for flexible implementation of different moist shallow water models and describe progress towards running moist shallow water tests cases (both from the literature and newly-devised for this purpose) in Gusto.

16:40
Time-parallel algorithms in Gusto
PRESENTER: Jemma Shipton

ABSTRACT. Gusto, the compatible finite element dynamical core toolkit, provides stable, accurate, scalable methods for solving geophysical fluid dynamics equations. Within Gusto we have implemented symbolic manipulations, using the form manipulation language, of the spatial discretisation of these equations to enable rapid prototyping of complex timestepping algorithms, including time-parallel algorithms. I will demonstrate how this works and show our latest results.

17:00
Parallel-in-time solutions to finite element problems with ParaDiag

ABSTRACT. Modern hardware for high performance computing is increasingly massively parallel, a trend which is set to continue as the exascale era approaches. This becomes a problem for PDE solvers when the number of available cores outgrows the available spatial parallelism, known as the strong scaling limit. One way to overcome this is by exposing additional parallelism in the time dimension. ParaDiag is one such parallel-in-time algorithm which increases the available problem size by solving for multiple timesteps at once. We present progress on the development of asQ, a library for applying ParaDiag to time-dependent finite element models using Firedrake, and its application to atmospheric models relevant to numerical weather prediction. The ParaDiag method will be introduced, focussing on the factors affecting its effective performance. We will then discuss the implementation in asQ, highlighting particular differences compared to serial-in-time implementations. Finally, we will show preliminary results for the convergence of ParaDiag for the linear and nonlinear shallow water equations on the rotating sphere.