Oceananigans.jl
🌊 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.
Quick install
Oceananigans is a registered Julia package. So to install it,
Launch Julia and type
julia> using Pkg
julia> Pkg.add("Oceananigans")
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.
The Oceananigans "knowledge base"
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.
- 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 🌈.
Getting in touch
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.
Citing
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}
}
Papers and preprints using Oceananigans
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!
Bisits, J. I., Zika, J. D., and Evans, D. G. (2024) Does cabbeling shape the thermohaline structure of high-latitude oceans? Journal of Physical Oceanography, in press. DOI: 10.1175/JPO-D-24-0061.1
Strong-Wright J. and Taylor, J. R. (2024) A model of tidal flow and tracer release in a giant kelp forest, Flow, 4, E21. DOI: 10.1017/flo.2024.13
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