Add vertex shear mixing#801
Merged
Merged
Conversation
Added the new module MOM_full_convection to homogenize temperature and salinity in regions of static instability. All answers are bitwise identical, but a new public interface has been added.
Cleaned up the MOM_kappa_shear code in preparation for adding the code to do the shear-mixing calculations at the vertices, includign dOxyGenizing the comments describing the elements of the Kappa_shear_CS, compacting some openMP directives, and eliminating duplicate comments describing arguments. All answers are bitwise identical.
Cleaned up the allocation and restart registry calls for the persistent elements of the visc type, including always setting visc%Kv_slow, as the comment indicated should be done but was not. The allocate calls now use safe_alloc_ptr and the restart registration calls avoid the use of a vardesc type. All answers are bitwise identical.
Added a new pointer, Kv_shear_Bu, to the vertvisc_type to describe the viscosity at the corner points. Also amended the comments describing TKE_turb to note that this now can be discretized at either the tracer or corner points. By default all answers are bitwise identical.
Check whether visc%Kv_shear_Bu is allocated, and if so add it to the viscosity. All answers are bitwise identical unless visc%Kv_shear_Bu is allocated.
Added a new subroutine, Calc_kappa_shear_vertex, to calculate the Jackson et al. stratified shear mixing at the cell corners, along with a new runtime parameter, VERTEX_SHEAR, to control wheter this is used, and a second new function, kappa_shear_at_vertex, to allow external queries of the setting of VERTEX_SHEAR. By default, all answers are bitwise identical, but there are two new interfaces and MOM_parameter_doc files have a new field.
Added code to calculate shear mixing at the cell verticies if VERTEX_SHEAR is true. Also added calls to allocate visc%Kv_visc_Bu and visc%TKE_turb in this case, including the addition of new restart fields. By default, all answers are bitwise identical, but several recently added interfaces are used. With this commit, the vertex mixing is fully available.
Added halo updates of vertex turbulence fields during initialization for reproducibility across restarts in non-symmetric memory mode. Also eliminated an unnecessary variable. All answers in test cases are bitwise identical.
Collaborator
Author
|
This PR is being tested with https://gitlab.gfdl.noaa.gov/ogrp/MOM6/pipelines/4749 |
Corrected a typo in the restart registration call for Kv_shear that was introduced with 130a32b. This bug fix should restore the ability to reproduce across restarts.
Collaborator
|
Second pipeline https://gitlab.gfdl.noaa.gov/ogrp/MOM6/pipelines/4754 passed. |
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.
Added the ability to calculate the effects of stratified shear mixing at the tracer vertices. This new
capability dramatically improves mixing-driven gridscale noise in short test cases, especially in the
tropics, and there may be changes to climate. By default, all changes are bitwise identical, but there are multiple new interfaces and runtime parameters. The MOM6 commits covered by this change include: