Planet Earth

Oceananigans – ocean fluid dynamics simulations on CPUs and GPUs

Oceananigans.jl is a Julia package for simulating incompressible geophysical fluid dynamics on CPUs and GPUs.

It uses finite-volume methods to solve nonhydrostatic and hydrostatic Boussinesq equations and is designed for applications ranging from idealised turbulence experiments to high-resolution ocean modelling. The package provides high-level model and simulation interfaces while retaining control over grids, advection schemes, turbulence closures, boundary conditions, tracers and numerical solvers.

This is free and open source software.

Key Features

  • Finite-volume simulation of incompressible geophysical fluid dynamics with high-level model and simulation interfaces.
  • Nonhydrostatic and hydrostatic free-surface Boussinesq models.
  • Shallow-water model support.
  • Runs on CPUs and multiple GPU backends while using the same model configuration approach.
  • CUDA, AMDGPU, Metal and oneAPI GPU support through Julia extensions.
  • Distributed execution with MPI and multi-GPU communication support for larger simulations.
  • Rectilinear, latitude-longitude, cubed-sphere and immersed-boundary grids for idealised and global domains.
  • High-order advection methods including WENO schemes for momentum and tracer transport.
  • Configurable tracers, buoyancy formulations and Coriolis effects.
  • Multiple turbulence closures, viscosities and diffusivities for representing unresolved mixing processes.
  • Flexible value, flux, gradient and immersed boundary conditions.
  • Hydrostatic free-surface algorithms including split-explicit time integration.
  • Lagrangian particle tracking alongside Eulerian velocity and tracer fields.
  • Output support through formats and packages including JLD2, NetCDF and Zarr, with configurable output writers for simulation diagnostics.
  • GPU-portable kernels built with KernelAbstractions.jl.
  • Optional automatic-differentiation support through Enzyme.jl for differentiable numerical workflows.

Website: github.com/CliMA/Oceananigans.jl
Support:
Developer: Climate Modeling Alliance and contributors
License: MIT License

Oceananigans.jl is written in Julia. Learn Julia with our recommended free books and free tutorials.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted