subroutine adv_arakawa_j7_2dh(dt,f,fi,Di,adv,vfU,vfV,Dn,DU,DV, & #if defined(SPHERICAL) || defined(CURVILINEAR) dxv,dyu,dxu,dyv,arcd1, & #endif AH,az, & mask_uflux,mask_vflux,mask_xflux) Note (KK): Keep in sync with interface in advection.F90DESCRIPTION:
USES:
use domain, only: imin,imax,jmin,jmax #if !( defined(SPHERICAL) || defined(CURVILINEAR) ) use domain, only: dx,dy,ard1 #endif $ use omp_lib IMPLICIT NONEINPUT PARAMETERS:
REALTYPE,intent(in) :: dt,AH REALTYPE,dimension(E2DFIELD),target,intent(in) :: f REALTYPE,dimension(E2DFIELD),intent(in) :: vfU,vfV,Dn,DU,DV #if defined(SPHERICAL) || defined(CURVILINEAR) REALTYPE,dimension(:,:),pointer,contiguous,intent(in) :: dxu,dyu REALTYPE,dimension(_IRANGE_HALO_,_JRANGE_HALO_-1),intent(in) :: dxv,dyv REALTYPE,dimension(E2DFIELD),intent(in) :: arcd1 #endif integer,dimension(E2DFIELD),intent(in) :: az logical,dimension(:,:),pointer,contiguous,intent(in) :: mask_uflux,mask_xflux logical,dimension(_IRANGE_HALO_,_JRANGE_HALO_-1),intent(in) :: mask_vfluxINPUT/OUTPUT PARAMETERS:
REALTYPE,dimension(E2DFIELD),target,intent(inout) :: fi,Di,advLOCAL VARIABLES:
logical :: use_AH integer :: i,j,matsuno_it REALTYPE :: Dio,advn REALTYPE,dimension(:,:),pointer,contiguous :: faux,p_fiaux,p_Diaux,p_advaux REALTYPE,dimension(E2DFIELD) :: flux_e,flux_n,flux_ne,flux_nw REALTYPE,dimension(E2DFIELD) :: f_e,f_n,f_ne,f_nw REALTYPE,dimension(E2DFIELD),target :: fiaux,Diaux,advaux REALTYPE,dimension(E2DFIELD) :: uflux,vflux REALTYPE,parameter :: one3rd = _ONE_/_THREE_ REALTYPE,parameter :: one6th = one3rd/_TWO_REVISION HISTORY:
Original author(s): Knut Klingbeil