Skip to content

Conversation

@nairita87
Copy link

@nairita87 nairita87 commented Jun 20, 2020

Topographic wave drag term added to the momentum equation.
When config_use_topographic_wave_drag = .true. we add a drag term
du/dt= -(1/rinv)*u, where 'rinv' is the e-folding time-scale. The e-folding time-scale is read from a map (in this case from the HYCOM data)
When config_use_implicit_bottom_roughness = .true use the bottom drag formulation
max(cbmin, (vonk/log(0.5*depth(i,j)/z0))**2 )) from NCOM.

@proteanplanet
Copy link

This is going to be canceled following advice from @nairita87, a new PR will be submitted.

@nairita87 nairita87 force-pushed the topographic_wave_drag branch from 340cf8f to 51e4825 Compare October 2, 2020 18:11
@nairita87 nairita87 changed the base branch from ocean/coastal to ocean/develop October 2, 2020 18:13
@mark-petersen mark-petersen self-requested a review October 2, 2020 18:16
@proteanplanet proteanplanet added tides All developments of tides in MPAS Ocean and MPAS Sea Ice Ocean and removed Ocean coastal labels Oct 9, 2020
@nairita87 nairita87 changed the title MPAS-O PR for topographic wave drag Internal wave drag implementation Oct 15, 2020
@mark-petersen mark-petersen self-requested a review March 5, 2021 12:25
@mark-petersen mark-petersen force-pushed the topographic_wave_drag branch from 4c5e30e to 8084b70 Compare April 12, 2021 16:44
@nairita87 nairita87 force-pushed the topographic_wave_drag branch from 8084b70 to db86687 Compare April 14, 2021 04:03
@mark-petersen
Copy link
Contributor

Rebased to head of ocean/develop. Passes nightly test suite.

@proteanplanet
Copy link

@nairita87: I think this is ready to merge? We just need @mark-petersen to review?

@nairita87
Copy link
Author

The PR has been verified against previous studies (Pringle et al 2021) and also with TPXO8 data.
Attached are plots to show such comparisons.
m2amp_ra4topo4

The following plot can be compared with Pringle et al 2021 (Figs 5 and 6)
standard_m2amp_ra4topo4

Below is the plot showing code agreement before and after rebasing
rebase

The wave drag is read from the HYCOM file in subroutine src/core_ocean/shared/mpas_ocn_vel_forcing_topographic_drag.F
@mark-petersen mark-petersen force-pushed the topographic_wave_drag branch 3 times, most recently from 3edb6bd to 0b04b8a Compare April 23, 2021 20:42
@nairita87
Copy link
Author

Verified the rebased code with the latest commit #a645c40. Matches well with previous versions
rebase_crrent

@mark-petersen mark-petersen force-pushed the topographic_wave_drag branch from be0bcf3 to 0084cdc Compare April 26, 2021 22:51
! du/dt = ... (1.0/topographic_wave_drag_rinv) * u
! topographic_wave_drag_rinv is the e-folding time which is read from a file
tend(k,iEdge) = tend(k,iEdge) - topographicWaveDragCoeff &
/(0.5_RKIND*(topographic_wave_drag_rinv(cell1)+topographic_wave_drag_rinv(cell2)))*normalVelocity(k,iEdge)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nairita87 on these lines we have a divide and average from cell to edge every time step. It makes a lot more sense compute rinv in your original python interpolation to edges, and save a field which is 1/rinv at the edges. Call it topographic_wave_drag. Then these lines would simply be

131         tend(k,iEdge) = tend(k,iEdge) - topographicWaveDragCoeff * &
               topographic_wave_drag(iEdge)*normalVelocity(k,iEdge)

@mark-petersen mark-petersen self-assigned this Apr 27, 2021
@mark-petersen mark-petersen force-pushed the topographic_wave_drag branch from ab35511 to e51fae3 Compare April 27, 2021 00:41
@mark-petersen mark-petersen force-pushed the topographic_wave_drag branch 2 times, most recently from 6a49d30 to 52dfe32 Compare April 27, 2021 18:44
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@philipwjones the boundary edges between water and land (i.e. no cells) have maxLevelEdgeTop(iEdge)=0, so this if statement was needed within the edge loop to prevent accessing k=0. Is there a more performant way to do this?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably not worth worrying about for this small loop and the alternatives are probably less robust, so I think ok to keep here.

@mark-petersen mark-petersen force-pushed the topographic_wave_drag branch from d7cce4a to 554a53e Compare April 28, 2021 16:13
mark-petersen added a commit that referenced this pull request Apr 28, 2021
Internal wave drag implementation #607
@nairita87
Copy link
Author

Code verification against old PR,
1/(topographic_wave_drag(icell1)+topographic_wave_drag(icell2)) is now replaced with 1/(topographic_wave_drag(iEdge))
rms_kin
m2amp_ra4topo4_compare

mark-petersen added a commit that referenced this pull request May 3, 2021
Merge PR #607 'nairita87/topographic_wave_drag' into ocean/develop
jonbob added a commit to E3SM-Project/E3SM that referenced this pull request May 3, 2021
…xt (PR #4255)

Update mpas-source: ocean drag parameterizations

Brings in a new mpas-source submodule with changes only to the ocean
core, along with correspodning updates to the mpas-ocean bld scripts. It
adds wave drag parameterization and bottom roughness, which are by
default off and should not impact E3SM. See MPAS-Dev/MPAS-Model#607

[NML]
[BFB]
@mark-petersen mark-petersen self-requested a review May 4, 2021 04:05
Copy link
Contributor

@mark-petersen mark-petersen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. @nairita87 thanks for your work.

@mark-petersen mark-petersen merged commit 2ce2729 into MPAS-Dev:ocean/develop May 4, 2021
jonbob added a commit to E3SM-Project/E3SM that referenced this pull request May 4, 2021
Update mpas-source: ocean drag parameterizations

Brings in a new mpas-source submodule with changes only to the ocean
core, along with correspodning updates to the mpas-ocean bld scripts. It
adds wave drag parameterization and bottom roughness, which are by
default off and should not impact E3SM. See MPAS-Dev/MPAS-Model#607

[NML]
[BFB]
mark-petersen added a commit to mark-petersen/MPAS-Model that referenced this pull request May 7, 2021
Merge PR MPAS-Dev#607 'nairita87/topographic_wave_drag' into ocean/develop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants