Gusto is a Python code library, providing a toolkit of finite element methods for modelling geophysical fluids, such as the atmosphere and ocean. The methods used by Gusto are underpinned by the Firedrake finite element code generation software.
Gusto is particularly targeted at the numerical methods used by the dynamical cores used in numerical weather prediction and climate models. Gusto focuses on compatible finite element discretisations, in which variables lie in function spaces that preserve the underlying geometric structure of the equations. These compatible methods underpin the Met Office's next-generation model, LFRic.
The best way to install Gusto is as an additional package when installing Firedrake. Usually, for a Mac with Homebrew or an Ubuntu installation this is done by downloading the Firedrake install script and executing it:
curl -0 https://raw.githubusercontent/com/firedrakeproject/firedrake/master/scripts/firedrake-install
python3 firedrake-install --install gusto
For an up-to-date installation guide, see the firedrake installation instructions. Once installed, Gusto must be run from within the Firedrake virtual environment, which is activated via
source firedrake/bin/activate
To test your Gusto installation, run the test-suites:
cd firedrake/src/gusto
make test
The examples
directory contains several test cases, which you can play with to get started with Gusto.
You can also see the gusto case studies repository, which contains a larger collection of test cases that use Gusto.
Gusto is documented here, which is generated from the doc-strings in the codebase.
Gusto can produce output in two formats:
For more information, please see our website, and please do get in touch via the Gusto channel on the Firedrake project slack workspace.