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 YAKL 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.
- Quick Start for Developers
- Data Types and Precision
- Arrays and YAKL
- Machine Environment (MachEnv)
- Model Configuration (Config)
- Omega Broadcast
- Development Conda Environment
- Linting Code
- Documentation
- Building the Documentation
- Omega Build with CMake
- Developing Omega Logging
- Domain Decomposition (Decomp)
- Metadata
- MetaData Code Structure
- Function Naming Convention
- Return Type and Return Code
- Inheriting MetaData class
- Create/Destroy a MetaData Instance
- Add/Remove a Metadata to/from a MetaData Instance
- Retreive a Metadata from a MetaData Instance
- Retreive a MetaData Instance
- Create/Destroy a MetaDim Instance
- Retreive Dimension from a MetaDim Instance
- Create/Destroy a MetaGroup Instance
- Add, Retrieve, or Remove a MetaData Instance from a MetaGroup Instance
- Utilities
- Parallel IO (IO)
- IO Fields (IOField)
- Halo Exchanges (Halo)
- Horizontal Mesh