Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add timers to WW3 cap #2086

Conversation

DeniseWorthen
Copy link
Collaborator

@DeniseWorthen DeniseWorthen commented Jan 10, 2024

Commit Queue Requirements:

  • Fill out all sections of this template.
  • All sub component pull requests have been reviewed by their code managers.
  • Run the full RT suite (compared to current baselines) on either Hera/Derecho/Hercules AND have committed the log to my PR branch.
  • Add list of all failed regression tests in "Regression Tests" section.

PR Information

Description

Fixes a potential divide-by-zero when WAV-ICE coupling is enabled in UWM.

Updates WW3 to enable run timers in the cap. As with the CICE and MOM6 caps, the feature is enabled by setting
RunTimeLog = true in the ALLCOMP_attributes.

The timer log will be log.ww3.timer which will show

20210322   60000   21600 WW3 InitializeRealize time: 0.7798858
20210322   60000   21600 WW3 ModelAdvance time since last step:  4.489980
20210322   61200   22320 WW3 ModelAdvance time:  2.570183
20210322   61200   22320 WW3 ModelAdvance time since last step:  8.023816
20210322   62400   23040 WW3 ModelAdvance time:  1.164186
20210322   62400   23040 WW3 ModelAdvance time since last step: 0.1100351E-01

Also adds the capability of reading a WW3 configuration attribute to allow WW3 timesteps to over-write timesteps saved in pre-created mod_def file. This allows the same mod_def file to be used for either inner or outer loop coupling. To test the feature, a version of mod_def.mx100 was created with the "outer loop" timesteps:

$ if outerloop: 3600 900 1800 30
 720 360 360 30

This mod_def was then used for the cpld_control RTs, but adding the WAV attribute:

# WAV #
WAV_model:                      ww3
...(snip)
  dt_in = 720,360,360,30
::

All tests passed.

Commit Message

Fix divide-by zero in WW3 appendtail routine.
Add run timers in meshcap
Add over-write capability for mod_def timesteps in meshcap.

Priority

  • Critical Bugfix (This PR contains a critical bug fix and should be prioritized.)
  • High (This PR contains a feature or fix needed for a time-sensitive project (eg, retrospectives, implementations))
  • Normal

Blocking Dependencies

Git Issues Fixed By This PR

Changes

Subcomponent (with links)

  • AQM
  • CDEPS
  • CICE
  • CMEPS
  • CMakeModules
  • FV3
  • GOCART
  • HYCOM
  • MOM6
  • NOAHMP
  • WW3
  • stochastic_physics
  • none

Input data

  • No changes are expected to input data.
  • Changes are expected to input data:
    • New input data.
    • Updated input data.

Regression Tests:

  • No changes are expected to any regression test.
  • Changes are expected to the following tests:
FAILED REGRESSION TESTS

Libraries

  • Not Needed
  • Needed
    • Create separate issue in JCSDA/spack-stack asking for update to library. Include library name, library version.
    • Add issue link from JCSDA/spack-stack following this item

Testing Log:

  • RDHPCS
    • Hera
    • Orion
    • Hercules
    • Jet
    • Gaea
    • Derecho
  • WCOSS2
    • Dogwood/Cactus
    • Acorn
  • CI
    • Completed
  • opnReqTest
    • N/A
    • Log attached to comment

DeniseWorthen and others added 3 commits January 10, 2024 10:51
* created a duplicate mx100 mod_def with timesteps
set as "outer-loop". Ran tests associated with this
mod_def, adding config variable dt_in=720,360,360,30
to the wave attributes. All tests pass. Message generated
@DeniseWorthen
Copy link
Collaborator Author

Combined with #2085, closing.

zach1221 pushed a commit that referenced this pull request Jan 19, 2024
…; Allow MOM6 to write non-interval restarts (was #2099) (#2085)

fix potential divide by zero in WW3 appendtail routine
add timers to WW3 mesh cap
add non-interval restart capability to MOM6
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