Here, the vertically integrated -momentum equation (61) given on page including a number of slow terms is calculated. One slight modification is that for better stability of drying and flooding processes the slow friction term is now also multiplied with the parameter defined in eq. (5).
Furthermore, the horizontal pressure gradient is modified in order to support drying and flooding, see figure 10 on page and the explanations in section 5.5. is now also considering the atmospheric pressure gradient at sea surface height.
For numerical stability reasons, the -momentum equation is here discretised in time such that the bed friction is treated explicitely:
with combining advection and diffusion of , see routines uv_advect (section 7.4.13 on page ) and uv_diffusion (section 7.4.14 on page ). The slow terms are calculated in the routine slow_terms documented in section 8.13.11 on page . In (92), denotes the transport on the new and and the transports on the old time level.
The Coriolis term for the subsequent -momentum is also calculated here, by directly interpolating the -transports to the V-points or by a method suggested by Espelid et al. (2000) which takes the varying water depths into account.
Some provisions for proper behaviour of the -transports when GETM runs as slice model are made as well, see section 3.2 on page . USES:
use parameters, only: g,rho_0 use domain, only: imin,imax,jmin,jmax use domain, only: H,au,av,min_depth,dry_u,Cori,corv #if defined(SPHERICAL) || defined(CURVILINEAR) use domain, only: dxu,arvd1,dxc,dyx use variables_2d, only: V #else use domain, only: dx #endif use m2d, only: dtm use variables_2d, only: D,z,UEx,U,DU,fV,SlUx,Slru,ru,fU,DV use getm_timers, only: tic, toc, TIM_MOMENTUMH use halo_zones, only : update_2d_halo,wait_halo,U_TAG $ use omp_lib IMPLICIT NONEINPUT PARAMETERS:
REALTYPE, intent(in) :: tausx(E2DFIELD),airp(E2DFIELD)LOCAL VARIABLES:
integer :: i,j REALTYPE :: zp,zm,zx,tausu,Slr,Uloc REALTYPE :: gamma=rho_0*g REALTYPE :: cord_curv=_ZERO_ REALTYPE :: gammai