Omega
The Ocean Model for E3SM Global Applications (Omega) initially is an eddy-resolving, global ocean model in the early stages of development by the E3SM ocean team. The first release is planned for Summer 2026. A non-eddying configuration will be released in early 2027.
The model is written in c++ using the Kokkos framework for performance portability. Omega is based on the TRSK formulation for geophysical models on unstructured meshes. The first version of Omega will primarily be a direct port of the MPAS-Ocean component of E3SM for comparison purposes.
Development is taking place at https://github.com/E3SM-Project/Omega.
User's guide
- Quick Start for Users
- CMake-based Omega Build
- Data Types and Precision
- Machine Environment (MachEnv)
- Model Configuration (Config)
- Omega Broadcast
- Omega Logging
- Driver
- Domain Decomposition (Decomp)
- Dimension
- Error handling
- Fields and Metadata (Field)
- Parallel IO (IO)
- IO Streams (IOStream)
- Halo Exchanges (Halo)
- Horizontal Mesh
- Horizontal Operators
- Auxiliary Variables
- Auxiliary State
- Tendency Terms
- Tendencies
- Ocean State
- Time Manager (TimeMgr)
- Time stepping
- Global Reductions
- Tracers
- Tridiagonal Solvers
Developer's guide
- Quick Start for Developers
- Development Conda Environment
- Linting Code
- Documentation
- Building the Documentation
- Data Types and Precision
- Arrays and Kokkos
- Machine Environment (MachEnv)
- Model Configuration (Config)
- Driver
- Omega Broadcast
- Omega Build with CMake
- Developing Omega Logging
- Domain Decomposition (Decomp)
- Dimension
- Error Handler
- Fields and Metadata (Field)
- Parallel IO (IO)
- IO Streams (IOStream)
- Halo Exchanges (Halo)
- Horizontal Mesh
- Horizontal Operators
- Auxiliary Variables
- Auxiliary State
- Tendency Terms
- Tendencies
- Ocean State
- Time Manager (TimeMgr)
- Time stepping
- Global Reductions
- Tracers
- Tridiagonal Solvers
Design documents
- Omega V0: Shallow Water
- Broadcast
- Config
- DataTypes
- Decomp
- Driver and Component Layer
- Equation of State
- ErrorHandler (Error)
- Halo
- Horizontal Mesh
- Logging
- MachineEnv
- Metadata
- Input/Output (IO)
- IOStreams
- Global Reductions
- State
- Tendency
- Tendencies
- Auxiliary variables
- AuxiliaryState
- TimeManager
- Timers
- Time Stepping
- Tracer Infrastructure
- Tridiagonal Solver
- Vertical Mixing Coefficients
- Template