-
Notifications
You must be signed in to change notification settings - Fork 15
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
Updates for wave coupling in NUOPC #23
Updates for wave coupling in NUOPC #23
Conversation
- Adding wave information to mech_forcing type to pass from ice_ocean_boundary to wave types - This is only set-up to read surface Stokes drift and guess the wavelength as something reasonable for now to demonstrate that it works. This needs to be set-up properly before merging this into the main repository.
If we just update MOM6 with ufs-s2s-model, the regression tests all pass. See this branch: https://github.com/JessicaMeixner-NOAA/ufs-s2s-model/tree/feature/mom6onlycplwav The logs for the ufs-s2s-model with the wave-coupling updates are running, the baselines had to be remade due to recent changes in WW3 which changed the wave results, but the tests are still running. |
config_src/nuopc_driver/mom_cap.F90
Outdated
@@ -606,6 +606,21 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc) | |||
Ice_ocean_boundary%lrunoff = 0.0 | |||
Ice_ocean_boundary%frunoff = 0.0 | |||
|
|||
Ice_ocean_boundary%use_waves=ocean_state%use_waves |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see where Ice_ocean_boundary%use_waves is declared but it must be, otherwise the implicit none should catch it.
It seems it is only used in mom_cap_methods to allocate and fill the import state. You could probably do this w/o having to define ice_ocean_boundary%use_waves if you checked instead for the ustkb,vstkb being allocated in ice_ocean_boundary.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The use_waves was added the Ice_ocean_boundary type. You are correct that we can check if ustkb is allocated instead. I am running the test with this final update and then will push that plus the logs up.
Here are the passed logs for all tests, pre- use_waves -> if associated update: Here are logs with the last update showing for both a test with and without waves it still passes: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks OK to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
look good
Merge in latest dev/gfdl updates
Retaing dimensional rescaling for several diagnostics: - Apply dimensional rescaling of fluxes%net_mass_src to and the net_mass_src argument to get_net_mass_forcing to [R Z T-1]. - Rescaled the patm argument of convert_state_to_ocean_type to [R L2 T-2] and press_to_Z to [Z T2 R-1 L-2]; these are not actually exercised yet, so this has a very limited scope, although three other local variables were also dimensionally rescaled. - Revised the line breaks in two calls to register_restart to place the units and conversion factos on the same line, following a widespread code pattern. - Used the scale argument in calls to global_area_integral or global_area_mean for 6 diagnostics, so that 3 other primary variables can be calculated in scaled units and rescaled via factors specified in the register_restart calls, following a widespread code pattern. All answers and output are bitwise identical.
These updates add on to @breichl updates for wave-ocean coupling with FMS. This adds the necessary fields to the IOB structure in the NUOPC cap.
This is related to Issue #2