-
Notifications
You must be signed in to change notification settings - Fork 388
Fix vertical coordinate weights #317
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
Fix vertical coordinate weights #317
Conversation
|
@pwolfram Please test this on your wetting/drying case. |
|
@mark-petersen, could you make sure to test this with |
pwolfram
left a comment
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.
Reviewed by inspection-- will pull commits onto my branch for future testing.
|
@mark-petersen, this works with the drying slope case for sigma layers-- thank you! |
pwolfram
left a comment
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.
Tested via the drying slope test case.
|
@mark-petersen, this is great and I'm happy for a merge. Thanks! |
|
@vanroekel is out of town, removing him from reviewer list. |
src/core_ocean/Registry.xml
Outdated
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.
@pwolfram I realized that we don't want this alteration in general, so I am protecting it with this flag. In general in the ocean, we need to have the thickness vary in proportion to the weights*resting thickness (i.e. original distribution), not the weights only. You can run wetting/drying test cases with the
config_ALE_thickness_proportionality = weights_only
setting. But this breaks ice shelf cavities, as @xylar feared, because you need to 'squeeze the accordion' in proportion to the original thicknesses, especially for extreme compression, like we have under ice shelves.
This commit is now bit-for-bit with previous for MPAS-O and E3SM. We will need to think about this more carefully to put wetting/drying along coastlines and severe SSH alterations below ice shelves in the same domain.
|
BFB against ocean/develop for nightly test suite with gnu on grizzly. Also tested debug using gnu and intel. |
In eqn 6 of Petersen et al 2015, remove h_k^{rest}. This allows the
resting thickness to be zero, which can occur with wetting/drying and
sigma coordinates.
For the initial condition, require that
sum (restingThickness ) = bottomDepth for each column.
This is always done for z-star global ICs, but should be done for sigma
as well.
b2daa8c to
6975e0e
Compare
|
rebased. |
This PR does two things: Add optional new weighting in ALE SSH thickness distribution Add tapered weights options for z-star The first is used for wetting/drying, to allow bottomDepth to be zero, which can easily occur on a beach. It changes the weighting for the z-star distribution from vertCoordMovementWeights(k) * restingThickness(k, iCell) to vertCoordMovementWeights(k). The first formulation can be seen in eqn 6 of Petersen et al 2015. The new formulation stretches in proportion to the defined weights. The standard formulation stretched in proportion to the weights*restingThickness. That stretches deep layers more than shallow layers with surface gravity waves. These changes are protected by flags, so are bfb in MPAS-Ocean and E3SM. Fixes #316
This PR does two things: Add optional new weighting in ALE SSH thickness distribution Add tapered weights options for z-star The first is used for wetting/drying, to allow bottomDepth to be zero, which can easily occur on a beach. It changes the weighting for the z-star distribution from vertCoordMovementWeights(k) * restingThickness(k, iCell) to vertCoordMovementWeights(k). The first formulation can be seen in eqn 6 of Petersen et al 2015. The new formulation stretches in proportion to the defined weights. The standard formulation stretched in proportion to the weights*restingThickness. That stretches deep layers more than shallow layers with surface gravity waves. These changes are protected by flags, so are bfb in MPAS-Ocean and E3SM. Fixes MPAS-Dev#316

This PR does two things:
The first is used for wetting/drying, to allow bottomDepth to be zero, which can easily occur on a beach. It changes the weighting for the z-star distribution from
vertCoordMovementWeights(k) * restingThickness(k, iCell)to
vertCoordMovementWeights(k).The first formulation can be seen in eqn 6 of Petersen et al 2015.
The new formulation stretches in proportion to the defined weights. The standard formulation stretched in proportion to the weights*restingThickness. That stretches deep layers more than shallow layers with surface gravity waves.
These changes are protected by flags, so are bfb in MPAS-Ocean and E3SM.
Fixes #316