Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
812a802
Refactor buildnml to support external configs
andrewdnolan Aug 2, 2026
7bd6c0e
Add external type module
andrewdnolan Aug 3, 2026
6aaaf7b
Make clear coupled overrides is required
andrewdnolan Aug 3, 2026
174425e
Move validation into it's own module
andrewdnolan Aug 3, 2026
9e73356
Add validation of config_overrides file strcutre
andrewdnolan Aug 3, 2026
e0aa63e
Validate parameter overrides against Default.yml
andrewdnolan Aug 3, 2026
0c1ab71
Ensure KNOWN_STREAMS stays in sync with Default.yml
andrewdnolan Aug 3, 2026
a135891
Add validation cli entry point and CI workflow
andrewdnolan Aug 3, 2026
14b054d
Fail fast when YAML file has duplicate entries
andrewdnolan Aug 3, 2026
e304703
Add support for user_nl_omega
andrewdnolan Aug 3, 2026
20b4050
Add unit tests and CI job for running them
andrewdnolan Aug 4, 2026
c61f375
Add brief documentation in the form of READMEs
andrewdnolan Aug 4, 2026
cdfaf4a
Add documentaion within docs directory
andrewdnolan Aug 4, 2026
8593d4e
Apply suggestions from code review
andrewdnolan Aug 4, 2026
2e88b5d
Update comments follwing code review
andrewdnolan Aug 4, 2026
ca3921d
Remove `KNOWN_STREAMS` and associated validation
andrewdnolan Aug 4, 2026
3f01220
Apply ruff formatting
andrewdnolan Aug 5, 2026
e46f4df
Fix turning on sfc stress tendency in coupled mode
andrewdnolan Aug 6, 2026
9a8bb3d
Update mesh paths
andrewdnolan Aug 8, 2026
d1b418e
port forcing tendencies (thickness and tracers) + update doc, yml
alicebarthel Jun 19, 2026
d2d756c
added the enthalpy of mass fluxes; CtFrz has public interface
alicebarthel Jun 26, 2026
2b6ce60
added a test for thermo forcing tendencies
alicebarthel Jun 26, 2026
261eccf
made mass enthalpy flux dependent on thickness flag - under discussion
alicebarthel Jun 26, 2026
dff3c96
draft a non-teos10 CtFrz in comments - WIP
alicebarthel Jun 26, 2026
f74ab71
updated the documentation
alicebarthel Jun 26, 2026
979013b
Revert "made mass enthalpy flux dependent on thickness flag - under d…
alicebarthel Jul 6, 2026
53cc39f
updated the documentation
alicebarthel Jul 6, 2026
cc86f1a
correction to pressure units and ctest
alicebarthel Jul 6, 2026
0aa336d
update due to fill values and review comments
alicebarthel Jul 13, 2026
2c5a97e
resolve memory issue on GPUs
alicebarthel Jul 13, 2026
ffbcc41
inlines eos::calcPtFromCt in header with kokkos_function to fix gpu w…
katsmith133 Jul 16, 2026
6bbc5bd
adds linear and constant eos options to thermal forcing
katsmith133 Jul 20, 2026
de108d5
adds notes to docs and adds suggestions from review
katsmith133 Jul 20, 2026
8716297
Adds reset of forcing fields if not in stream
vanroekel Jul 21, 2026
8c48dfc
Update components/omega/doc/devGuide/Forcing.md
cbegeman Jul 22, 2026
7f81fe8
Fixup documentation
cbegeman Jul 23, 2026
e0ca421
remove SurfInsituTemp calcs
Jul 23, 2026
903b756
fixes GPU failures on frontier
Jul 24, 2026
ee3ea31
Revert "fixes GPU failures on frontier"
katsmith133 Jul 28, 2026
38b0f86
fixed GPU isssues on Frontier
katsmith133 Jul 30, 2026
4621e32
fixes omega_pr errors on Frontier
katsmith133 Jul 31, 2026
c384fe1
Accumulate NormalVelocity on edges
andrewdnolan Aug 8, 2026
0278f24
Export So_dhdx and So_dhdy to the coupler
andrewdnolan Aug 8, 2026
53d154b
Add support for G-case compsets
andrewdnolan Aug 8, 2026
5341cba
Import/Apply thermodynamic flux fields from cpl
andrewdnolan Aug 10, 2026
de11b72
Turn on thickness and tracer forcing tendencies
andrewdnolan Aug 10, 2026
01db1d5
Fix OMEGA component name in G-Case compset defs
andrewdnolan Aug 10, 2026
745466d
change accumulation test to avoid dangling pointer
andrewdnolan Aug 11, 2026
8dcb1a0
Export practical salinity [psu]
andrewdnolan Aug 11, 2026
34b5483
Set ROF_NCPL equal to ATM_NCPL for OMEGA
andrewdnolan Aug 11, 2026
f4fc8dd
Addition to allow E3SM configuations to build without OMEGA
jonbob Aug 13, 2026
04740fc
Updates to allow B-cases with OMEGA
jonbob Aug 13, 2026
c6f68da
Fixes the build failure of the coupled B-case, while the coupled G-ca…
grnydawn Aug 20, 2026
4e4aab8
Make sure kokkos is not already initalized before initializing
jonbob Aug 20, 2026
1de6e5a
Add export fields needed for fully-coupled configurations
jonbob Aug 24, 2026
2de0b90
More control around kokkos initialize and finalize
jonbob Aug 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 111 additions & 0 deletions .github/workflows/omega-buildnml-workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
name: omega-buildnml

on:
push:
branches: [develop]
paths:
- 'components/omega/cime_config/**'
- '!components/omega/cime_config/*.xml'
- 'components/omega/configs/Default.yml'
- 'components/omega/dev-conda.txt'
- '.github/workflows/omega-buildnml-workflow.yml'

pull_request:
branches: [develop]
paths:
- 'components/omega/cime_config/**'
- '!components/omega/cime_config/*.xml'
- 'components/omega/configs/Default.yml'
- 'components/omega/dev-conda.txt'
- '.github/workflows/omega-buildnml-workflow.yml'

workflow_dispatch:

concurrency:
# Cancel in progress runs testing the same git ref
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
PYTHON_VERSION: "3.13"

jobs:
validate-config:
if: ${{ github.repository == 'E3SM-Project/E3SM' ||
github.repository == 'E3SM-Project/Omega' }}
name: validate configuration files
runs-on: ubuntu-latest
timeout-minutes: 20
defaults:
run:
shell: bash -l {0}
steps:
- name: Checkout Code Repository
uses: actions/checkout@v4
with:
persist-credentials: false

- name: Set up Conda Environment
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: "omega_ci"
miniforge-version: latest
channels: conda-forge
channel-priority: strict
auto-update-conda: true
python-version: ${{ env.PYTHON_VERSION }}

- name: Install dependencies
run: |
conda create -n omega_dev --file components/omega/dev-conda.txt \
python=${{ env.PYTHON_VERSION }}
conda activate omega_dev
conda list

- name: Validate Omega configuration files
run: |
conda activate omega_dev
cd components/omega/cime_config
./validate_config.py

unit-tests:
if: ${{ github.repository == 'E3SM-Project/E3SM' ||
github.repository == 'E3SM-Project/Omega' }}
name: unit tests (python ${{ matrix.python-version }})
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
defaults:
run:
shell: bash -l {0}
steps:
- name: Checkout Code Repository
uses: actions/checkout@v4
with:
persist-credentials: false

- name: Set up Conda Environment
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: "omega_ci"
miniforge-version: latest
channels: conda-forge
channel-priority: strict
auto-update-conda: true
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
conda create -n omega_dev --file components/omega/dev-conda.txt \
python=${{ matrix.python-version }}
conda activate omega_dev
conda list

- name: Run omega_buildnml unit tests
run: |
conda activate omega_dev
cd components/omega/cime_config
python -m pytest omega_buildnml/tests -v
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ repos:
- id: mypy
args: ["--config=components/omega/mypy.cfg", "--show-error-codes"]
verbose: true
additional_dependencies: ['types-requests']
additional_dependencies: ['types-requests', 'types-PyYAML']
exclude: ^components/omega/cime_config/build.*

# Can run individually with `pre-commit run fortitude --all-files`
Expand Down
5 changes: 5 additions & 0 deletions cime_config/allactive/config_compsets.xml
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,11 @@
<lname>1850_EAM%CMIP6_ELM%CNPRDCTCBCTOP_MPASSI_MPASO_MOSART_SGLC_SWAV</lname>
</compset>

<compset>
<alias>WCYCL1850NS-OMEGA</alias>
<lname>1850_EAM%CMIP6_ELM%CNPRDCTCBCTOP_MPASSI_OMEGA_MOSART_SGLC_SWAV</lname>
</compset>

<!-- Same as WCYCL1850NS but for 2010 (to avoid needing transient files). Mainly for testing. -->
<compset>
<alias>WCYCL2010NS</alias>
Expand Down
10 changes: 7 additions & 3 deletions components/cmake/build_omega.cmake
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
function(build_omega)

# Set CIME source path relative to components
set(CIMESRC_PATH "../cime/src")
if (COMP_NAMES MATCHES ".*omega.*")

add_subdirectory("omega")
# Set CIME source path relative to components
set(CIMESRC_PATH "../cime/src")

add_subdirectory("omega")

endif()

endfunction(build_omega)
2 changes: 1 addition & 1 deletion components/eam/bld/config_files/definition.xml
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ Use clm, stub land or no lnd model in cam build: clm, slnd, none
<entry id="rof" valid_values="rtm,srof,none" value="rtm">
Use rtm, stub runoff or no runoff model in cam build: rtm, srof, none
</entry>
<entry id="ocn" valid_values="docn,dom,socn,aquaplanet,pop,mpaso" value="docn">
<entry id="ocn" valid_values="docn,dom,socn,aquaplanet,pop,mpaso,omega" value="docn">
Use data ocean model (docn or dom), stub ocean (socn), or aqua planet ocean
(aquaplanet) in cam build. When built from the CESM scripts the value of
ocn may be set to pop, but this doesn't impact how CAM is built.
Expand Down
2 changes: 1 addition & 1 deletion components/eam/bld/configure
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ OPTIONS
Options for surface components used in standalone EAM mode:

-ice <name> Build EAM with sea ice model [cice | sice | none ]. Default: cice.
-ocn <name> Build EAM with ocean model [docn | dom | socn | aquaplanet | pop | mpaso]. Default: docn.
-ocn <name> Build EAM with ocean model [docn | dom | socn | aquaplanet | pop | mpaso | omega]. Default: docn.
-lnd <name> Build EAM with land model [clm | slnd | none]. Default: clm.
-rof <name> Build EAM with runoff model [rtm | srof | none]. Default: rtm.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@
<ieflx_opt ocn="socn" >0</ieflx_opt>
<ieflx_opt ocn="docn" >0</ieflx_opt>
<ieflx_opt ocn="mpaso" >3</ieflx_opt>
<ieflx_opt ocn="omega" >3</ieflx_opt>

<!-- Bulk aerosol physical properties (includes optics) -->

Expand Down
Loading