diff --git a/src/ZSOLVER/gdiv.f90 b/src/ZSOLVER/gdiv.f90 index 7ebb32eb6b655f3c657dd90c0f3de9bdac0adaeb..09c3bbd31445fc56f908763501b8435e6b396976 100644 --- a/src/ZSOLVER/gdiv.f90 +++ b/src/ZSOLVER/gdiv.f90 @@ -199,12 +199,12 @@ GNORTH = ( .NOT. L2D .AND. HLBCY(2) /= 'CYCL' .AND. LNORTH_ll() ) ! !$acc kernels - DO CONCURRENT ( JI=1:IIU,JJ=1:IJU ) + !$mnh_do_concurrent ( JI=1:IIU,JJ=1:IJU ) PU(JI,JJ,IKB-1)=PU(JI,JJ,IKB) PU(JI,JJ,IKE+1)=PU(JI,JJ,IKE) PV(JI,JJ,IKB-1)=PV(JI,JJ,IKB) PV(JI,JJ,IKE+1)=PV(JI,JJ,IKE) - END DO + !$mnh_end_do() !$acc end kernels ! ! @@ -226,28 +226,28 @@ CALL CONTRAV_DEVICE(HLBCX,HLBCY,PU,PV,PW,PDXX,PDYY,PDZZ,PDZX,PDZY,ZUC,ZVC,ZWC,4, #ifdef MNH_COMPILER_NVHPC !$acc loop independent collapse(3) #endif -DO CONCURRENT (JI=1:IIU,JJ=1:IJU,JK=1:IKU) +!$mnh_do_concurrent (JI=1:IIU,JJ=1:IJU,JK=1:IKU) PGDIV(JI,JJ,JK)=0. !usefull for the four corners and halo zones -ENDDO +!$mnh_end_do() ! #ifdef MNH_COMPILER_NVHPC !$acc loop independent collapse(3) #endif -DO CONCURRENT (JI=IIB:IIE,JJ=1:IJU,JK=1:IKU) +!$mnh_do_concurrent (JI=IIB:IIE,JJ=1:IJU,JK=1:IKU) Z1(JI,JJ,JK)=ZUC(JI+IIB+1-(IIB) ,JJ,JK)-ZUC(JI,JJ,JK) -ENDDO +!$mnh_end_do() #ifdef MNH_COMPILER_NVHPC !$acc loop independent collapse(3) #endif -DO CONCURRENT (JI=1:IIU,JJ=IJB:IJE,JK=1:IKU) +!$mnh_do_concurrent (JI=1:IIU,JJ=IJB:IJE,JK=1:IKU) Z2(JI,JJ,JK)=ZVC(JI,JJ+IJB+1-(IJB) ,JK)-ZVC(JI,JJ,JK) -ENDDO +!$mnh_end_do() #ifdef MNH_COMPILER_NVHPC !$acc loop independent collapse(3) #endif -DO CONCURRENT (JI=1:IIU,JJ=1:IJU,JK=IKB:IKE) +!$mnh_do_concurrent (JI=1:IIU,JJ=1:IJU,JK=IKB:IKE) Z3(JI,JJ,JK)=ZWC(JI,JJ,JK+IKB+1-(IKB) )-ZWC(JI,JJ,JK) -ENDDO +!$mnh_end_do() ! PGDIV(IIB:IIE,IJB:IJE,IKB:IKE)= Z1(IIB:IIE,IJB:IJE,IKB:IKE) + & Z2(IIB:IIE,IJB:IJE,IKB:IKE) + & diff --git a/src/ZSOLVER/pressurez.f90 b/src/ZSOLVER/pressurez.f90 index b91bb89c2dfe822b9629183f617ef126a68c9922..0830b3bfb3a32af8dd0045c1fa4f12c3e3e30f85 100644 --- a/src/ZSOLVER/pressurez.f90 +++ b/src/ZSOLVER/pressurez.f90 @@ -664,13 +664,13 @@ IF(CEQNSYS=='MAE' .OR. CEQNSYS=='DUR') THEN #endif #else !$acc kernels - DO CONCURRENT ( JI=1:IIU,JJ=1:IJU,JK=1:IKU ) + !$mnh_do_concurrent ( JI=1:IIU,JJ=1:IJU,JK=1:IKU ) #if !defined(MNH_BITREP) && !defined(MNH_BITREP_OMP) ZPHIT(JI,JJ,JK)=(PPABST(JI,JJ,JK)/XP00)**(XRD/XCPD)-PEXNREF(JI,JJ,JK) #else ZPHIT(JI,JJ,JK)=BR_POW((PPABST(JI,JJ,JK)/XP00),(XRD/XCPD))-PEXNREF(JI,JJ,JK) #endif - END DO + !$mnh_end_do() !$acc end kernels #endif ! @@ -815,30 +815,20 @@ IF ( GWEST ) THEN !!!!!!!!!!!!!!!! FUJI compiler directive !!!!!!!!!! !!!!!!!!!!!!!!!! FUJI compiler directive !!!!!!!!!! !$acc kernels async -#ifdef MNH_COMPILER_NVHPC - !$acc loop independent collapse(2) -#else - !$acc loop independent -#endif - DO CONCURRENT (JJ=1:IJU , JK=2:IKU-1) + !$mnh_do_concurrent (JJ=1:IJU , JK=2:IKU-1) ZDV_SOURCE(IIB,JJ,JK)= & (ZPHIT(IIB,JJ,JK) - ZPHIT(IIB-1,JJ,JK) - 0.5 * ( & PDZX(IIB,JJ,JK) * (ZPHIT(IIB,JJ,JK)-ZPHIT(IIB,JJ,JK-1)) / PDZZ(IIB,JJ,JK) & +PDZX(IIB,JJ,JK+1) * (ZPHIT(IIB,JJ,JK+1)-ZPHIT(IIB,JJ,JK)) / PDZZ(IIB,JJ,JK+1) & ) & ) / PDXX(IIB,JJ,JK) - END DO + !$mnh_end_do() !$acc end kernels ENDIF ! IF( GEAST ) THEN !$acc kernels async -#ifdef MNH_COMPILER_NVHPC - !$acc loop independent collapse(2) -#else - !$acc loop independent -#endif - DO CONCURRENT (JJ=1:IJU , JK=2:IKU-1) + !$mnh_do_concurrent (JJ=1:IJU , JK=2:IKU-1) ZDV_SOURCE(IIE+1,JJ,JK)= & (ZPHIT(IIE+1,JJ,JK) - ZPHIT(IIE+1-1,JJ,JK) - 0.5 * ( & PDZX(IIE+1,JJ,JK) * (ZPHIT(IIE+1-1,JJ,JK)-ZPHIT(IIE+1-1,JJ,JK-1)) & @@ -847,7 +837,7 @@ IF( GEAST ) THEN / PDZZ(IIE+1-1,JJ,JK+1) & ) & ) / PDXX(IIE+1,JJ,JK) - END DO + !$mnh_end_do() !$acc end kernels END IF !$acc wait @@ -890,30 +880,20 @@ IF(.NOT. L2D) THEN !!!!!!!!!!!!!!!! FUJI compiler directive !!!!!!!!!! !!!!!!!!!!!!!!!! FUJI compiler directive !!!!!!!!!! !$acc kernels async -#ifdef MNH_COMPILER_NVHPC - !$acc loop independent collapse(2) -#else - !$acc loop independent -#endif - DO CONCURRENT (JI=1:IIU , JK=2:IKU-1) + !$mnh_do_concurrent (JI=1:IIU , JK=2:IKU-1) ZDV_SOURCE(JI,IJB,JK)= & (ZPHIT(JI,IJB,JK) - ZPHIT(JI,IJB-1,JK) - 0.5 * ( & PDZY(JI,IJB,JK) * (ZPHIT(JI,IJB,JK)-ZPHIT(JI,IJB,JK-1)) / PDZZ(JI,IJB,JK) & +PDZY(JI,IJB,JK+1) * (ZPHIT(JI,IJB,JK+1)-ZPHIT(JI,IJB,JK)) / PDZZ(JI,IJB,JK+1) & ) & ) / PDYY(JI,IJB,JK) - END DO + !$mnh_end_do() !$acc end kernels END IF ! IF ( GNORTH ) THEN !$acc kernels async -#ifdef MNH_COMPILER_NVHPC - !$acc loop independent collapse(2) -#else - !$acc loop independent -#endif - DO CONCURRENT (JI=1:IIU , JK=2:IKU-1) + !$mnh_do_concurrent (JI=1:IIU , JK=2:IKU-1) ZDV_SOURCE(JI,IJE+1,JK)= & (ZPHIT(JI,IJE+1,JK) - ZPHIT(JI,IJE+1-1,JK) - 0.5 * ( & PDZY(JI,IJE+1,JK) * (ZPHIT(JI,IJE+1-1,JK)-ZPHIT(JI,IJE+1-1,JK-1)) & @@ -922,7 +902,7 @@ IF(.NOT. L2D) THEN / PDZZ(JI,IJE+1-1,JK+1) & ) & ) / PDYY(JI,IJE+1,JK) - END DO + !$mnh_end_do() !$acc end kernels END IF !$acc wait @@ -1053,9 +1033,9 @@ IF ((ZMAX_ll > 1.E-12) .AND. KTCOUNT >0 ) THEN #if !defined(MNH_BITREP) && !defined(MNH_BITREP_OMP) PPABST(:,:,:)=XP00*(ZPHIT(:,:,:)+PEXNREF(:,:,:))**(XCPD/XRD) #else - DO CONCURRENT(JI=1:IIU,JJ=1:IJU,JK=1:IKU) + !$mnh_do_concurrent(JI=1:IIU,JJ=1:IJU,JK=1:IKU) PPABST(JI,JJ,JK)=XP00*BR_POW((ZPHIT(JI,JJ,JK)+PEXNREF(JI,JJ,JK)),(XCPD/XRD)) - END DO + !$mnh_end_do() #endif !$acc end kernels ELSEIF(CEQNSYS=='LHE') THEN