Skip to content
Snippets Groups Projects
Commit c33ca780 authored by ESCOBAR MUNOZ Juan's avatar ESCOBAR MUNOZ Juan
Browse files

Juan 15/06/2023:ZSOLVER/gdiv.f90,pressurez.f90, For gfortran+openacc ,replace...

Juan 15/06/2023:ZSOLVER/gdiv.f90,pressurez.f90, For gfortran+openacc ,replace DO CONCURRENT -> mnh_do_concurrent
parent 17199194
No related branches found
No related tags found
No related merge requests found
......@@ -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) + &
......
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment