![Hier klicken, um den Treffer aus der Auswahl zu entfernen](images/unchecked.gif) |
Titel |
Automating the generation of finite element dynamical cores with Firedrake |
VerfasserIn |
David Ham, Lawrence Mitchell, Miklós Homolya, Fabio Luporini, Thomas Gibson, Paul Kelly, Colin Cotter, Michael Lange, Stephan Kramer, Jemma Shipton, Hiroe Yamazaki, Alberto Paganini, Tuomas Kärnä |
Konferenz |
EGU General Assembly 2017
|
Medientyp |
Artikel
|
Sprache |
en
|
Digitales Dokument |
PDF |
Erschienen |
In: GRA - Volume 19 (2017) |
Datensatznummer |
250153056
|
Publikation (Nr.) |
EGU/EGU2017-17987.pdf |
|
|
|
Zusammenfassung |
The development of a dynamical core is an increasingly complex software engineering
undertaking. As the equations become more complete, the discretisations more sophisticated
and the hardware acquires ever more fine-grained parallelism and deeper memory hierarchies,
the problem of building, testing and modifying dynamical cores becomes increasingly
complex.
Here we present Firedrake, a code generation system for the finite element method with
specialist features designed to support the creation of geoscientific models. Using Firedrake,
the dynamical core developer writes the partial differential equations in weak form in a
high level mathematical notation. Appropriate function spaces are chosen and time
stepping loops written at the same high level. When the programme is run, Firedrake
generates high performance C code for the resulting numerics which are executed in
parallel.
Models in Firedrake typically take a tiny fraction of the lines of code required by
traditional hand-coding techniques. They support more sophisticated numerics than are
easily achieved by hand, and the resulting code is frequently higher performance.
Critically, debugging, modifying and extending a model written in Firedrake is
vastly easier than by traditional methods due to the small, highly mathematical code
base.
Firedrake supports a wide range of key features for dynamical core creation:
A vast range of discretisations, including both continuous and discontinuous
spaces and mimetic (C-grid-like) elements which optimally represent force
balances in geophysical flows.
High aspect ratio layered meshes suitable for ocean and atmosphere domains.
Curved elements for high accuracy representations of the sphere.
Support for non-finite element operators, such as parametrisations.
Access to PETSc, a world-leading library of programmable linear and nonlinear
solvers.
High performance adjoint models generated automatically by symbolically
reasoning about the forward model.
This poster will present the key features of the Firedrake system, as well as those of
Gusto, an atmospheric dynamical core, and Thetis, a coastal ocean model, both of which are
written in Firedrake. |
|
|
|
|
|