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)
 !-------------------------------------------------------------------------------
 !