diff --git a/src/ZSOLVER/advecuvw_weno_k.f90 b/src/ZSOLVER/advecuvw_weno_k.f90
index 96c6a85e5e6ea000a1a2508d7b2bc815c3fca85a..f41009ae4ef63792834dff1b2f025e0808f1a2e2 100644
--- a/src/ZSOLVER/advecuvw_weno_k.f90
+++ b/src/ZSOLVER/advecuvw_weno_k.f90
@@ -10,7 +10,8 @@
 INTERFACE
 !
       SUBROUTINE ADVECUVW_WENO_K(HLBCX, HLBCY, KWENO_ORDER, PUT, PVT, PWT,       &
-                             PRUCT, PRVCT, PRWCT, PRUS, PRVS, PRWS, TPHALO2LIST  &
+                             PRUCT, PRVCT, PRWCT, PRUS, PRVS, PRWS, & 
+                             TPHALO2_UT,TPHALO2_VT,TPHALO2_WT &
 #ifndef MNH_OPENACC
                              )
 #else
@@ -32,7 +33,7 @@ REAL, DIMENSION(:,:,:),   INTENT(IN) :: PUT, PVT, PWT        ! U,V,W at t
 !
 REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PRUS, PRVS, PRWS     ! Source terms
 !
-TYPE(HALO2LIST_ll), POINTER :: TPHALO2LIST ! list for diffusion
+TYPE(HALO2LIST_ll), POINTER :: TPHALO2_UT,TPHALO2_VT,TPHALO2_WT
 !
 #ifdef MNH_OPENACC
 ! Work arrays
@@ -47,7 +48,8 @@ END MODULE MODI_ADVECUVW_WENO_K
 !
 !     ##########################################################################
       SUBROUTINE ADVECUVW_WENO_K(HLBCX, HLBCY, KWENO_ORDER, PUT, PVT, PWT,      &
-                             PRUCT, PRVCT, PRWCT, PRUS, PRVS, PRWS, TPHALO2LIST &
+                             PRUCT, PRVCT, PRWCT, PRUS, PRVS, PRWS, & 
+                             TPHALO2_UT,TPHALO2_VT,TPHALO2_WT &
 #ifndef MNH_OPENACC
                              )
 #else
@@ -112,13 +114,11 @@ REAL, DIMENSION(:,:,:),   INTENT(IN) :: PUT, PVT, PWT     ! Variables at t
 !
 REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PRUS, PRVS, PRWS     ! Source terms
 !
-TYPE(HALO2LIST_ll), POINTER :: TPHALO2LIST ! list for diffusion
 !
 !*       0.2   Declarations of local variables :
 !
-TYPE(HALO2LIST_ll), POINTER :: TZHALO2_UT,TZHALO2_VT,TZHALO2_WT
+TYPE(HALO2LIST_ll), POINTER :: TPHALO2_UT,TPHALO2_VT,TPHALO2_WT
 
-TYPE(LIST_ll), POINTER :: TZHALO2_ZMEAN
 INTEGER                     :: IINFO_ll    ! return code of parallel routine
 !
 #ifndef MNH_OPENACC
@@ -166,9 +166,9 @@ CALL INIT_ON_HOST_AND_DEVICE(ZWORK,2e90,'ADVECUVW_WENO_K::ZWORK')
 !------------------------- ADVECTION OF MOMENTUM ------------------------------
 !
 !
-TZHALO2_UT => TPHALO2LIST                   ! 1rst add3dfield in model_n
-TZHALO2_VT => TPHALO2LIST%NEXT              ! 2nd  add3dfield in model_n
-TZHALO2_WT => TPHALO2LIST%NEXT%NEXT         ! 3rst add3dfield in model_n
+!!$TPHALO2_UT => TPHALO2LIST                   ! 1rst add3dfield in model_n
+!!$TPHALO2_VT => TPHALO2LIST%NEXT              ! 2nd  add3dfield in model_n
+!!$TPHALO2_WT => TPHALO2LIST%NEXT%NEXT         ! 3rst add3dfield in model_n
 !
 IKU=SIZE(PUT,3)
 !      -------------------------------------------------------
@@ -289,13 +289,13 @@ CASE(3) ! WENO 3
 ! U component
 !
   ZWORK = MXF(PRUCT)
-  CALL ADVEC_WENO_K_2_UX(HLBCX, PUT, ZWORK, ZMEAN, TZHALO2_UT%HALO2)
+  CALL ADVEC_WENO_K_2_UX(HLBCX, PUT, ZWORK, ZMEAN, TPHALO2_UT%HALO2)
   PRUS = PRUS - DXM(ZMEAN)
   
 !   
   IF (.NOT.L2D) THEN
     ZWORK = MXM(PRVCT)
-    CALL ADVEC_WENO_K_2_MY(HLBCY, PUT, ZWORK, ZMEAN, TZHALO2_UT%HALO2)
+    CALL ADVEC_WENO_K_2_MY(HLBCY, PUT, ZWORK, ZMEAN, TPHALO2_UT%HALO2)
     PRUS = PRUS - DYF(ZMEAN)
   END IF
 !
@@ -305,11 +305,11 @@ CASE(3) ! WENO 3
 !
   IF (.NOT.L2D) THEN
     ZWORK = MYM(PRUCT)
-    CALL ADVEC_WENO_K_2_MX(HLBCX, PVT, ZWORK, ZMEAN, TZHALO2_VT%HALO2)
+    CALL ADVEC_WENO_K_2_MX(HLBCX, PVT, ZWORK, ZMEAN, TPHALO2_VT%HALO2)
     PRVS = PRVS - DXF(ZMEAN)
 !   
     ZWORK = MYF(PRVCT)
-    CALL ADVEC_WENO_K_2_VY(HLBCY, PVT, ZWORK, ZMEAN, TZHALO2_VT%HALO2)
+    CALL ADVEC_WENO_K_2_VY(HLBCY, PVT, ZWORK, ZMEAN, TPHALO2_VT%HALO2)
     PRVS = PRVS - DYM(ZMEAN)
 !
     PRVS = PRVS - DZF(WENO_K_2_MZ(PVT, MYM(PRWCT)))
@@ -318,12 +318,12 @@ CASE(3) ! WENO 3
 ! W component
 !
   ZWORK = MZM(PRUCT)
-  CALL ADVEC_WENO_K_2_MX(HLBCX, PWT, ZWORK, ZMEAN, TZHALO2_WT%HALO2)
+  CALL ADVEC_WENO_K_2_MX(HLBCX, PWT, ZWORK, ZMEAN, TPHALO2_WT%HALO2)
   PRWS = PRWS - DXF(ZMEAN)
 !
   IF (.NOT.L2D) THEN
     ZWORK = MZM(PRVCT)
-    CALL ADVEC_WENO_K_2_MY(HLBCY, PWT, ZWORK, ZMEAN, TZHALO2_WT%HALO2)
+    CALL ADVEC_WENO_K_2_MY(HLBCY, PWT, ZWORK, ZMEAN, TPHALO2_WT%HALO2)
     PRWS = PRWS - DYF(ZMEAN)
   END IF
 !
@@ -334,7 +334,7 @@ CASE(3) ! WENO 3
 ! U component
 !
   CALL MXF_DEVICE(PRUCT,ZWORK)
-  CALL ADVEC_WENO_K_2_UX(HLBCX, PUT, ZWORK, ZMEAN, TZHALO2_UT%HALO2%WEST, TZHALO2_UT%HALO2%EAST,             &
+  CALL ADVEC_WENO_K_2_UX(HLBCX, PUT, ZWORK, ZMEAN, TPHALO2_UT%HALO2%WEST, TPHALO2_UT%HALO2%EAST,             &
                          ZT3D(:,:,:,IZFPOS1), ZT3D(:,:,:,IZFPOS2), ZT3D(:,:,:,IZFNEG1), ZT3D(:,:,:,IZFNEG2), &
                          ZT3D(:,:,:,IZBPOS1), ZT3D(:,:,:,IZBPOS2), ZT3D(:,:,:,IZBNEG1), ZT3D(:,:,:,IZBNEG2), &
                          ZT3D(:,:,:,IZOMP1),  ZT3D(:,:,:,IZOMP2),  ZT3D(:,:,:,IZOMN1),  ZT3D(:,:,:,IZOMN2) )
@@ -345,7 +345,7 @@ CASE(3) ! WENO 3
 !   
   IF (.NOT.L2D) THEN
     CALL MXM_DEVICE(PRVCT,ZWORK)
-    CALL ADVEC_WENO_K_2_MY(HLBCY, PUT, ZWORK, ZMEAN, TZHALO2_UT%HALO2%NORTH, TZHALO2_UT%HALO2%SOUTH,           &
+    CALL ADVEC_WENO_K_2_MY(HLBCY, PUT, ZWORK, ZMEAN, TPHALO2_UT%HALO2%NORTH, TPHALO2_UT%HALO2%SOUTH,           &
                            ZT3D(:,:,:,IZFPOS1), ZT3D(:,:,:,IZFPOS2), ZT3D(:,:,:,IZFNEG1), ZT3D(:,:,:,IZFNEG2), &
                            ZT3D(:,:,:,IZBPOS1), ZT3D(:,:,:,IZBPOS2), ZT3D(:,:,:,IZBNEG1), ZT3D(:,:,:,IZBNEG2), &
                            ZT3D(:,:,:,IZOMP1),  ZT3D(:,:,:,IZOMP2),  ZT3D(:,:,:,IZOMN1),  ZT3D(:,:,:,IZOMN2) )
@@ -370,7 +370,7 @@ CASE(3) ! WENO 3
 !
   IF (.NOT.L2D) THEN
     CALL MYM_DEVICE(PRUCT,ZWORK)
-    CALL ADVEC_WENO_K_2_MX(HLBCX, PVT, ZWORK, ZMEAN, TZHALO2_VT%HALO2%WEST, TZHALO2_VT%HALO2%EAST,             &
+    CALL ADVEC_WENO_K_2_MX(HLBCX, PVT, ZWORK, ZMEAN, TPHALO2_VT%HALO2%WEST, TPHALO2_VT%HALO2%EAST,             &
                            ZT3D(:,:,:,IZFPOS1), ZT3D(:,:,:,IZFPOS2), ZT3D(:,:,:,IZFNEG1), ZT3D(:,:,:,IZFNEG2), &
                            ZT3D(:,:,:,IZBPOS1), ZT3D(:,:,:,IZBPOS2), ZT3D(:,:,:,IZBNEG1), ZT3D(:,:,:,IZBNEG2), &
                            ZT3D(:,:,:,IZOMP1),  ZT3D(:,:,:,IZOMP2),  ZT3D(:,:,:,IZOMN1),  ZT3D(:,:,:,IZOMN2) )
@@ -380,7 +380,7 @@ CASE(3) ! WENO 3
 !$acc end kernels
 !   
     CALL MYF_DEVICE(PRVCT,ZWORK)
-    CALL ADVEC_WENO_K_2_VY(HLBCY, PVT, ZWORK, ZMEAN, TZHALO2_VT%HALO2%NORTH, TZHALO2_VT%HALO2%SOUTH,           &
+    CALL ADVEC_WENO_K_2_VY(HLBCY, PVT, ZWORK, ZMEAN, TPHALO2_VT%HALO2%NORTH, TPHALO2_VT%HALO2%SOUTH,           &
                            ZT3D(:,:,:,IZFPOS1), ZT3D(:,:,:,IZFPOS2), ZT3D(:,:,:,IZFNEG1), ZT3D(:,:,:,IZFNEG2), &
                            ZT3D(:,:,:,IZBPOS1), ZT3D(:,:,:,IZBPOS2), ZT3D(:,:,:,IZBNEG1), ZT3D(:,:,:,IZBNEG2), &
                            ZT3D(:,:,:,IZOMP1),  ZT3D(:,:,:,IZOMP2),  ZT3D(:,:,:,IZOMN1),  ZT3D(:,:,:,IZOMN2) )
@@ -405,7 +405,7 @@ CASE(3) ! WENO 3
 !
 !  ZWORK = MZM(1,IKU,1,PRUCT)
   CALL MZM_DEVICE(PRUCT,ZWORK)
-  CALL ADVEC_WENO_K_2_MX(HLBCX, PWT, ZWORK, ZMEAN, TZHALO2_WT%HALO2%WEST, TZHALO2_WT%HALO2%EAST,             &
+  CALL ADVEC_WENO_K_2_MX(HLBCX, PWT, ZWORK, ZMEAN, TPHALO2_WT%HALO2%WEST, TPHALO2_WT%HALO2%EAST,             &
                          ZT3D(:,:,:,IZFPOS1), ZT3D(:,:,:,IZFPOS2), ZT3D(:,:,:,IZFNEG1), ZT3D(:,:,:,IZFNEG2), &
                          ZT3D(:,:,:,IZBPOS1), ZT3D(:,:,:,IZBPOS2), ZT3D(:,:,:,IZBNEG1), ZT3D(:,:,:,IZBNEG2), &
                          ZT3D(:,:,:,IZOMP1),  ZT3D(:,:,:,IZOMP2),  ZT3D(:,:,:,IZOMN1),  ZT3D(:,:,:,IZOMN2) )
@@ -417,7 +417,7 @@ CASE(3) ! WENO 3
   IF (.NOT.L2D) THEN
 !    ZWORK = MZM(1,IKU,1,PRVCT)
     CALL MZM_DEVICE(PRVCT,ZWORK)
-    CALL ADVEC_WENO_K_2_MY(HLBCY, PWT, ZWORK, ZMEAN, TZHALO2_WT%HALO2%NORTH, TZHALO2_WT%HALO2%SOUTH,           &
+    CALL ADVEC_WENO_K_2_MY(HLBCY, PWT, ZWORK, ZMEAN, TPHALO2_WT%HALO2%NORTH, TPHALO2_WT%HALO2%SOUTH,           &
                            ZT3D(:,:,:,IZFPOS1), ZT3D(:,:,:,IZFPOS2), ZT3D(:,:,:,IZFNEG1), ZT3D(:,:,:,IZFNEG2), &
                            ZT3D(:,:,:,IZBPOS1), ZT3D(:,:,:,IZBPOS2), ZT3D(:,:,:,IZBNEG1), ZT3D(:,:,:,IZBNEG2), &
                            ZT3D(:,:,:,IZOMP1),  ZT3D(:,:,:,IZOMP2),  ZT3D(:,:,:,IZOMN1),  ZT3D(:,:,:,IZOMN2) )