-
Notifications
You must be signed in to change notification settings - Fork 371
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 explicit layerThicknessEdge variables #4832
Add explicit layerThicknessEdge variables #4832
Conversation
Additional discussion of this branch can be found at: |
@dengwirda, I'm not able to add you as an official reviewer, but please supply any comments. |
@jonbob and @mark-petersen, do you have favorite bit-for-bit tests you'd recommend that we should run on this? I know I always ask this, but this PR seems particularly simple since it's largely just a variable name change. So a couple of tests to make sure nothing crazy has happened should be enough. |
@xylar - I like to run the developer tests on chrysalis that have active ocean. They're quick and cover a range of SMS and ERS:
|
@xylar - I also run those for most PRs before merging, if you prefer to leave it until I test the merge |
@cbegeman, I ran several tests on Anvil. The debug test ( It turns out that this line:
is going to give us some real trouble. It's hard-coded that the 4th entry in the list of stats is So I think we're going to have to revert the changes to global stats (maybe by doing an interactive rebase and removing that commit). Furthermore, it looks to me like we're going to need However, I wanted to check on that. It isn't clear to me that |
@xylar Thanks for catching this. I propose that we add only the |
@cbegeman, I agree. I don't think there's any harm in volume-averaging |
034b20f
to
df02ae5
Compare
With the latest changes to |
@cbegeman, I can rerun the rest of the tests I ran on Anvil tomorrow. But I think the fact that the debug test passes is a very encouraging sign! |
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 looked through the code in detail in E3SM-Ocean-Discussion#12.
I did a test merge of this PR with today's master
. I then ran the following tests successfully on Anvil, using today's master
as a baseline:
-
compass
oceanpr
test suite -
ERS.ne11_oQU240.WCYCL1850NS.anvil_intel
-
ERS_Ld5.T62_oQU120.CMPASO-NYF.anvil_intel
-
SMS.T62_oQU120_ais20.MPAS_LISIO_TEST.anvil_intel
-
SMS_P12x2.ne4_oQU240.WCYCL1850NS.anvil_intel.allactive-mach_mods
-
SMS_D_Ld1.ne30pg2_r05_EC30to60E2r2.WCYCL1850.anvil_intel
Many of these are likely redundant with testing that @jonbob will do on Chrysalis but at least this covers another machine.
@mark-petersen, @sbrus89 and @dengwirda, if you could review this as soon as your able, that would be great! |
Thanks for the prompt review and testing @xylar! |
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.
Approving based on discussion in ocean-discussion
and lengthy testing above. Thanks!
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 did a test merge with today's master
and ran the compass pr
test suite on Anvil. All tests passed.
…t (PR #4832) Add explicit layerThicknessEdge variables This PR replaces the existing layerThicknessEdge variable with two variables: * layerThicknessEdgeMean refers to the mean of the neighboring cell-centered layerThickness * layerThicknessEdgeFlux refers to the layerThicknessEdge used to flux momentum and tracers. When config_thickness_flux_type = 'centered' layerThicknessEdgeFlux = layerThicknessEdgeMean, but when config_thickness_flux_type = 'upwind' layerThicknessEdgeFlux is upwinded. Prior to this PR, when config_thickness_flux_type = 'upwind' layerThicknessEdge was upwinded everywhere. This PR uses layerThicknessEdgeFlux for horizontal advection terms and layerThicknessEdgeMean elsewhere, such as for mixing parameterizations. This change is in preparation for adding additional options for thickness fluxes. This PR also removes layerThicknessEdge from global stats, since it did not offer much information not given by the global stats for layerThickness. [BFB]
test merge passes:
merged to next |
merged to master |
This PR replaces the existing
layerThicknessEdge
variable with two variables:layerThicknessEdgeMean
refers to the mean of the neighboring cell-centeredlayerThickness
layerThicknessEdgeFlux
refers to thelayerThicknessEdge
used to flux momentum and tracers.When
config_thickness_flux_type = 'centered'
layerThicknessEdgeFlux = layerThicknessEdgeMean
, but whenconfig_thickness_flux_type = 'upwind'
layerThicknessEdgeFlux
is upwinded.Prior to this PR, when
config_thickness_flux_type = 'upwind'
layerThicknessEdge
was upwinded everywhere. This PR useslayerThicknessEdgeFlux
for horizontal advection terms andlayerThicknessEdgeMean
elsewhere, such as for mixing parameterizations. This change is in preparation for adding additional options for thickness fluxes.This PR also removes
layerThicknessEdge
from global stats, since it did not offer much information not given by the global stats forlayerThickness
.[BFB]