Skip to content

Omega/add coupling fluxes - #418

Closed
alicebarthel wants to merge 17 commits into
E3SM-Project:developfrom
alicebarthel:omega/add-coupling-fluxes
Closed

alicebarthel wants to merge 17 commits into
E3SM-Project:developfrom
alicebarthel:omega/add-coupling-fluxes

Conversation

@alicebarthel

Copy link
Copy Markdown

This (draft) PR includes a rebase of the Forcing class development on the recent develop, the grouping of all surface forcing terms in the Forcing class, and some renaming for readability/consistency.

We went back and forth on the design of including the Forcing terms in AuxVars, but this is what we decided to go ahead with for now.

I tried to update the documentation as I went.
Some tests may have been removed and not added back - it needs careful review for code coverage in its current format.
The ctests pass successfully, except for DRIVER_TEST. Afaik, this is because it looks for the restoring and wind terms in forcing.nc, which does not include these terms at the moment.

Checklist

  • Documentation:
  • Linting
  • Building
    • CMake build does not produce any new warnings from changes in this PR
  • Testing
    • CTest on pm-cpu only. DRIVER_TEST fails.

    • New tests:

      • CTest unit tests for new features have been added per the approved design.
      • Polaris tests for new features have been added per the approved design (and included in a test suite)
  • Stealth Features
    • If any stealth features are included in the PR, please confirm that they have been documented.

@alicebarthel

Copy link
Copy Markdown
Author

Note that this branch should be sufficient to test the Coupling+Forcing infrastructure, but does not currently implement the temperature tendency as documented in the v2 coupling document (i.e. missing the enthalpy of liq water). The proper implementation needs the freezing point calculation which is implemented in a different branch that I did not have time to cherry pick on this one. Let's make sure we update this before the full merge.

@alicebarthel alicebarthel mentioned this pull request Jun 2, 2026
11 tasks done
sbrus89 added a commit that referenced this pull request Jun 24, 2026
Adds the new Forcing class (with minimal changes).
Wind Forcing has been moved to the Forcing class and renamed a more general "SrfStress" to account for sea ice stress.
The docs have been updated accordingly.

The longer term vision is that Forcing will own 3 classes of AuxVars for momentum forcing, surface restoring, and surface tracer forcing. This PR is 1/3 to make #418 more digestible.
@alicebarthel alicebarthel mentioned this pull request Jul 6, 2026
11 of 13 tasks
sbrus89 added a commit that referenced this pull request Sep 1, 2026
This PR adds the thermo coupling - from forcing terms to thickness and tracer
tendencies.  The energy of mass fluxes and phase changes are hard-coded into the 
tendency conversions, like it was in MPAS-O. Hopefully the documentation (inline
or otherwise) clarifies the meaning of each term.

This PR is 3/3 to make #418 more digestible.
@sbrus89

sbrus89 commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

@alicebarthel, is it okay to close this? I believe all of the PRs this was split into have been merged.

@alicebarthel

Copy link
Copy Markdown
Author

The code in this PR was covered by #426 and #461 . A restructuring of the code to move surface restoring into the forcing class may be performed later.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants