Open-source tools for simulating the Earth system at all scales
Documentation | Examples | Discussions
NumericalEarth is a community building Julia software for Earth system modeling. We develop tools for running coupled atmosphere-ocean-sea ice simulations, wrangling climate datasets, and studying boundary layer physics --- from turbulence-resolving large eddy simulations to global climate models.
The NumericalEarth organization is anchored by an Earth system modeling package called NumericalEarth.jl.
NumericalEarth.jl is in turn built on Oceananigans.jl.
Our core mission is to accelerate progress in Earth system modeling, utilizing a strategy that combines ground-breaking user interface design with
algorithms and numerical strategies that maximize both GPU performance and accessibility to scientists.
Ocean surface speed and sea ice speed in a coupled ocean-sea ice simulation on a 1/6th degree tripolar grid (Wagner et al. 2025)
- Read the Documentation for guides and tutorials
- Browse the Examples for runnable scripts
- Install the main package:
using Pkg Pkg.add("NumericalEarth")
- NumericalEarth.jl --- Coupled Earth system modeling with prescribed or prognostic atmosphere, ocean, sea ice, and land components
- Breeze.jl --- Limited area LES-to-mesoscale atmosphere simulations based on Oceananigans
- CopernicusMarine.jl --- Julia wrapper for the Copernicus Marine Service
- CopernicusClimateDataStore.jl --- Julia wrapper for accessing ERA5 data through the Copernicus Climate Data Store
- XESMF.jl --- Julia wrapper around xESMF for conservative regridding
- pynanigans --- Shenanigans and Oceananigans in Python
- SwimLessons.jl --- Tutorials that teach ocean-flavored fluid dynamics with Oceananigans
- Cumulography.jl --- The art of cloudmaking
- DataAssimilocean.jl --- Experiments in ensemble-based and variational data assimilation
Coupled global simulations --- Run ocean-sea ice models forced by atmospheric reanalysis (JRA55, ERA5), or fully coupled atmosphere-ocean experiments with SpeedyWeather.jl
Boundary layer research --- Study atmosphere-ocean interactions through Monin-Obukhov similarity theory, bulk flux formulations, roughness length models, and sea surface albedo schemes
Climate data wrangling --- Download, cache, regrid, and interpolate datasets from ECCO, GLORYS, ERA5, JRA55, EN4, and ETOPO bathymetry into model-ready formats
High-performance computing --- Leverage GPU acceleration for global simulations
We welcome contributions! Whether you're fixing bugs, improving documentation, or proposing new features, check the issues in the relevant repository to get started.
Questions or ideas? Open a thread in our Discussions.
Join the NumericalEarth slack to connect with the NumericalEarth community!