INTERFACE:
subroutine uv_advect(U,V,DU,DV)
Note (KK): keep in sync with interface in m2d.F90
DESCRIPTION:
Wrapper to prepare and do calls to do_advection (see section
7.4.2 on page
) to
calculate the advection terms of the depth-averaged velocities.
USES:
use domain, only: imin,imax,jmin,jmax,az,au,av,ax
#if defined(SPHERICAL) || defined(CURVILINEAR)
use domain, only: dxv,dyu
#else
use domain, only: dx,dy
#endif
use m2d, only: dtm,vel2d_adv_split,vel2d_adv_hor
use variables_2d, only: UEx,VEx
use advection, only: NOADV,UPSTREAM,J7,do_advection
use halo_zones, only: update_2d_halo,wait_halo,U_TAG,V_TAG
use getm_timers, only: tic,toc,TIM_UVADV,TIM_UVADVH
$ use omp_lib
IMPLICIT NONE
INPUT PARAMETERS:
REALTYPE,dimension(E2DFIELD),intent(in) :: U,V
REALTYPE,dimension(E2DFIELD),target,intent(in) :: DU,DV
REVISION HISTORY:
Original author(s): Hans Burchard & Karsten BoldingLOCAL VARIABLES:
integer :: i,j
REALTYPE,dimension(E2DFIELD) :: fadv,Uadv,Vadv,DUadv,DVadv
REALTYPE,dimension(E2DFIELD),target :: Dadv
REALTYPE,dimension(:,:),pointer,contiguous :: pDadv