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

Juan 04/11/2022:ZSOLVER/turb_hor_dyn_corr.f90 , CCE > 14.X Optimization ,...

Juan 04/11/2022:ZSOLVER/turb_hor_dyn_corr.f90 , CCE > 14.X Optimization , Inhibe BR_P2, not needed for bitreproductibility with Cray Compiler
parent 10979ce6
No related branches found
No related tags found
No related merge requests found
...@@ -177,7 +177,7 @@ USE MODI_TRIDIAG_W ...@@ -177,7 +177,7 @@ USE MODI_TRIDIAG_W
#if defined(MNH_BITREP) || defined(MNH_BITREP_OMP) #if defined(MNH_BITREP) || defined(MNH_BITREP_OMP)
USE MODI_BITREP USE MODI_BITREP
#endif #endif
#ifdef MNH_BITREP_OMP #ifdef MNH_COMPILER_CCE
!$mnh_undef(LOOP) !$mnh_undef(LOOP)
!$mnh_undef(OPENACC) !$mnh_undef(OPENACC)
#endif #endif
...@@ -399,7 +399,8 @@ IKU = SIZE(PUM,3) ...@@ -399,7 +399,8 @@ IKU = SIZE(PUM,3)
! !
! !
!$acc kernels async(1) !$acc kernels async(1)
#if !defined(MNH_BITREP) && !defined(MNH_BITREP_OMP) !if !defined(MNH_BITREP) && !defined(MNH_BITREP_OMP)
#if !defined(MNH_BITREP)
ZDIRSINZW(:,:) = SQRT( 1. - PDIRCOSZW(:,:)**2 ) ZDIRSINZW(:,:) = SQRT( 1. - PDIRCOSZW(:,:)**2 )
#else #else
!$mnh_expand_array(JI=1:JIU,JJ=1:JJU ) !$mnh_expand_array(JI=1:JIU,JJ=1:JJU )
...@@ -623,8 +624,9 @@ CALL MYF_DEVICE(PDYY(:,:,IKB:IKB),ZTMP4_DEVICE(:,:,1:1)) ...@@ -623,8 +624,9 @@ CALL MYF_DEVICE(PDYY(:,:,IKB:IKB),ZTMP4_DEVICE(:,:,1:1))
!!! wait for the computation of ZDIRSINZW !!! wait for the computation of ZDIRSINZW
!$acc wait(1) !$acc wait(1)
! !
!$acc kernels async(4) present_cr(ZFLX,ZDIRSINZW) !$acc kernels async(4) present_cr(ZFLX,ZDIRSINZW)
#if !defined(MNH_BITREP) && !defined(MNH_BITREP_OMP) !if !defined(MNH_BITREP) && !defined(MNH_BITREP_OMP)
#if !defined(MNH_BITREP)
ZFLX(:,:,IKB-1) = & ZFLX(:,:,IKB-1) = &
PTAU11M(:,:) * PCOSSLOPE(:,:)**2 * PDIRCOSZW(:,:)**2 & PTAU11M(:,:) * PCOSSLOPE(:,:)**2 * PDIRCOSZW(:,:)**2 &
-2. * PTAU12M(:,:) * PCOSSLOPE(:,:)* PSINSLOPE(:,:) * PDIRCOSZW(:,:) & -2. * PTAU12M(:,:) * PCOSSLOPE(:,:)* PSINSLOPE(:,:) * PDIRCOSZW(:,:) &
...@@ -786,7 +788,7 @@ IF (LLES_CALL .AND. KSPLT==1) THEN ...@@ -786,7 +788,7 @@ IF (LLES_CALL .AND. KSPLT==1) THEN
!!! wait for the computation of ZWORK and PDP !!! wait for the computation of ZWORK and PDP
!$acc wait(2) !$acc wait(2)
! !
!$acc kernels !$acc kernels present_cr(ZTMP1_DEVICE)
ZTMP1_DEVICE(:,:,:) = -ZWORK(:,:,:) ZTMP1_DEVICE(:,:,:) = -ZWORK(:,:,:)
!$acc end kernels !$acc end kernels
CALL LES_MEAN_SUBGRID( ZTMP1_DEVICE, X_LES_RES_ddxa_U_SBG_UaU , .TRUE.) CALL LES_MEAN_SUBGRID( ZTMP1_DEVICE, X_LES_RES_ddxa_U_SBG_UaU , .TRUE.)
...@@ -851,7 +853,8 @@ ZFLX(:,:,IKE+1) = ZFLX(:,:,IKE) ...@@ -851,7 +853,8 @@ ZFLX(:,:,IKE+1) = ZFLX(:,:,IKE)
! !
! extrapolates this flux under the ground with the surface flux ! extrapolates this flux under the ground with the surface flux
!$acc kernels async(3) present_cr(ZFLX) !$acc kernels async(3) present_cr(ZFLX)
#if !defined(MNH_BITREP) && !defined(MNH_BITREP_OMP) !if !defined(MNH_BITREP) && !defined(MNH_BITREP_OMP)
#if !defined(MNH_BITREP)
ZFLX(:,:,IKB-1) = & ZFLX(:,:,IKB-1) = &
PTAU11M(:,:) * PSINSLOPE(:,:)**2 * PDIRCOSZW(:,:)**2 & PTAU11M(:,:) * PSINSLOPE(:,:)**2 * PDIRCOSZW(:,:)**2 &
+2. * PTAU12M(:,:) * PCOSSLOPE(:,:)* PSINSLOPE(:,:) * PDIRCOSZW(:,:) & +2. * PTAU12M(:,:) * PCOSSLOPE(:,:)* PSINSLOPE(:,:) * PDIRCOSZW(:,:) &
...@@ -1076,8 +1079,9 @@ ZFLX(:,:,IKE+1)= ZFLX(:,:,IKE) ...@@ -1076,8 +1079,9 @@ ZFLX(:,:,IKE+1)= ZFLX(:,:,IKE)
! - 2.* XCMFB * PLM(:,:,IKB:IKB) /SQRT(PTKEM(:,:,IKB:IKB)) * & ! - 2.* XCMFB * PLM(:,:,IKB:IKB) /SQRT(PTKEM(:,:,IKB:IKB)) * &
! (-2./3.) * PTP(:,:,IKB:IKB) ! (-2./3.) * PTP(:,:,IKB:IKB)
! extrapolates this flux under the ground with the surface flux ! extrapolates this flux under the ground with the surface flux
!$acc kernels async(3) present_cr(ZFLX) !$acc kernels async(3) present_cr(ZFLX)
#if !defined(MNH_BITREP) && !defined(MNH_BITREP_OMP) !if !defined(MNH_BITREP) && !defined(MNH_BITREP_OMP)
#if !defined(MNH_BITREP)
ZFLX(:,:,IKB-1) = & ZFLX(:,:,IKB-1) = &
PTAU11M(:,:) * ZDIRSINZW(:,:)**2 & PTAU11M(:,:) * ZDIRSINZW(:,:)**2 &
+ PTAU33M(:,:) * PDIRCOSZW(:,:)**2 & + PTAU33M(:,:) * PDIRCOSZW(:,:)**2 &
...@@ -1092,7 +1096,7 @@ ZFLX(:,:,IKB-1) = & ...@@ -1092,7 +1096,7 @@ ZFLX(:,:,IKB-1) = &
!$mnh_end_expand_array() !$mnh_end_expand_array()
#endif #endif
!$acc end kernels !$acc end kernels
! !
! !
!!! wait for the computation of ZFLX(:,:,IKB-1) and ZFLX(:,:,IKB) !!! wait for the computation of ZFLX(:,:,IKB-1) and ZFLX(:,:,IKB)
!$acc wait(2) async(3) !$acc wait(2) async(3)
......
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