firedrakeproject / gusto

Three dimensional atmospheric dynamical core using the Gung Ho numerics.
http://firedrakeproject.org/gusto/
MIT License
12 stars 11 forks source link

Gusto

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.

Gusto is designed to provide:

Download

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

Getting Started

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.

Visualisation

Gusto can produce output in two formats:

Website

For more information, please see our website, and please do get in touch via the Gusto channel on the Firedrake project slack workspace.