Skip to content

Adds reading of omega HorzMesh from mesh iostream #382

Open
philipwjones wants to merge 2 commits intoE3SM-Project:developfrom
philipwjones:omega/add-mesh-stream
Open

Adds reading of omega HorzMesh from mesh iostream #382
philipwjones wants to merge 2 commits intoE3SM-Project:developfrom
philipwjones:omega/add-mesh-stream

Conversation

@philipwjones
Copy link
Copy Markdown

@philipwjones philipwjones commented Apr 7, 2026

Uses an input IOStream to read the input horizontal mesh variables. The same filename is used by Decomp. If the Decomp optional argument for a mesh file is supplied (eg in some unit test drivers), that value overrides the mesh stream filename. All physical mesh fields are defined for IO and are added to a field group HorzMeshIn. Some cleanup of the HorzMesh test driver is included to reduce test output and conform to omega code conventions. User and developer docs have been updated with these changes.

Checklist

  • Documentation:
  • Linting
  • Building
    • CMake build does not produce any new warnings from changes in this PR
  • Testing
    • Add 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.
      • Performance related PRs: Please include a relevant PACE experiment link documenting performance before and after.

Fixes #311

  Uses an input IOStream to read the input horizontal mesh
  variables. The same filename is used by Decomp.  If the Decomp
  optional argument for a mesh file is supplied, that value overrides
  the mesh stream filename. All physical mesh fields are defined for IO
  and are added to a field group HorzMeshIn. Some cleanup of the
  HorzMesh test driver is included to reduce test output and
  conform to omega code conventions. User and developer docs have
  been updated with these changes.
  updated HorzMesh interfaces
@philipwjones philipwjones requested review from sbrus89 and xylar April 7, 2026 21:01
@philipwjones philipwjones self-assigned this Apr 7, 2026
@philipwjones philipwjones added enhancement New feature or request Omega labels Apr 7, 2026
@philipwjones
Copy link
Copy Markdown
Author

Passes ctests on Perlmutter (CPU)

@xylar
Copy link
Copy Markdown

xylar commented Apr 9, 2026

Thanks @philipwjones! I'll take a look ASAP.

@xylar
Copy link
Copy Markdown

xylar commented Apr 12, 2026

I'm working on the Polaris side of supporting these changes in E3SM-Project/polaris#527. That's going to need some fixes in Polaris for the horizontal pressure gradient before it can be tested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Omega

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Do not hard-code OmegaMesh.nc in Decomp

2 participants