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

Juan 19/05/2022:*/turb.f90, Bug Nvhpc22.2 seg-fault, array syntax -> do conc &...

Juan 19/05/2022:*/turb.f90, Bug Nvhpc22.2 seg-fault, array syntax -> do conc & some acc -> acc_nv for Cray Opt
parent 6a72d8d8
No related branches found
No related tags found
No related merge requests found
...@@ -1894,7 +1894,8 @@ CALL MNH_MEM_GET( zdrvsatdt, size( pexn, 1 ), size( pexn, 2 ), size( pexn, 3 ) ) ...@@ -1894,7 +1894,8 @@ CALL MNH_MEM_GET( zdrvsatdt, size( pexn, 1 ), size( pexn, 2 ), size( pexn, 3 ) )
- ZDRVSATDT(:,:,:) & - ZDRVSATDT(:,:,:) &
) )
#else #else
DO CONCURRENT( JI=1:JIU,JJ=1:JJU,JK=1:JKU) !$acc_nv loop independent collapse(3)
DO CONCURRENT(JI=1:JIU,JJ=1:JJU,JK=1:JKU)
PATHETA(JI,JJ,JK)= PAMOIST(JI,JJ,JK) * PEXN(JI,JJ,JK) * & PATHETA(JI,JJ,JK)= PAMOIST(JI,JJ,JK) * PEXN(JI,JJ,JK) * &
( ( ZRVSAT(JI,JJ,JK) - PRT(JI,JJ,JK,1) ) * PLOCPEXN(JI,JJ,JK) / & ( ( ZRVSAT(JI,JJ,JK) - PRT(JI,JJ,JK,1) ) * PLOCPEXN(JI,JJ,JK) / &
( 1. + ZDRVSATDT(JI,JJ,JK) * PLOCPEXN(JI,JJ,JK) ) * & ( 1. + ZDRVSATDT(JI,JJ,JK) * PLOCPEXN(JI,JJ,JK) ) * &
...@@ -1908,13 +1909,16 @@ DO CONCURRENT( JI=1:JIU,JJ=1:JJU,JK=1:JKU) ...@@ -1908,13 +1909,16 @@ DO CONCURRENT( JI=1:JIU,JJ=1:JJU,JK=1:JKU)
) )
ENDDO ENDDO
#endif #endif
!$acc end kernels
!* 1.7 Lv/Cph/Exner at t-1 !* 1.7 Lv/Cph/Exner at t-1
! !
PLOCPEXN(:,:,:) = PLOCPEXN(:,:,:) / PEXN(:,:,:) !$acc kernels present(PLOCPEXN)
!$acc_nv loop independent collapse(3)
DO CONCURRENT(JI=1:JIU,JJ=1:JJU,JK=1:JKU)
PLOCPEXN(JI,JJ,JK) = PLOCPEXN(JI,JJ,JK) / PEXN(JI,JJ,JK)
END DO
!$acc end kernels !$acc end kernels
if ( mppdb_initialized ) then if ( mppdb_initialized ) then
!Check all out arrays !Check all out arrays
call Mppdb_check( plocpexn, "Compute_function_thermo end:plocpexn" ) call Mppdb_check( plocpexn, "Compute_function_thermo end:plocpexn" )
...@@ -2038,7 +2042,7 @@ ELSE ...@@ -2038,7 +2042,7 @@ ELSE
!* 3.1 BL89 mixing length !* 3.1 BL89 mixing length
! ------------------ ! ------------------
CASE ('BL89','RM17') CASE ('BL89','RM17')
!$acc kernels !$acc kernels present(ZSHEAR)
ZSHEAR(:, :, : ) = 0. ZSHEAR(:, :, : ) = 0.
!$acc end kernels !$acc end kernels
CALL BL89(KKA,KKU,KKL,PZZ,PDZZ,PTHVREF,ZTHLM,KRR,ZRM,PTKET,ZSHEAR,ZLM_CLOUD) CALL BL89(KKA,KKU,KKL,PZZ,PDZZ,PTHVREF,ZTHLM,KRR,ZRM,PTKET,ZSHEAR,ZLM_CLOUD)
......
...@@ -1875,7 +1875,7 @@ CALL MNH_MEM_GET( zdrvsatdt, size( pexn, 1 ), size( pexn, 2 ), size( pexn, 3 ) ) ...@@ -1875,7 +1875,7 @@ CALL MNH_MEM_GET( zdrvsatdt, size( pexn, 1 ), size( pexn, 2 ), size( pexn, 3 ) )
END DO END DO
#endif #endif
!$acc end kernels !$acc end kernels
!$acc kernels present(ZRVSAT,ZDRVSATDT) !$acc kernels present_cr(ZRVSAT,ZDRVSATDT)
! !
!* 1.3 saturation mixing ratio at t !* 1.3 saturation mixing ratio at t
! !
...@@ -1906,7 +1906,8 @@ CALL MNH_MEM_GET( zdrvsatdt, size( pexn, 1 ), size( pexn, 2 ), size( pexn, 3 ) ) ...@@ -1906,7 +1906,8 @@ CALL MNH_MEM_GET( zdrvsatdt, size( pexn, 1 ), size( pexn, 2 ), size( pexn, 3 ) )
- ZDRVSATDT(:,:,:) & - ZDRVSATDT(:,:,:) &
) )
#else #else
DO CONCURRENT( JI=1:JIU,JJ=1:JJU,JK=1:JKU) !$acc_nv loop independent collapse(3)
DO CONCURRENT(JI=1:JIU,JJ=1:JJU,JK=1:JKU)
PATHETA(JI,JJ,JK)= PAMOIST(JI,JJ,JK) * PEXN(JI,JJ,JK) * & PATHETA(JI,JJ,JK)= PAMOIST(JI,JJ,JK) * PEXN(JI,JJ,JK) * &
( ( ZRVSAT(JI,JJ,JK) - PRT(JI,JJ,JK,1) ) * PLOCPEXN(JI,JJ,JK) / & ( ( ZRVSAT(JI,JJ,JK) - PRT(JI,JJ,JK,1) ) * PLOCPEXN(JI,JJ,JK) / &
( 1. + ZDRVSATDT(JI,JJ,JK) * PLOCPEXN(JI,JJ,JK) ) * & ( 1. + ZDRVSATDT(JI,JJ,JK) * PLOCPEXN(JI,JJ,JK) ) * &
...@@ -1920,13 +1921,16 @@ DO CONCURRENT( JI=1:JIU,JJ=1:JJU,JK=1:JKU) ...@@ -1920,13 +1921,16 @@ DO CONCURRENT( JI=1:JIU,JJ=1:JJU,JK=1:JKU)
) )
ENDDO ENDDO
#endif #endif
!$acc end kernels
!* 1.7 Lv/Cph/Exner at t-1 !* 1.7 Lv/Cph/Exner at t-1
! !
PLOCPEXN(:,:,:) = PLOCPEXN(:,:,:) / PEXN(:,:,:) !$acc kernels present(PLOCPEXN)
!$acc_nv loop independent collapse(3)
DO CONCURRENT(JI=1:JIU,JJ=1:JJU,JK=1:JKU)
PLOCPEXN(JI,JJ,JK) = PLOCPEXN(JI,JJ,JK) / PEXN(JI,JJ,JK)
END DO
!$acc end kernels !$acc end kernels
if ( mppdb_initialized ) then if ( mppdb_initialized ) then
!Check all out arrays !Check all out arrays
call Mppdb_check( plocpexn, "Compute_function_thermo end:plocpexn" ) call Mppdb_check( plocpexn, "Compute_function_thermo end:plocpexn" )
...@@ -2050,7 +2054,7 @@ ELSE ...@@ -2050,7 +2054,7 @@ ELSE
!* 3.1 BL89 mixing length !* 3.1 BL89 mixing length
! ------------------ ! ------------------
CASE ('BL89','RM17') CASE ('BL89','RM17')
!$acc kernels !$acc kernels present(ZSHEAR)
ZSHEAR(:, :, : ) = 0. ZSHEAR(:, :, : ) = 0.
!$acc end kernels !$acc end kernels
CALL BL89(KKA,KKU,KKL,PZZ,PDZZ,PTHVREF,ZTHLM,KRR,ZRM,PTKET,ZSHEAR,ZLM_CLOUD) CALL BL89(KKA,KKU,KKL,PZZ,PDZZ,PTHVREF,ZTHLM,KRR,ZRM,PTKET,ZSHEAR,ZLM_CLOUD)
......
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