This routine basically calculates the bed friction, as it would come out if the vertically and macro timestep averaged velocity would be used. The output of this subroutine is thus on the U-points (see variable ruu) and on the V-points (see rvv) with the vertically and macro timestep averaged velocity components on the old time step, and , which are in the code denoted by Ui and Vi, respectively. The drag coefficient is given by eq. (71) on page . The results for the variables ruu and rvv will then be used in the routine slow_terms described on page for the calculation of the slow terms and , see section 7.1.
use parameters, only: kappa use domain, only: imin,imax,jmin,jmax,HU,HV,min_depth,au,av use variables_2d, only: zub,zvb,ru,rv,Uinto,Vinto use variables_3d, only: ssuo,ssun,ssvo,ssvn use getm_timers, only: tic, toc, TIM_SLOWBFRICT use exceptions, only: getm_error $ use omp_lib IMPLICIT NONEREVISION HISTORY:
Original author(s): Hans Burchard & Karsten BoldingLOCAL VARIABLES:
integer :: i,j REALTYPE :: uloc,vloc,HH logical,save :: first=.true. REALTYPE :: Ui(I2DFIELD) REALTYPE :: Vi(I2DFIELD) REALTYPE :: ruu(I2DFIELD) REALTYPE :: rvv(I2DFIELD)