subroutine bottom_friction_3dDESCRIPTION:
Based on the assumption that the velocity distribution in the bottom layer is logarithmic, the product of the drag coefficient with the absolute value of the current speed in the bottom layer,
(126) |
with the velocity components of the bottom layer, and
,
and the drag coefficient
is calculated and
provided as output parameters rru (for U-points) and
rrv (for V-points). The layer height in (127) is set to
the thickness of the bottom layer in the respective U- or V-point.
There are some experimental options for the interested user included
here. It is possible to change the interpolation of to V-points
and of
to U-points from velocity-based interpolation (as done
presently) to transport-based averaging (commented out). Furthermore,
the user may activate some outcommented lines which allow the
consideration of flow-depending bottom roughness length
according to (81), see page
.
For a derivation of (127), see section 5.4 on
page .
USES:
use parameters, only: kappa,avmmol use domain, only: imin,imax,jmin,jmax,kmax,au,av,min_depth use variables_2d, only: zub,zvb,zub0,zvb0 use variables_3d, only: kumin,kvmin,uu,vv,huo,hun,hvo,hvn,rru,rrv use getm_timers, only: tic, toc, TIM_BOTTFRICT3D $ use omp_lib IMPLICIT NONEREVISION HISTORY:
Original author(s): Hans Burchard & Karsten BoldingLOCAL VARIABLES:
integer :: i,j,kk REALTYPE :: r,hh,fricvel logical, save :: first=.true. REALTYPE :: uuloc(I2DFIELD) REALTYPE :: uvloc(I2DFIELD) REALTYPE :: vuloc(I2DFIELD) REALTYPE :: vvloc(I2DFIELD)