CliMA / Oceananigans.jl
git clone https://github.com/CliMA/Oceananigans.jl.git
v0.114.0 Β· 9d ago
π₯ on GitHub Trending today
π Julia software for fast, friendly, flexible, ocean-flavored fluid dynamics on CPUs and GPUs
+-1
stars, 24h Β· #59,686
+~0
stars, 7 days Β· #32,174
+31
stars, 30 days Β· #17,820
1.4k
β
total
303
forks Β· 416 open issues
Star history (as recorded here)
LanguageJulia
LicenseMIT
Created2018-10-13 (8y ago)
Last pushtoday
Watchers33
OwnerOrganization
Seen on GitHub Trending
- 2026-10-23 β #4 daily in julia
- 2026-10-23 β #5 monthly in julia Β· +31 β
- 2026-10-22 β #2 daily in julia Β· +1 β
- 2026-10-22 β #5 monthly in julia Β· +31 β
- 2026-10-21 β #4 daily in julia
- 2026-10-21 β #5 monthly in julia Β· +31 β
- 2026-10-20 β #4 daily in julia Β· +1 β
- 2026-10-20 β #5 monthly in julia Β· +32 β
GitHub topics
Links
- GitHub: github.com/CliMA/Oceananigans.jl
- Homepage: https://clima.github.io/OceananigansDocumentation/stable
- Releases Β· Issues Β· Hacker News mentions
README excerpt
Oceananigans.jl π Fast and friendly ocean-flavored Julia software for simulating incompressible fluid dynamics in Cartesian and spherical shell domains on CPUs and GPUs. https://clima.github.io/OceananigansDocumentation/stable Oceananigans is a fast, friendly, flexible software package for finite volume simulations of the nonhydrostatic and hydrostatic Boussinesq equations on CPUs and GPUs. It runs on GPUs (wow, fast!), though we believe Oceananigans makes the biggest waves with its ultra-flexible user interface that makes simple simulations easy, and complex, creative simulations possible. Oceananigans development is community-driven with contributors from academia and industry - see jobs discussions for developer and user opportunities! Testing infrastructure is provided by atdepth and the Climate Modeling Alliance. ## Contents - Contents - Installation instructions - Running your first model - The Oceananigans knowledge base - Citing and otherwise spreading the word - Contributing - Movies - Deep convection - Free convection - Winds blowing over the ocean - Free convection with wind stress - Performance benchmarks ## Installation instructions Oceananigans is a registered Julia package. So to install it, 1. Download Julia (version 1.10 or later). 2. Launch Julia and type [code] This installs the latest version that's _compatible with your current environment_. Don't forget to *be careful* π and check which Oceananigans you installed: [code] ## Running your first model Let's run a two-dimensional, horizontally-periodic simulation of turbulence using 128Β² finite volume cells for 4 non-dimensional time units: [code] But there's more: loading CUDA.jl (via `using CUDA`) and changing `CPU()` to `GPU()` makes this code run on a CUDA-enabled Nvidia GPU. Dive into the documentation for more code examples and tutorials. Below, you'll find movies from GPU simulations along with CPU and GPU performance benchmarks. ## The Oceananigans knowledge base It's _deep_ and includes: * Documentation that provides * example Oceananigans scripts, * tutorials that describe key Oceananigans objects and functions, * explanations of Oceananigans finite-volume-based numerical methods, * details of the dynamical equations solved by Oceananigans models, and * a library documenting all user-facing Oceananigans objects and functions. * Discussions on the Oceananigans github, covering topics like * "Computational science", or how to science and set up numerical simulations in Oceananigans, and * "Experimental features", which covers new and sparsely-documented features for those who like to live dangerously. If you've got a question or something, anything! to talk about, don't hesitate to start a new discussion. * The Oceananigans wiki contains practical tips for getting started with Julia, accessing and using GPUs, and productive workflows when using Oceananigans. * The NumericalEarth slack where one may access institutional knowledge stored in the minds of