diff --git a/src/MNH/rain_ice_sedimentation_split.f90 b/src/MNH/rain_ice_sedimentation_split.f90 index 8a3e99149561270cc084633f73c344197f9903a5..7c02b6afa576077cc9aec277cba7b3f852ef3bd3 100644 --- a/src/MNH/rain_ice_sedimentation_split.f90 +++ b/src/MNH/rain_ice_sedimentation_split.f90 @@ -247,7 +247,6 @@ CALL MNH_MEM_GET( GSEDIMS,IIU,IJU,IKU ) CALL MNH_MEM_GET( GSEDIMG,IIU,IJU,IKU ) CALL MNH_MEM_GET( GSEDIMH,IIU,IJU,IKU ) #endif -ALLOCATE( ZRTMIN(SIZE(XRTMIN)) ) #ifndef MNH_OPENACC ALLOCATE( ZCONC_TMP(IIU,IJU) ) ALLOCATE( ZOMPSEA (IIU,IJU) ) @@ -266,6 +265,7 @@ ALLOCATE( ZPRGS (IIU,IJU,IKU) ) ALLOCATE( ZPRHS (IIU,IJU,IKU) ) ALLOCATE( ZW (IIU,IJU,IKU) ) ALLOCATE( ZWSED (IIU,IJU,0:IKU+1) ) +ALLOCATE( ZRTMIN(SIZE(XRTMIN)) ) #else CALL MNH_MEM_GET( ZCONC_TMP,IIU,IJU ) CALL MNH_MEM_GET( ZOMPSEA ,IIU,IJU ) @@ -284,11 +284,12 @@ CALL MNH_MEM_GET( ZPRGS ,IIU,IJU,IKU ) CALL MNH_MEM_GET( ZPRHS ,IIU,IJU,IKU ) CALL MNH_MEM_GET( ZW ,IIU,IJU,IKU ) CALL MNH_MEM_GET( ZWSED, 1, IIU, 1, IJU, 0, IKU+1 ) +CALL MNH_MEM_GET( ZRTMIN , SIZE(XRTMIN) ) #endif !$acc data present( IC1, IC2, IC3, IR1, IR2, IR3, IS1, IS2, IS3, II1, II2, II3, IG1, IG2, IG3, IH1, IH2, IH3,& !$acc & GDEP, GSEDIMR, GSEDIMC, GSEDIMI, GSEDIMS, GSEDIMG, GSEDIMH ) & -!$acc & create( ZRTMIN ) & +!$acc & present( ZRTMIN ) & !$acc & present(ZCONC_TMP, & !$acc & ZOMPSEA, ZTMP1_2D, ZTMP2_2D, ZTMP3_2D, ZTMP4_2D, ZCONC3D, & !$acc & ZRAY, ZLBC, ZFSEDC, & @@ -435,7 +436,9 @@ DO JN = 1 , KSPLITR IF ( KRR == 7 ) PRHS(:,:,:) = PRHS(:,:,:) + ZPRHS(:,:,:) * ZTSPLITR END IF ! - ! mnh_do_concurrent( JI=KIB:KIE,JJ=KJB:KJE,JK=KKTB:KKTE ) +#ifndef MNH_COMPILER_CCE + !$mnh_expand_array( JI=KIB:KIE,JJ=KJB:KJE,JK=KKTB:KKTE ) +#endif IF ( GSEDIC ) GSEDIMC(:,:,:) = & PRCS(:,:,:) > ZRTMIN(2) GSEDIMR(:,:,:) = & @@ -448,7 +451,9 @@ DO JN = 1 , KSPLITR PRGS(:,:,:) > ZRTMIN(6) IF ( GKRR_7 ) GSEDIMH(:,:,:) = & PRHS(:,:,:) > ZRTMIN(7) - ! mnh_end_do() ! CONCURRENT +#ifndef MNH_COMPILER_CCE + !$mnh_end_expand_array() ! CONCURRENT +#endif !$acc end kernels ! #ifndef MNH_OPENACC diff --git a/src/MNH/turb.f90 b/src/MNH/turb.f90 index 93bf378e4214a5cfbbaf6ec864ee82732743738d..428ddf66830a4c44a0aef3b819a010abbb7f5951 100644 --- a/src/MNH/turb.f90 +++ b/src/MNH/turb.f90 @@ -2339,6 +2339,7 @@ IF (.NOT. ORMC01) THEN ZD=ZALPHA*(PZZ(JI,JJ,KKTE+1)-PZZ(JI,JJ,JK)) IF ( (PLM(JI,JJ,JK)>ZD) .AND. GZD ) THEN PLM(JI,JJ,JK)=ZD + ELSE GZD = .FALSE. ENDIF END DO @@ -2348,6 +2349,7 @@ IF (.NOT. ORMC01) THEN ZD = ZALPHA * ( 0.5 * ( PZZ(JI, JJ, JK) + PZZ(JI, JJ, JK+KKL) ) - PZZ(JI, JJ, KKB) ) * PDIRCOSZW(JI, JJ) IF ( ( PLM(JI,JJ,JK) > ZD ) .AND. GZD ) THEN PLM(JI,JJ,JK) = ZD + ELSE GZD = .FALSE. ENDIF END DO @@ -2690,6 +2692,7 @@ IF (.NOT. ORMC01) THEN ZD=ZALPHA*(PZZ(JI,JJ,KKTE+1)-PZZ(JI,JJ,JK)) IF ( (PLM(JI,JJ,JK)>ZD) .AND. GZD ) THEN PLM(JI,JJ,JK)=ZD + ELSE GZD = .FALSE. ENDIF END DO @@ -2700,6 +2703,7 @@ IF (.NOT. ORMC01) THEN *PDIRCOSZW(JI,JJ) IF ( (PLM(JI,JJ,JK)>ZD) .AND. GZD ) THEN PLM(JI,JJ,JK)=ZD + ELSE GZD = .FALSE. ENDIF END DO