From 25ea4dc2bad679450b05d9a81140f5b2e32cec2a Mon Sep 17 00:00:00 2001 From: Gustavo Marques Date: Fri, 7 Jun 2019 14:30:21 -0600 Subject: [PATCH] Changes in MEKE * Adds missing drag term to second part of split timestep. * Removes limiter preventing MEKE from going negative. * Reverts back to original method of initial, equilibrium solution. --- src/parameterizations/lateral/MOM_MEKE.F90 | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/parameterizations/lateral/MOM_MEKE.F90 b/src/parameterizations/lateral/MOM_MEKE.F90 index e24f1e7a0a..da0310c012 100644 --- a/src/parameterizations/lateral/MOM_MEKE.F90 +++ b/src/parameterizations/lateral/MOM_MEKE.F90 @@ -507,6 +507,10 @@ subroutine step_forward_MEKE(MEKE, h, SN_u, SN_v, visc, dt, G, GV, US, CS, hu, h MEKE_decay(i,j) = ldamping*G%mask2dT(i,j) enddo ; enddo else + do j=js,je ; do i=is,ie + drag_rate(i,j) = (Rho0 * I_mass(i,j)) * sqrt( drag_rate_visc(i,j)**2 & + + cdrag2 * ( max(0.0, 2.0*bottomFac2(i,j)*MEKE%MEKE(i,j)) + CS%MEKE_Uscale**2 ) ) + enddo ; enddo do j=js,je ; do i=is,ie ldamping = CS%MEKE_damping + drag_rate(i,j) * bottomFac2(i,j) if (MEKE%MEKE(i,j)<0.) ldamping = 0. @@ -521,9 +525,9 @@ subroutine step_forward_MEKE(MEKE, h, SN_u, SN_v, visc, dt, G, GV, US, CS, hu, h endif endif ! MEKE_KH>=0 - do j=js,je ; do i=is,ie - MEKE%MEKE(i,j) = MAX(MEKE%MEKE(i,j),0.0) - enddo ; enddo + ! do j=js,je ; do i=is,ie + ! MEKE%MEKE(i,j) = MAX(MEKE%MEKE(i,j),0.0) + ! enddo ; enddo !$OMP end parallel call cpu_clock_begin(CS%id_clock_pass) @@ -738,8 +742,8 @@ subroutine MEKE_equilibrium(CS, MEKE, G, GV, US, SN_u, SN_v, drag_rate_visc, I_m else EKE = 0. endif -! MEKE%MEKE(i,j) = EKE - MEKE%MEKE(i,j) = (US%Z_to_m*G%bathyT(i,j)*SN / (8*CS%cdrag))**2 + MEKE%MEKE(i,j) = EKE +! MEKE%MEKE(i,j) = (US%Z_to_m*G%bathyT(i,j)*SN / (8*CS%cdrag))**2 enddo ; enddo end subroutine MEKE_equilibrium