The Firedrake automatic code generation system
The Firedrake automatic code generation system
Editor(s): GMD topic editors | Coordinator: David Ham
This special issue gathers together papers documenting the development of the Firedrake system, and geoscientific models built on Firedrake.

Firedrake provides a model development system which is both high productivity and high performance. Users write high-level code in Python describing the mathematical formulation of a model. The low-level, high-performance, parallel implementation of the algorithm is then automatically generated by a sequence of domain-specific compilers. The user writes maths and gets simulation. Firedrake provides users with a vast range of finite element discretisations, including the compatible finite-element methods which accurately represent the critical force balances in large-scale geoscientific problems. Other important features for the geoscientific user include curved elements and layered meshes, which are key to accurate atmosphere and ocean modelling.

Download citations of all papers

17 Nov 2023
Automatic adjoint-based inversion schemes for geodynamics: Reconstructing the evolution of Earth’s mantle in space and time
Siavash Ghelichkhan, Angus Gibson, D. Rhodri Davies, Stephan C. Kramer, and David A. Ham
EGUsphere,,, 2023
Revised manuscript under review for GMD (discussion: final response, 5 comments)
Short summary
30 Nov 2022
spyro: a Firedrake-based wave propagation and full-waveform-inversion finite-element solver
Keith J. Roberts, Alexandre Olender, Lucas Franceschini, Robert C. Kirby, Rafael S. Gioria, and Bruno S. Carmo
Geosci. Model Dev., 15, 8639–8667,,, 2022
Short summary
05 Jul 2022
Towards automatic finite-element methods for geodynamics via Firedrake
D. Rhodri Davies, Stephan C. Kramer, Sia Ghelichkhan, and Angus Gibson
Geosci. Model Dev., 15, 5127–5166,,, 2022
Short summary
26 Jul 2021
icepack: a new glacier flow modeling package in Python, version 1.0
Daniel R. Shapero, Jessica A. Badgeley, Andrew O. Hoffman, and Ian R. Joughin
Geosci. Model Dev., 14, 4593–4616,,, 2021
Short summary
25 Feb 2020
Slate: extending Firedrake's domain-specific abstraction to hybridized solvers for geoscience and beyond
Thomas H. Gibson, Lawrence Mitchell, David A. Ham, and Colin J. Cotter
Geosci. Model Dev., 13, 735–761,,, 2020
Short summary
30 Oct 2018
Thetis coastal ocean model: discontinuous Galerkin discretization for the three-dimensional hydrostatic equations
Tuomas Kärnä, Stephan C. Kramer, Lawrence Mitchell, David A. Ham, Matthew D. Piggott, and António M. Baptista
Geosci. Model Dev., 11, 4359–4382,,, 2018
Short summary
27 Oct 2016
A structure-exploiting numbering algorithm for finite elements on extruded meshes, and its performance evaluation in Firedrake
Gheorghe-Teodor Bercea, Andrew T. T. McRae, David A. Ham, Lawrence Mitchell, Florian Rathgeber, Luigi Nardi, Fabio Luporini, and Paul H. J. Kelly
Geosci. Model Dev., 9, 3803–3815,,, 2016
Short summary
09 Mar 2015
Firedrake-Fluids v0.1: numerical modelling of shallow water flows using an automated solution framework
C. T. Jacobs and M. D. Piggott
Geosci. Model Dev., 8, 533–547,,, 2015
CC BY 4.0