Table of Contents
Fetching ...

High-level, high-resolution ocean modeling at all scales with Oceananigans

Gregory L. Wagner, Simone Silvestri, Navid C. Constantinou, Ali Ramadhan, Jean-Michel Campin, Chris Hill, Tomas Chor, Jago Strong-Wright, Xin Kai Lee, Francis Poulin, Andre Souza, Keaton J. Burns, Siddhartha Bishnu, John Marshall, Raffaele Ferrari

TL;DR

The user interface, governing equations, and numerical methods underpinning the community ocean modeling software called Oceananigans, which has been lead by the Climate Modeling Alliance to build a trainable climate model with quantifiable uncertainty, are described.

Abstract

We describe the user interface, governing equations, and numerical methods underpinning the community ocean modeling software called "Oceananigans". Oceananigans development has been lead by the Climate Modeling Alliance to build a trainable climate model with quantifiable uncertainty. Oceananigans is written in the Julia programming language, which, like similar recent efforts based on modern programming languages, distinguishes it from usual software based on Fortran. Oceananigans can efficiently simulate all scales of ocean motion, ranging from millimeter-scale turbulence in a small box to planetary-scale ocean circulation. Oceananigans design combines (i) a basic structured finite volume algorithm (ii) optimized for high-resolution simulations on GPUs which is (iii) exposed behind a high-level, programmable user interface. This design negotiates a dual mandate for highest-possible performance (to support state-of-the-art applications) and enhanced accessibility (to facilitate adoption and development). The dual mandate aims ultimately to accelerate the progress of Earth system science. Achieving this aim, however, requires a substantial and sustained increase in the collective effort of Oceananigans development.

High-level, high-resolution ocean modeling at all scales with Oceananigans

TL;DR

The user interface, governing equations, and numerical methods underpinning the community ocean modeling software called Oceananigans, which has been lead by the Climate Modeling Alliance to build a trainable climate model with quantifiable uncertainty, are described.

Abstract

We describe the user interface, governing equations, and numerical methods underpinning the community ocean modeling software called "Oceananigans". Oceananigans development has been lead by the Climate Modeling Alliance to build a trainable climate model with quantifiable uncertainty. Oceananigans is written in the Julia programming language, which, like similar recent efforts based on modern programming languages, distinguishes it from usual software based on Fortran. Oceananigans can efficiently simulate all scales of ocean motion, ranging from millimeter-scale turbulence in a small box to planetary-scale ocean circulation. Oceananigans design combines (i) a basic structured finite volume algorithm (ii) optimized for high-resolution simulations on GPUs which is (iii) exposed behind a high-level, programmable user interface. This design negotiates a dual mandate for highest-possible performance (to support state-of-the-art applications) and enhanced accessibility (to facilitate adoption and development). The dual mandate aims ultimately to accelerate the progress of Earth system science. Achieving this aim, however, requires a substantial and sustained increase in the collective effort of Oceananigans development.

Paper Structure

This paper contains 28 sections, 51 equations, 14 figures, 1 table.

Figures (14)

  • Figure 1: Vorticity after $t=10$ (left) and a passive tracer injected by a moving source at $t=2.5$ (right) in a simulation of two-dimensional turbulence using an implicitly-dissipative advection scheme.
  • Figure 2: Vorticity snapshots in simulations of flow around a cylinder. The top two panels show vorticity in direct numerical simulations (DNS) that use a molecular ScalarDiffusivity closure and Centered(order=2) advection. The bottom panel shows a large eddy simulation (LES) with no closure and a WENO(order=9) advection scheme.
  • Figure 3: Density and temperature at $t=1$ minute in a direct numerical simulation of cabelling in freshwater. Note that both fields span from $x=0$ to $x=2$ meters; only the left half of the density field and the right half of the temperature field are shown.
  • Figure 4: Surface vertical vorticity in a large eddy simulation of the Eady problem with $Ri = 1$ initially, after $t = 4.6$, 6, 7.7, and 20 days. The grid spacing is $4 \times 4 \times 2$ meters in $x, y, z$. Part of the script that produces this simulation is show in listing \ref{['list:eady-les']}.
  • Figure 5: Along-channel velocity, temperature, and Ertel potential vorticity in a tidally-forced flow past an idealized headland with open boundaries. The tidal flow occurs in the $x$-directions and the snapshot depicts the flow just after the tide has turned to the negative-$x$ direction.
  • ...and 9 more figures