+*Use actual density for internal tide bottom drag#415
Merged
marshallward merged 3 commits intoJul 31, 2023
Conversation
Added the new subroutine find_rho_bottom to return a 1-d slice of the in situ density averaged over a specified distance from the bottom when in fully non- Boussinesq mode or an array filled with the Boussinesq reference density. This new routine is not yet used with this commit, but it has been tested in another commit that will follow shortly. All answers are bitwise identical, but there is a new public interface.
Use the in situ near bottom density to calculate the internal tide drag, energy input and energy loss terms when in non-Boussinesq mode. This change includes the addition of an argument containing the near-bottom density to propagate_int_tide, itidal_lowmode_loss and find_N2_bottom. The recently added routine find_rho_bottom is used to calculate this near-bottom density. Several instances where the Boussinesq reference density or GV%Z_to_H were used have been eliminated from use in non-Boussinesq cases by this change, to simplify the code and reduce the dependence on the value of GV%Rho_0 in non-Boussinesq mode. This involved changing the units of 4 internal variables in find_N2_bottom to use thickness units or related units. In some places, GV%Rho0 was replaced with GV%H_to_RZ. It also includes the rescaling of a variable in int_tide_CS, and a new element with the bottom drag in the int_tide_input_type. All answers are bitwise identical in Boussinesq mode, but some solutions will change in non-Boussinesq mode with this change, and there are new arguments to publicly visible subroutines and a new element in a transparent type.
Codecov Report
@@ Coverage Diff @@
## dev/gfdl #415 +/- ##
============================================
+ Coverage 36.95% 38.10% +1.14%
============================================
Files 266 269 +3
Lines 75765 76901 +1136
Branches 14122 14151 +29
============================================
+ Hits 28001 29302 +1301
+ Misses 42428 42314 -114
+ Partials 5336 5285 -51
... and 9 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
raphaeldussin
requested changes
Jul 28, 2023
raphaeldussin
approved these changes
Jul 28, 2023
raphaeldussin
approved these changes
Jul 31, 2023
marshallward
approved these changes
Jul 31, 2023
Member
marshallward
left a comment
There was a problem hiding this comment.
Approving on behalf of @raphaeldussin
Member
|
Gaea regression: https://gitlab.gfdl.noaa.gov/ogrp/MOM6/-/pipelines/20090 ✔️ |
This was referenced Nov 13, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR consists of a set of commits that calculates the actual density averaged over a near-bottom region when in non-Boussinesq mode via the new subroutine find_rho_bottom, and then uses this calculate the bottom drag experienced by the internal tides. As a part of this, there are new arguments to propagate_int_tide, itidal_lowmode_loss and find_N2_bottom, and changes to the units of a handful of internal variables, as well as a new array in the transparent int_tide_input_type.
All answers are bitwise identical in Boussinesq mode, but some solutions will change in non-Boussinesq mode with this change, and there are new arguments to publicly visible subroutines and a new element in a transparent type.
The commits in this PR include: