Skip to content

Omega/add coupling fluxes#418

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

Omega/add coupling fluxes#418
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.

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.
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.

1 participant