TerraFERMA is the Transparent Finite Element Rapid Model Assembler, a software system for the rapid and reproducible construction and exploration of coupled multi-physics models.

TerraFERMA leverages three advanced open-source libraries for scientific computation that provide high level problem description (FEniCS), composable solvers for coupled multi-physics problems (PETSc) and a science neutral options handling system (SPuD) that allows the hierarchical management of all model options.

TerraFERMA inherits most of its functionality from the underlying libraries but adds a layer of control and guidance for building reusable and reproducible applications.



TerraFERMA is currently available primarily as a developer's release and to allow other researchers to run our models. We have limited resources to support new users but are always interested in hearing about potential new applications so please get in touch at terraferma@lists.columbia.edu if you have any questions.

Additionally, you can subscribe to our mailing list here and read the archives here.


TerraFERMA is free software: you can redistribute it and/or modify it under the terms of the as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

TerraFERMA is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.


TerraFERMA was principally written by Cian Wilson and Marc Spiegelman but owes significant thanks to several other people and projects

Most obviously, it would not function without all the incredible work of the development teams of its dependencies, PETSc, FEniCS and SPuD. However, significant inspiration and code was also drawn from Fluidity.

Discussions with Peter van Keken, Stephan Kramer and Rhodri Davies have enhanced many of the features of TerraFERMA and Gideon Simpson has contributed code for benchmarking.

Funding support has been provided by NSF grants OCE-0841079, EAR-1141976 and OCE-1358091, NERC grant NE/I024429/1, as well as by the Deep Carbon Observatory.