🌊 Fast and friendly fluid dynamics on CPUs and GPUs.
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 is written in Julia by the Climate Modeling Alliance and heroic external collaborators.
Oceananigans is a registered Julia package. So to install it,
-
Launch Julia and type
julia> using Pkg
julia> Pkg.add("Oceananigans")
!!! compat "Julia 1.9 is required" Oceananigans requires Julia 1.9 or later.
If you're new to Julia and its wonderful Pkg
manager, the Oceananigans wiki provides more detailed installation instructions.
It's deep and includes:
-
This documentation, which 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 to talk about, don't hesitate to start a new discussion!
-
The Oceananigans wiki, which contains practical tips for getting started with Julia, accessing and using GPUs, and productive workflows when using Oceananigans.
-
Issues and pull requests also contain lots of information about problems we've found, solutions we're trying to implement, and dreams we're dreaming to make tomorrow better 🌈.
Whether you need help getting started with Oceananigans, found a bug, want Oceananigans to be more awesome, or just want to chat about computational oceanography, you've got a few options for getting in touch:
- Start a discussion. This is great for general questions about numerics, science, experimental or under-documented features, and for getting help setting up a neat new numerical experiment.
- Open an issue. Issues are best if you think the Oceananigans source code needs attention: a bug, a sign error (😱), an important missing feature, or a typo in this documentation 👀.
- Sign up for the Julia Slack and join the
#oceananigans
channel because we love to chat.
If you use Oceananigans as part of your research, teaching, or other activities, we would be grateful if you could cite our work and mention Oceananigans by name.
@article{OceananigansJOSS,
doi = {10.21105/joss.02018},
url = {https://doi.org/10.21105/joss.02018},
year = {2020},
publisher = {The Open Journal},
volume = {5},
number = {53},
pages = {2018},
author = {Ali Ramadhan and Gregory LeClaire Wagner and Chris Hill and Jean-Michel Campin and Valentin Churavy and Tim Besard and Andre Souza and Alan Edelman and Raffaele Ferrari and John Marshall},
title = {Oceananigans.jl: Fast and friendly geophysical fluid dynamics on GPUs},
journal = {Journal of Open Source Software}
}
If you have work using Oceananigans that you would like to have listed here, please open a pull request to add it or let us know!
-
Chor, T. and Wenegrat, J. (2024). The turbulent dynamics of anticyclonic submesoscale headland wakes, Earth arXiv, DOI: 10.31223/X5570C
-
Wagner, G. L., Hillier, A., Constantinou, N. C., Silvestri, S., Souza, A., Burns, K., Hill, C., Campin, J.-M., Marshall, J., and Ferrari, R. (2024). Formulation and calibration of CATKE, a one-equation parameterization for microscale ocean mixing, arXiv, arXiv:2306.13204. DOI: 10.48550/arXiv.2306.13204
-
Allred, T., Li, X., Wiersdorf, A., Greenman, B., and Gopalakrishnan, G. (2024). FlowFPX: Nimble tools for debugging floating-point exceptions, arXiv, arXiv:2403.15632. DOI: 10.48550/arXiv.2403.15632
-
Silvestri, S., Wagner, G. L., Constantinou, N. C., Hill, C., Campin, J.-M., Souza, A., Bishnu, S., Churavy, V., Marshall, J., and Ferrari, R. (2024) A GPU-based ocean dynamical core for routine mesoscale-resolving climate simulations, ESS Open Archive. DOI: 10.22541/essoar.171708158.82342448/v1
-
Silvestri, S., Wagner, G. L., Campin, J.-M., Constantinou, N. C., Hill, C., Souza, A., and Ferrari, R. (2024). A new WENO-based momentum advection scheme for simulations of ocean mesoscale turbulence, ESS Open Archive. DOI: 10.22541/essoar.170110657.76489860/v2
-
Whitley V. and Wenegrat, J. O. (2024) Breaking internal waves on sloping topography: connecting parcel displacements to overturn size, interior-boundary exchanges, and mixing, Earth Arxiv. DOI: 10.31223/X5PM5Q
-
Chen S., Strong-Wright J., and Taylor, J. R. (2024) Modeling carbon dioxide removal via sinking of particulate organic carbon from macroalgae cultivation, Frontiers in Marine Science, 11, 1359614. DOI: 10.3389/fmars.2024.1359614
-
Gupta, M., Gürcan, E., and Thompson, A. F. (2024). Eddy-induced dispersion of sea ice floes at the marginal ice zone, Geophysical Research Letters, 51, e2023GL105656. DOI: 10.1029/2023GL105656
-
Wagner, G. L., Pizzo, N. E., Lenain, L., and Veron, F. (2023) Transition to turbulence in wind-drift layers, Journal of Fluid Mechanics, 976, A8. DOI: 10.1017/jfm.2023.920
-
Jiménez-Urias, M. A. and Haine T. W. N. (2023) On the non-self-adjoint and multiscale character of passive scalar mixing under laminar advection, Journal of Fluid Mechanics, 973, A44. DOI: 10.1017/jfm.2023.748
-
Strong-Wright, J, Chen, S., Constantinou, N. C., Silvestri, S., Wagner, G. L., and Taylor, J. R. (2023). OceanBioME.jl: A flexible environment for modelling the coupled interactions between ocean biogeochemistry and physics, Journal of Open Source Software, 90(8), 5669. DOI: 10.21105/joss.05669
-
Ramadhan, A., Marshall, J. C., Souza, A. N., Lee, X. K., Piterbarg, U., Hillier, A., Wagner, G. L., Rackauckas, C., Hill, C., Campin, J.-M., and Ferrari, R. (2022). Capturing missing physics in climate model parameterizations using neural differential equations, ESS Open Archive. DOI: 10.1002/essoar.10512533.1
-
Gupta, M. and Thompson, A. F. (2022). Regimes of sea-ice floe melt: Ice-ocean coupling at the submesoscales, Journal of Geophysical Research: Oceans, 127, e2022JC018894. DOI: 10.1029/2022JC018894
-
Simoes-Sousa, I. T., Tandon, A., Pereira, F., Lazaneo, C. Z., and Mahadevan, A. (2022). Mixed layer eddies supply nutrients to enhance the spring phytoplankton bloom, Frontiers in Marine Sciences, 9, 825027. DOI: 10.3389/fmars.2022.825027
-
Chor, T., Wenegrat, J. O., and Taylor, J. (2022). Insights into the mixing efficiency of submesoscale Centrifugal-Symmetric instabilities., Journal of Physical Oceanography, 52(10), 2273-2287. DOI: 10.1175/JPO-D-21-0259.1
-
Bire, S., Kang, W., Ramadhan, A., Campin, J.-M., and Marshall, J. (2022). Exploring ocean circulation on icy moons heated from below., Journal of Geophysical Research: Planets, 127, e2021JE007025. DOI: 10.1029/2021JE007025
-
Rackauckas, C., Ma, Y., Martensen, J., Warner, C., Zubov, K., Supekar, R., Skinner, D., Ramadhan, A., and Edelman, A. (2021) Universal differential equations for scientific machine learning, arXiv, arXiv.2001.04385. DOI: 10.48550/arXiv.2001.04385
-
Coakley, S., Miles, T. N., Glenn, S., and Lim, H. S. (2021). Observation-Large eddy simulation comparison of ocean mixing under Typhoon Soulik (2018), OCEANS 2021: San Diego – Porto, 2021, pp. 1-7. DOI: 10.23919/OCEANS44145.2021.9705670
-
Arnscheidt, C. W., Marshall, J., Dutrieux, P., Rye, C. D., and Ramadhan, A. (2021). On the settling depth of meltwater escaping from beneath Antarctic ice shelves, Journal of Physical Oceanography, 51(7), 2257–2270. DOI: 10.1175/JPO-D-20-0178.1
-
Wagner, G. L., Chini, G. P., Ramadhan, A., Gallet, B., and Ferrari, R. (2021). Near-inertial waves and turbulence driven by the growth of swell, Journal of Physical Oceanography, 51(5), 1337-1351. DOI: 10.1175/JPO-D-20-0178.1
-
Buffett, B. A. (2021). Conditions for turbulent Ekman layers in precessionally driven flow, Geophysical Journal International, 226(1), 56–65. DOI: 10.1093/gji/ggab088
-
Bhamidipati, N., Souza, A.N., and Flierl, G.R. (2020). Turbulent mixing of a passive scalar in the ocean mixed layer, Ocean Modelling, 149, 101615. DOI: 10.1016/j.ocemod.2020.101615
-
Souza, A. N., Wagner, G. L., Ramadhan, A., Allen, B., Churavy, V., Schloss, J., Campin, J. M., Hill, C., Edelman, A., Marshall, J., Flierl, G., and Ferrari, R. (2020). Uncertainty quantification of ocean parameterizations: Application to the K‐Profile‐Parameterization for penetrative convection, Journal of Advances in Modeling Earth Systems, 12, e2020MS002108. DOI: 10.1029/2020MS002108