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

Juan 27/10/2022:turb_hor_thermo_corr.f90, Strange BUG with Nvhpc/22.7+ ,...

Juan 27/10/2022:turb_hor_thermo_corr.f90, Strange BUG with Nvhpc/22.7+ , turb+I/O do SegFault => convert array syntax adding mnh_expand to eliminate listing reference to zflx$f/zwork$f
parent 2e8e0abe
No related branches found
No related tags found
No related merge requests found
......@@ -347,7 +347,9 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. tpfile%lopened ) &
#ifndef MNH_BITREP
ZFLX(:,:,:) = XCTV * PLM(:,:,:) * PLEPS(:,:,:) * ( ZTMP1_DEVICE(:,:,:)**2 + ZTMP2_DEVICE(:,:,:)**2 )
#else
ZFLX(:,:,:) = XCTV * PLM(:,:,:) * PLEPS(:,:,:) * ( BR_P2(ZTMP1_DEVICE) + BR_P2(ZTMP2_DEVICE) )
!$mnh_expand_array(JI=1:JIU,JJ=1:JJU,JK=1:JKU)
ZFLX(:,:,:) = XCTV * PLM(:,:,:) * PLEPS(:,:,:) * ( BR_P2(ZTMP1_DEVICE(:,:,:)) + BR_P2(ZTMP2_DEVICE(:,:,:)) )
!$mnh_end_expand_array()
#endif
!$acc end kernels
ELSE
......@@ -356,7 +358,9 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. tpfile%lopened ) &
#ifndef MNH_BITREP
ZFLX(:,:,:) = XCTV * PLM(:,:,:) * PLEPS(:,:,:) * ZTMP1_DEVICE(:,:,:)**2
#else
ZFLX(:,:,:) = XCTV * PLM(:,:,:) * PLEPS(:,:,:) * BR_P2(ZTMP1_DEVICE)
!$mnh_expand_array(JI=1:JIU,JJ=1:JJU,JK=1:JKU)
ZFLX(:,:,:) = XCTV * PLM(:,:,:) * PLEPS(:,:,:) * BR_P2(ZTMP1_DEVICE(:,:,:))
!$mnh_end_expand_array()
#endif
!$acc end kernels
END IF
......@@ -398,6 +402,7 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. tpfile%lopened ) &
CALL MYF_DEVICE(PDYY(:,:,IKB:IKB), ZTMP2_DEVICE(:,:,1:1))
!
!$acc kernels
!$mnh_expand_array(JI=1:JIU,JJ=1:JJU)
ZFLX(:,:,IKB) = XCTV * PLM(:,:,IKB) &
* PLEPS(:,:,IKB) * ( &
( ZTMP3_DEVICE(:,:,1) &
......@@ -414,12 +419,15 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. tpfile%lopened ) &
) * 0.5 * ( PDZY(:,:,IKB+1)+PDZY(:,:,IKB) ) &
/ ZTMP2_DEVICE(:,:,1) &
) ** 2 )
!$mnh_end_expand_array()
#endif
!
ZFLX(:,:,IKB-1) = ZFLX(:,:,IKB)
!
IF ( KRRL > 0 ) THEN
!$mnh_expand_array(JI=1:JIU,JJ=1:JJU,JK=1:JKU)
ZWORK(:,:,:) = ZFLX(:,:,:) * PATHETA(:,:,:) * PATHETA(:,:,:)
!$mnh_end_expand_array()
END IF
!$acc end kernels
!
......@@ -620,8 +628,10 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. tpfile%lopened ) &
ZFLX(:,:,IKB-1) = ZFLX(:,:,IKB)
!
IF ( KRRL > 0 ) THEN
!$mnh_expand_array(JI=1:JIU,JJ=1:JJU,JK=1:JKU)
ZWORK(:,:,:) = ZWORK(:,:,:) + &
2. * PATHETA(:,:,:) * PAMOIST(:,:,:) * ZFLX(:,:,:)
!$mnh_end_expand_array()
END IF
!$acc end kernels
! stores <THl Rnp>
......@@ -726,7 +736,9 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. tpfile%lopened ) &
#ifndef MNH_BITREP
ZFLX(:,:,:) = XCHV * PLM(:,:,:) * PLEPS(:,:,:) * ( ZTMP1_DEVICE(:,:,:)**2 + ZTMP2_DEVICE(:,:,:)**2 )
#else
ZFLX(:,:,:) = XCHV * PLM(:,:,:) * PLEPS(:,:,:) * ( BR_P2(ZTMP1_DEVICE) + BR_P2(ZTMP2_DEVICE) )
!$mnh_expand_array(JI=1:JIU,JJ=1:JJU,JK=1:JKU)
ZFLX(:,:,:) = XCHV * PLM(:,:,:) * PLEPS(:,:,:) * ( BR_P2(ZTMP1_DEVICE(:,:,:)) + BR_P2(ZTMP2_DEVICE(:,:,:)) )
!$mnh_end_expand_array()
#endif
!$acc end kernels
ELSE
......@@ -735,7 +747,9 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. tpfile%lopened ) &
#ifndef MNH_BITREP
ZFLX(:,:,:) = XCHV * PLM(:,:,:) * PLEPS(:,:,:) * ZTMP1_DEVICE(:,:,:)**2
#else
ZFLX(:,:,:) = XCHV * PLM(:,:,:) * PLEPS(:,:,:) * BR_P2(ZTMP1_DEVICE)
!$mnh_expand_array(JI=1:JIU,JJ=1:JJU,JK=1:JKU)
ZFLX(:,:,:) = XCHV * PLM(:,:,:) * PLEPS(:,:,:) * BR_P2(ZTMP1_DEVICE(:,:,:))
!$mnh_end_expand_array()
#endif
!$acc end kernels
END IF
......@@ -776,6 +790,7 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. tpfile%lopened ) &
CALL MYF_DEVICE(PDYY(:,:,IKB:IKB),ZTMP6_DEVICE(:,:,1:1))
!
!$acc kernels
!$mnh_expand_array(JI=1:JIU,JJ=1:JJU,JK=1:JKU)
ZFLX(:,:,IKB) = XCHV * PLM(:,:,IKB) &
* PLEPS(:,:,IKB) * ( &
( ZTMP3_DEVICE(:,:,1) &
......@@ -792,12 +807,15 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. tpfile%lopened ) &
) * 0.5 * ( PDZY(:,:,IKB+1)+PDZY(:,:,IKB) ) &
/ ZTMP6_DEVICE(:,:,1) &
) ** 2 )
!$mnh_end_expand_array()
#endif
!
ZFLX(:,:,IKB-1) = ZFLX(:,:,IKB)
!
IF ( KRRL > 0 ) THEN
!$mnh_expand_array(JI=1:JIU,JJ=1:JJU,JK=1:JKU)
ZWORK(:,:,:) = ZWORK(:,:,:)+ PAMOIST(:,:,:) * PAMOIST(:,:,:) * ZFLX(:,:,:)
!$mnh_end_expand_array()
END IF
!$acc end kernels
! stores <Rnp Rnp>
......
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