The creation of advanced simulation tools requires the composition of expertise from diverse fields of mathematics and computer science. As a consequence, simulation software is often complex, hard to develop and even harder to maintain. In this talk I will present Firedrake, a system for creating finite element simulations which works by generating the implementation code from a high-level mathematical language.
This enables researchers in these various fields to directly leverage each others expertise to produce sophisticated high performance finite element solvers. I will particularly focus on Firedrake features of interest in atmospheric models, such as extruded meshes and the automated adjoint facility provided by dolfin-adjoint.