Skip to content

Fix a bug in the split-explicit time stepper - #560

Merged
mark-petersen merged 1 commit into
E3SM-Project:developfrom
hyungyukang:omega/se-stepper-bug-fix
Sep 17, 2026
Merged

mark-petersen merged 1 commit into
E3SM-Project:developfrom
hyungyukang:omega/se-stepper-bug-fix

Conversation

@hyungyukang

@hyungyukang hyungyukang commented Sep 17, 2026 •

Copy link
Copy Markdown

This PR fixes a bug in the vertical range used when initializing and splitting the baroclinic velocity, which caused an incorrect Coriolis acceleration calculation over non-flat bottom topography when the Coriolis parameter varies spatially.

Checklist

  • Linting

  • Building

    • CMake build does not produce any new warnings from changes in this PR
  • Testing

    aurora, oneapi-ifx, mpich

    • CTests Pass
    • Polaris omega_pr Pass

    chrysalis, oneapi-ifx, openmpi

    • CTests Pass
    • Polaris omega_pr Pass

    frontier, craygnu, mpich

    • CTests Pass
    • Polaris omega_pr Pass

    frontier, craygnu-mphipcc, mpich

    • CTests Pass
    • Polaris omega_pr Pass

    pm-cpu, gnu, mpich

    • CTests Pass
    • Polaris omega_pr Pass

    pm-gpu, gnugpu, mpich

    • CTests Pass
    • Polaris omega_pr Pass
  • Provide relevant details in a comment to the PR titled Testing with the following:

    • Which machines CTest unit tests
      have been run on and indicate that are all passing.
    • The Polaris omega_pr test suite
      has passed, using the Polaris e3sm_submodules/Omega baseline
    • Document machine(s), compiler(s), and the build path(s) used for -p for both the baseline (Polaris e3sm_submodules/Omega) and the PR build
    • Indicate "All tests passed" or document failing tests
    • Document testing used to verify the changes including any tests that are added/modified/impacted.

- Fix an issue with the vertical range used when initializing and
  splitting the baroclinic velocity, which caused an incorrect
  Coriolis acceleration calculation over non-flat bottom topography.
@hyungyukang hyungyukang added the bug Something isn't working label Sep 17, 2026
@hyungyukang

Copy link
Copy Markdown
Author

Since this PR uses the split-explicit time stepper, I tested the omega_pr suite using this Polaris PR.

Polaris omega_pr suite

  • PR build: /lustre/orion/cli115/proj-shared/hgkang/E3SM/OMEGA/Polaris/work/pr_suite/260916_se_fix/baseline_omega/build
  • PR workdir: /lustre/orion/cli115/proj-shared/hgkang/E3SM/OMEGA/Polaris/work/pr_suite/260916_se_fix/baseline_omega
  • Machine: frontier
  • Partition: batch
  • Compiler: craygnu-mphipcc
  • Build type: Release
  • Log: /lustre/orion/cli115/proj-shared/hgkang/E3SM/OMEGA/Polaris/work/pr_suite/260916_se_fix/baseline_omega/polaris_omega_pr.o5495312
  • Result: All tests passed

@hyungyukang

hyungyukang commented Sep 17, 2026 •

Copy link
Copy Markdown
Author

I ran two test cases: the SOMA test on the 32 km mesh and the realistic global ocean test on the EC30to60E2r2 mesh.

Since these tests require KPP mixing for better results, I rebased this PR branch onto #512.
The baroclinic and barotropic time step sizes are 30 minutes and 1 minute, respectively.

  • Surface kinetic energy at day 200 from the SOMA test on the 32-km mesh
    • The MPAS-O result is from @mark-petersen’s test in this comment.
    • Compared with the Omega split-explicit (SE) results before the bug fix, the results from this PR are much closer to those from Omega RK4 and MPAS-O SE.
image
  • Surface kinetic energy at 3 months from the realistic global ocean test
    • The overall behavior is consistent with the SOMA test case. The results are now closer to the Omega RK4 and MPAS-O SE results, and some spurious high KE at higher latitudes that appeared before the bug fix disappears after the fix.
image

@hyungyukang

Copy link
Copy Markdown
Author

@mark-petersen , Since you’ve been testing the split-explicit time stepper, could you please review this PR when you have a chance?

@mark-petersen mark-petersen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonderful! Yes, that is exactly the fix we were looking for! Approved based on visual inspection and testing by @hyungyukang above.

@mark-petersen
mark-petersen merged commit c5cf8af into E3SM-Project:develop Sep 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants