Project: Differentiable abstractions for coupled geoscientific models
Supervisors: Prof David Ham and Prof Colin Cotter
Project Description:
New numerical models of the Earth system are key to understanding our changing climate. Modelling each component of the system is a complex composition of numerics, solvers, and data assimilation; and this multiplies when coupling ocean, atmosphere, ice and land. However, implementing even a single, simplified, component in low-level code can require years of. Every improvement to the model equations or numerics is painstaking and inefficient.
In contrast, the Firedrake automated simulation system applies a new mathematical programming approach. Model developers write the equations, finite element discretisation, and solver strategies at the level of the mathematics; the resulting implementation code is automatically generated to create a complete simulation. Changes to numerics or solvers are a few lines of code in an afternoon, rather than weeks or months of low-level debugging. The adjoint simulations required to assimilate real-world data are available automatically via the same differentiable programming approach that powers machine learning tools such as PyTorch and TensorFlow. Firedrake is the basis of the Gusto atmospheric toolkit, Thetis ocean model, Icepack glaciology library among others.
However, the Earth system depends on coupling different models of different materials together. In this project, you will extend both the mathematical abstractions that Firedrake users employ, and the underling code generation technology to enable tight coupling of different Earth system model components. You will develop skills as both a mathematician and a creator of professional quality research software, and your work will be employed by scientists and engineers around the world to create coupled models in the field of climate science and beyond.