diff --git a/src/ZSOLVER/advection_uvw.f90 b/src/ZSOLVER/advection_uvw.f90 index 466ff36cee4a99bcbe92d014d8297557b3a18717..c19db842546ba29f45d14e350d1cb5a5f2037fbb 100644 --- a/src/ZSOLVER/advection_uvw.f90 +++ b/src/ZSOLVER/advection_uvw.f90 @@ -299,7 +299,7 @@ if ( lbudget_w ) call Budget_store_init( tbudgets(NBUDGET_W), 'ADV', prws(:, :, !* 1. COMPUTES THE CONTRAVARIANT COMPONENTS ! ------------------------------------- ! -!$acc kernels +!$acc kernels present(ZRUT,ZRVT,ZRWT) ZRUT(:,:,:) = PUT(:,:,:) * ZMXM_RHODJ(:,:,:) ZRVT(:,:,:) = PVT(:,:,:) * ZMYM_RHODJ(:,:,:) ZRWT(:,:,:) = PWT(:,:,:) * ZMZM_RHODJ(:,:,:) diff --git a/src/ZSOLVER/qlap.f90 b/src/ZSOLVER/qlap.f90 index 2c9e801d5fe8f1de568b76a45c264f36ba96960f..70b03324953397aaaa4acd0767e8d0f25fed0283 100644 --- a/src/ZSOLVER/qlap.f90 +++ b/src/ZSOLVER/qlap.f90 @@ -585,8 +585,8 @@ IF ( CEQNSYS == 'DUR' .OR. CEQNSYS == 'MAE' ) THEN !$acc end kernels IF(.NOT. L2D) THEN CALL MYM_DEVICE (ZRHODJ, ZMYM ) - !$acc kernels - ZV = ZMYM * ZV + !$acc kernels present(ZV) + ZV(:,:,:) = ZMYM(:,:,:) * ZV(:,:,:) !$acc end kernels END IF CALL MZM_DEVICE (ZRHODJ, ZMZM ) diff --git a/src/ZSOLVER/tke_eps_sources.f90 b/src/ZSOLVER/tke_eps_sources.f90 index 91f078a6de158b6a4a528c863c7a8706dc5086d2..78fd1bccec2c581ffee803d0d661fb873f95b5ff 100644 --- a/src/ZSOLVER/tke_eps_sources.f90 +++ b/src/ZSOLVER/tke_eps_sources.f90 @@ -568,6 +568,7 @@ if (lbudget_tke) call Budget_store_end( tbudgets(NBUDGET_TKE), 'TR', prtkes(:, : ! !$acc kernels #ifndef MNH_BITREP +!dir$ concurrent PRTHLS(:,:,:) = PRTHLS(:,:,:) + XCED * SQRT(PTKEM(:,:,:)) / PLEPS(:,:,:) * & #else PRTHLS(:,:,:) = PRTHLS(:,:,:) + XCED * BR_POW(PTKEM(:,:,:),0.5) / PLEPS(:,:,:) * & diff --git a/src/ZSOLVER/turb_hor_thermo_flux.f90 b/src/ZSOLVER/turb_hor_thermo_flux.f90 index dc9982bb854360536fcb48955bb3c6f35433d26b..71cf7793cb4f1fd5680be282b4c949da68a84ca3 100644 --- a/src/ZSOLVER/turb_hor_thermo_flux.f90 +++ b/src/ZSOLVER/turb_hor_thermo_flux.f90 @@ -505,7 +505,7 @@ IF ( KRRL >= 1 ) THEN ZTMP1_DEVICE(:,:,:) = ZTMP2_DEVICE(:,:,:) *ZFLX(:,:,:) !$acc end kernels CALL MXF_DEVICE( ZTMP1_DEVICE, ZTMP2_DEVICE) - !$acc kernels + !$acc kernels present(ZTMP1_DEVICE) ZTMP1_DEVICE(:,:,:) = ZFLX(:,:,:)*PINV_PDXX(:,:,:) !$acc end kernels CALL MZM_DEVICE( ZTMP1_DEVICE, ZTMP5_DEVICE ) diff --git a/src/ZSOLVER/zsolver.f90 b/src/ZSOLVER/zsolver.f90 index cf946159583715dd78395c60066aeeb9081a22b1..a505d79dbf81685bf160e77777d34a2ef9193ec3 100644 --- a/src/ZSOLVER/zsolver.f90 +++ b/src/ZSOLVER/zsolver.f90 @@ -313,8 +313,8 @@ DO JM = 1,KITR ! !* 2.3 update the residual error: r ! - !$acc kernels - ZRESIDUE = ZRESIDUE + ZLAMBDA * ZDELTA + !$acc kernels present(ZRESIDUE) + ZRESIDUE(:,:,:) = ZRESIDUE(:,:,:) + ZLAMBDA * ZDELTA(:,:,:) !$acc end kernels ! !* 2.4 compute the vector: q = F^(-1)*( Q(PHI) - Y )