-
Notifications
You must be signed in to change notification settings - Fork 22
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 the Stokes Forces Implementation for the Surface Bands wave coupling method #205
Conversation
- Add Craik-Leibovich terms, vorticity and dynamic pressure components. - Add exploratory Stokes ddt version in MOM_wave_interface and MOM.F90 - Add tendency diagnostics for Stokes terms w/ control and option for diagnostic only Stokes force computation in MOM_CoriolisAdv.
- This only makes sense to add on the dynamics timestep.
…o surfbands_refactor
With these changes, arbitrary number of of partitioned stokes drift components may be imported from ww3 when coupled within cesm. After the planned unification of ww3 nuopc caps of CESM and EMC, the old (fixed) approach may be removed.
profile to restart file when surfbands wave coupling mode is on.
add the optional waves_csp arg to initialize_MOM calls so as to ensure that the waves_csp is allocated. This commit also has several misc doxygen fixes.
in MOM_CoriolisAdv. Also remove the Passive_Stokes_VF block since it's never set to true.
…ments incorrectly override dvdx and dudy when surfbands wave coupling is on.
Codecov Report
@@ Coverage Diff @@
## dev/ncar #205 +/- ##
============================================
- Coverage 29.06% 29.01% -0.06%
============================================
Files 237 237
Lines 71635 71842 +207
============================================
+ Hits 20822 20845 +23
- Misses 50813 50997 +184
Continue to review full report at Codecov.
|
- Adding logical to prevent using terms if not allocated - Adding optional diagnostic only output of term - Moving time increment to within dynamics step instead of in main step MOOM loop. - Correcting time tendency term to reflect time between Stokes drift updates and extent of dynamics time loop.
- for ustkb and vstkb, call pass_var, instead of pass_vector because they are on h grd. -remove unused ustk0 and vstk0 arrays. - correct the order of wave-related get param & allocate_forcing calls in nuopc cap. - add lamult flag to allocate_forcing_by_group because lamult should only be allocated if wave_method=="EFACTOR".
- Replaces Stokes-induced pressure anomaly gradient routine with more accurate method that explicitly integrates the Stokes-shear force contribution to the pressure. Includes diagnostics for the pressure anomaly to verify. - Updates the Stokes time derivative to only be updated on dynamics time-steps. Adds additional storage of previous step that is also only updated on the dynamics time-steps. - Update so that the surface Stokes drift output when using the exponential surfbands option is the surface Stokes drift and not averaged over a layer near the surface. - Minor rename for clarity in Update_Surface_Waves using data_override to clarify the time that wave terms are computed. - Adds diagnostic tracking Stokes time tendency term for verification. - Updates Stokes diagnostic names for conformity. - Fix allocation of CS%STKy0 from u grid to v grid.
- The model's Coriolis/acceleration term was incorrect when the Stokes vortex form correction was in diagnostic mode. The correct calculations are restored so it can be run in diagnostic mode and reproduce with the model when the setting is turned off entirely.
- The term us_x and us_y needed to be replaced with us_x_prev and us_y_prev to store the previous timestep Stokes drift in order to have reproducing code with restart files.
@gustavo-marques this is ready to be tested and merged. |
@alperaltuntas, I have verified that this PR does not change answers for the MOM6-examples test suit w.r.t. the latest main (9cb9304). Were you able to run the CESM tests? |
@gustavo-marques Yes, the aux_mom test suite passes. |
This PR adds the Stokes Forces implementation by @breichl and some additional refactoring and bug fixes.
The summary of Stokes Forces changes (@breichl):
The summary of refactorings and bugfixes (@alperaltuntas) :
if (cesm_coupled)
checks. However, when the anticipated unification of EMC and NCAR WW3 nuopc caps is accomplished, the old way of exporting the partitioned stokes drift components may be removed to get rid of duplicate code.