-
Notifications
You must be signed in to change notification settings - Fork 0
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
Self-attraction-and-loading and harmonic analysis for SSH != 0 #52
base: master
Are you sure you want to change the base?
Self-attraction-and-loading and harmonic analysis for SSH != 0 #52
Conversation
- Include pressure forcing term in SAL computation to account for under isc and atm pressure cases. - Update SAL coastal smoothing factor to mask shallow cells where wet-dry effects may occur out of SAL computation. - Compute harmonic analysis AM wrt. SSH-SSH_init to account for initially non-zero SSH distributions.
- Add missing rho0gInv definition.
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.
@dengwirda, thanks for making the modifications! I just left a few minor comments to possibly consider as well.
components/mpas-ocean/src/analysis_members/Registry_harmonic_analysis.xml
Outdated
Show resolved
Hide resolved
components/mpas-ocean/src/mode_forward/mpas_ocn_time_integration_split.F
Outdated
Show resolved
Hide resolved
components/mpas-ocean/src/mode_forward/mpas_ocn_time_integration_si.F
Outdated
Show resolved
Hide resolved
components/mpas-ocean/src/shared/mpas_ocn_vel_self_attraction_loading.F
Outdated
Show resolved
Hide resolved
- Clean up descriptions, comments and use real-valued switches.
- Change sshSmoothed to btrPressure in SAL routines, since we're now working with surface pressures too.
Thanks @sbrus89, I've updated to include those suggestions. |
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.
These changes look reasonable to me. This PR can proceed from Ocean-Discussion to an E3SM-Project PR. I made the three comments above because it was hard to pick out the substantial changes from all the renamed variables.
allocate(sshDiff(nCellsSolve)) | ||
|
||
do iCell = 1,nCellsSolve | ||
sshDiff(iCell) = ssh(iCell) - sshInit(iCell) |
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.
Just to point it out, this is the substantial line of this PR.
sshSmoothed(iCell) = coastalSmoothingFactor(iCell)*ssh(iCell) | ||
! compute SAL wrt. the full barotropic bottom pressure | ||
btrPressure(iCell) = coastalSmoothingFactor(iCell) * ( & | ||
ssh(iCell) + rho0gInv * surfacePressure(iCell) ) |
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.
Another substantial change.
do iCell = 1,nCellsAll | ||
depth = ssh(iCell) + bottomDepth(iCell) | ||
coastalSmoothingFactor(iCell) = 0.5_RKIND*(tanh( & | ||
(depth - 0.5_RKIND*depth_tol) / (0.2_RKIND*depth_tol)) + 1.0_RKIND) |
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.
Change to coastal smoothing factor to be depth-based rather than width-based.
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.
@dengwirda, thanks for making those changes. This looks ready to be moved to an E3SM PR.
This PR addresses three issues encountered in tides runs with non-zero initial sea-surface heights (due to either ice-shelf cavities and/or dry cells adjacent to the coast):
ssh_sal
variable(s) have been renamedpgf_sal
since there's now the full barotropic pressure dependence rather than just SSH.coastalSmoothingFactor
used in the SAL computation is updated to use a depth threshold, allowing very thin, dry cells to be effectively masked out of the computation. This prevents spurious SAL tendencies being computed near the coast, where dry cells on land (with effectively a raised SSH value) would previously contaminate the SAL computed on adjacent wet cells. The depth threshold is controlled using theconfig_self_attraction_loading_depth_cutoff
option, with SSH smoothing applied to columns of lesser thickness, which controls SAL behaviour near the wet-dry interface.Tested with the ICoM 45to5km tides mesh, cori-haswell + pm-cpu and gnu.