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

Juan 15/04/2022:MNH/tke_eps_sources.f90, Cray GPU Opt/Bug bypass, add !dir$ concurrent

parent 8987f40b
No related branches found
No related tags found
No related merge requests found
...@@ -418,7 +418,7 @@ ZA(:,:,:) = - PTSTEP * XCET * & ...@@ -418,7 +418,7 @@ ZA(:,:,:) = - PTSTEP * XCET * &
#else #else
CALL MZM_DEVICE(ZKEFF, ZTMP1_DEVICE) !Warning: re-used later CALL MZM_DEVICE(ZKEFF, ZTMP1_DEVICE) !Warning: re-used later
CALL MZM_DEVICE(PRHODJ,ZTMP2_DEVICE) !Warning: re-used later CALL MZM_DEVICE(PRHODJ,ZTMP2_DEVICE) !Warning: re-used later
!$acc kernels !$acc kernels present(ZA)
#ifndef MNH_BITREP #ifndef MNH_BITREP
ZA(:,:,:) = - PTSTEP * XCET * ZTMP1_DEVICE(:,:,:) * ZTMP2_DEVICE(:,:,:) / PDZZ(:,:,:)**2 ZA(:,:,:) = - PTSTEP * XCET * ZTMP1_DEVICE(:,:,:) * ZTMP2_DEVICE(:,:,:) / PDZZ(:,:,:)**2
#else #else
...@@ -544,14 +544,16 @@ end if ...@@ -544,14 +544,16 @@ end if
if (lbudget_tke) then if (lbudget_tke) then
!Store the previous source terms in prtkes before initializing the next one !Store the previous source terms in prtkes before initializing the next one
PRTKES(:,:,:) = PRTKES(:,:,:) + PRHODJ(:,:,:) * & !$acc kernels
PRTKES(:,:,:) = PRTKES(:,:,:) + PRHODJ(:,:,:) * &
( PDP(:,:,:) + PTP(:,:,:) & ( PDP(:,:,:) + PTP(:,:,:) &
- XCED * SQRT(PTKEM(:,:,:)) / PLEPS(:,:,:) * ( PEXPL*PTKEM(:,:,:) + PIMPL*ZRES(:,:,:) ) ) - XCED * SQRT(PTKEM(:,:,:)) / PLEPS(:,:,:) * ( PEXPL*PTKEM(:,:,:) + PIMPL*ZRES(:,:,:) ) )
!$acc end kernels
call Budget_store_init( tbudgets(NBUDGET_TKE), 'TR', prtkes(:, :, :) ) call Budget_store_init( tbudgets(NBUDGET_TKE), 'TR', prtkes(:, :, :) )
end if end if
!$acc kernels !$acc kernels
!dir$ concurrent
PRTKES(:,:,:) = ZRES(:,:,:) * PRHODJ(:,:,:) / PTSTEP - PRTKESM(:,:,:) PRTKES(:,:,:) = ZRES(:,:,:) * PRHODJ(:,:,:) / PTSTEP - PRTKESM(:,:,:)
!$acc end kernels !$acc end kernels
! !
...@@ -566,6 +568,7 @@ if (lbudget_tke) call Budget_store_end( tbudgets(NBUDGET_TKE), 'TR', prtkes(:, : ...@@ -566,6 +568,7 @@ if (lbudget_tke) call Budget_store_end( tbudgets(NBUDGET_TKE), 'TR', prtkes(:, :
! !
!$acc kernels !$acc kernels
#ifndef MNH_BITREP #ifndef MNH_BITREP
!dir$ concurrent
PRTHLS(:,:,:) = PRTHLS(:,:,:) + XCED * SQRT(PTKEM(:,:,:)) / PLEPS(:,:,:) * & PRTHLS(:,:,:) = PRTHLS(:,:,:) + XCED * SQRT(PTKEM(:,:,:)) / PLEPS(:,:,:) * &
#else #else
PRTHLS(:,:,:) = PRTHLS(:,:,:) + XCED * BR_POW(PTKEM(:,:,:),0.5) / PLEPS(:,:,:) * & PRTHLS(:,:,:) = PRTHLS(:,:,:) + XCED * BR_POW(PTKEM(:,:,:),0.5) / PLEPS(:,:,:) * &
......
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