*+Add ePBL bottom boundary layer mixing option #717
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 series of two commits adds the option to do energetically consistent bottom boundary layer mixing with
the new routine
ePBL_BBL_column()
.ePBL_BBL_column()
is closely based on the surface-focused ePBL mixing inePBL_column()
, but without adding convective instability driven mixing or mean-TKE driven mixing to avoid possibledouble-counting. This new option is enabled by setting the new runtime parameter EPBL_BBL_EFFIC to be positive. The changes that actually adds ePBL_BBL_column is in the second of the two commits.
The first commit corrects a single-line bug that causes
ePBL_column()
to set the wrong variable and then use an uninitialized variable whenEPBL_ORIGINAL_PE_CALC
is set to false. This bug was present when theEPBL_ORIGINAL_PE_CALC
was first added on Sept. 30, 2016, but it was not detected because only the default case withEPBL_ORIGINAL_PE_CALC = True
appears to being used or tested. Any runs that used this code with debugging compile options would have trapped it immediately. This will change answers whenEPBL_ORIGINAL_PE_CALC
is false.If both
EPBL_BBL_EFFIC
andBBL_EFFIC
are set to positive values, there is a risk of double-counting, but this case is not being trapped for now.Within
ePBL_column()
, thehp_a
variable was converted from a scalar into a 1-d array to emphasize where these variables are located and to bringePBL_column()
closer to what would be required if the new diffusivities were being applied on top of diffusivities from other processes, as is the case inePBL_BBL_column()
. Several comments infind_PE_change()
andePBL_column()
were corrected. Two allocatable three-dimensional diagnostic arrays that had been in theenergetic_PBL
control structure were converted into local arrays to reduce the dedicated memory requirements when these diagnostics are enabled.The changes include the addition of a new mandatory
vertvisc_type
argument to the publicly visible routineenergetic_PBL()
.When this new ePBL bottom boundary layer mixing option is enabled, there are several new diagnostics available that are related to bottom boundary layer mixing. Several new checksum calls were also added with this new option when
DEBUG = True
. The MOM_parameter_doc files are altered by the addition of two new runtime parameters, and by the correction of several spelling errors in the descriptions of other ePBL parameters. By default, all answers are bitwise identical.This commits in this PR include: