diff --git a/src/ZSOLVER/advecuvw_rk.f90 b/src/ZSOLVER/advecuvw_rk.f90 index 4a71554b59ef8b3e814b61ca58240aff0b902409..b617fffa6d22293b5eebb2686a4721a92e8fb081 100644 --- a/src/ZSOLVER/advecuvw_rk.f90 +++ b/src/ZSOLVER/advecuvw_rk.f90 @@ -205,6 +205,7 @@ REAL, DIMENSION(:), ALLOCATABLE :: ZBUTS! Butcher array coefficients !JUAN TYPE(LIST_ll), POINTER :: TZFIELDMT_ll ! list of fields to exchange TYPE(HALO2LIST_ll), POINTER :: TZHALO2MT_ll ! momentum variables +TYPE(HALO2LIST_ll), POINTER :: TZHALO2_UT,TZHALO2_VT,TZHALO2_WT INTEGER :: INBVAR INTEGER :: IIU, IJU, IKU ! array sizes !JUAN @@ -454,10 +455,14 @@ ZRWS(:, :, :, : ) = 0. CALL UPDATE_HALO2_ll(TZFIELDMT_ll, TZHALO2MT_ll, IINFO_ll) #else ! acc update self(ZUT,ZVT,ZWT) - CALL GET_HALO_D(ZUT,HNAME='ZUT') - CALL GET_HALO_D(ZVT,HNAME='ZVT') - CALL GET_HALO_D(ZWT,HNAME='ZWT') - CALL UPDATE_HALO2_ll(TZFIELDMT_ll, TZHALO2MT_ll, IINFO_ll) +!!$ CALL GET_HALO_D(ZUT,HNAME='ZUT') +!!$ CALL GET_HALO_D(ZVT,HNAME='ZVT') +!!$ CALL GET_HALO_D(ZWT,HNAME='ZWT') +!!$ CALL UPDATE_HALO2_ll(TZFIELDMT_ll, TZHALO2MT_ll, IINFO_ll) + CALL GET_HALO2_D(ZUT,TZHALO2_UT,HNAME='ZUT') + CALL GET_HALO2_D(ZVT,TZHALO2_VT,HNAME='ZVT') + CALL GET_HALO2_D(ZWT,TZHALO2_WT,HNAME='ZWT') + ! acc update device(ZUT,ZVT,ZWT) #endif @@ -467,15 +472,19 @@ ZRWS(:, :, :, : ) = 0. !* 4. Advection with WENO ! ------------------- ! - +!!$TZHALO2_UT => TZHALO2MT_ll ! 1rst add3dfield in model_n +!!$TZHALO2_VT => TZHALO2MT_ll%NEXT ! 2nd add3dfield in model_n +!!$TZHALO2_WT => TZHALO2MT_ll%NEXT%NEXT ! 3rst add3dfield in model_n + IF (HUVW_ADV_SCHEME=='WENO_K') THEN CALL ADVECUVW_WENO_K (HLBCX, HLBCY, KWENO_ORDER, ZUT, ZVT, ZWT, & PRUCT, PRVCT, PRWCT, & ZRUS(:,:,:,JS), ZRVS(:,:,:,JS), ZRWS(:,:,:,JS), & + TZHALO2_UT,TZHALO2_VT,TZHALO2_WT & #ifndef MNH_OPENACC - TZHALO2MT_ll ) + ) #else - TZHALO2MT_ll, ZT3D(:,:,:,IZMEAN), ZT3D(:,:,:,IZWORK) ) + , ZT3D(:,:,:,IZMEAN), ZT3D(:,:,:,IZWORK) ) #endif ELSE IF ((HUVW_ADV_SCHEME=='CEN4TH') .AND. (HTEMP_SCHEME=='RKC4')) THEN CALL ADVECUVW_4TH (HLBCX, HLBCY, PRUCT, PRVCT, PRWCT, & @@ -544,7 +553,10 @@ CALL MNH_REL_ZT3D(IZMEAN,IZWORK) #endif ! CALL CLEANLIST_ll(TZFIELDMT_ll) -CALL DEL_HALO2_ll(TZHALO2MT_ll) +CALL DEL_HALO2_ll(TZHALO2MT_ll) +CALL DEL_HALO2_ll(TZHALO2_UT) +CALL DEL_HALO2_ll(TZHALO2_VT) +CALL DEL_HALO2_ll(TZHALO2_WT) !$acc update self(PRUS_ADV,PRVS_ADV,PRWS_ADV) !------------------------------------------------------------------------------- !