INTERFACE:
subroutine uv_advect_3d()DESCRIPTION:
Wrapper to prepare and do calls to routine do_advection_3d (see section 8.6.2 on page ) to calculate the advection terms of the 3D velocities.
If save_numerical_analyses is set to .true., the numerical dissipation is calculated using the method suggested by Burchard (2012). USES:
use domain, only: imin,imax,jmin,jmax,kmax,az,au,av,ax #if defined(SPHERICAL) || defined(CURVILINEAR) use domain, only: dxv,dyu #else use domain, only: dx,dy #endif use m3d, only: vel3d_adv_split,vel3d_adv_hor,vel3d_adv_ver use variables_3d, only: dt,uu,vv,ww,ho,hn,hun,hvn,uuEx,vvEx use advection, only: NOADV,UPSTREAM,J7 use advection_3d, only: do_advection_3d use halo_zones, only: update_3d_halo,wait_halo,U_TAG,V_TAG use variables_3d, only: do_numerical_analyses use variables_3d, only: numdis3d,numdis2d #ifdef _MOMENTUM_TERMS_ use variables_3d, only: adv_u,adv_v #endif use getm_timers, only: tic,toc,TIM_UVADV3D,TIM_UVADV3DH $ use omp_lib IMPLICIT NONEREVISION HISTORY:
Original author(s): Hans Burchard & Karsten BoldingLOCAL VARIABLES:
integer :: i,j,k REALTYPE,dimension(I3DFIELD) :: fadv3d,uuadv,vvadv,wwadv,huadv,hvadv REALTYPE,dimension(I3DFIELD),target :: hnadv REALTYPE,dimension(:,:,:),pointer,contiguous :: phadv REALTYPE,dimension(I3DFIELD) :: work3d,hires