diff --git a/src/LIB/SURCOUCHE/src/mode_exchange2_ll.f90 b/src/LIB/SURCOUCHE/src/mode_exchange2_ll.f90
index 47c074af7217273741c293c21c3069022d681086..bae778a2d0c21bfc909dcc840f2d103806388767 100644
--- a/src/LIB/SURCOUCHE/src/mode_exchange2_ll.f90
+++ b/src/LIB/SURCOUCHE/src/mode_exchange2_ll.f90
@@ -195,12 +195,15 @@
 !!    Author
 !!    ------
 !     P. Kloos                 * CERFACS - CNRM *
+!!    J.Escobar 21/03/014: add mppd_check for all updated field
 ! 
 !-------------------------------------------------------------------------------!
 !*       0.    DECLARATIONS
 !
   USE MODD_ARGSLIST_ll, ONLY : LIST_ll, HALO2LIST_ll
   USE MODD_VAR_ll, ONLY : TCRRT_COMDATA, NHALO2_COM
+!
+  USE MODE_MPPDB
 !
 !*       0.1   declarations of arguments
 !
@@ -209,6 +212,8 @@
   TYPE(HALO2LIST_ll), POINTER :: TPLISTHALO2 ! pointer to the list of
                                              ! halo2 to be received
   INTEGER                     :: KINFO       ! return status
+!
+  TYPE(LIST_ll), POINTER :: TZFIELD
 !
 !-------------------------------------------------------------------------------
 !
@@ -226,6 +231,20 @@
    CALL COPY_CRSPD2(TCRRT_COMDATA%TSEND_HALO2, TCRRT_COMDATA%TRECV_HALO2, &
                     TPLIST, TPLISTHALO2, KINFO)
 !
+!JUAN MPP_CHECK2D/3D
+!
+   IF (MPPDB_INITIALIZED) THEN
+      TZFIELD => TPLIST
+      DO WHILE (ASSOCIATED(TZFIELD))
+         IF (TZFIELD%L2D) THEN
+            CALL MPPDB_CHECK2D(TZFIELD%ARRAY2D,"UPDATE_HALO2_ll",PRECISION)
+         ELSEIF(TZFIELD%L3D) THEN
+            CALL MPPDB_CHECK3D(TZFIELD%ARRAY3D,"UPDATE_HALO2_ll",PRECISION)
+         END IF
+         TZFIELD => TZFIELD%NEXT
+      END DO
+   END IF
+!
 !----------------------------------------------------------------------
 !
       END SUBROUTINE UPDATE_HALO2_ll
diff --git a/src/LIB/SURCOUCHE/src/mode_exchange_ll.f90 b/src/LIB/SURCOUCHE/src/mode_exchange_ll.f90
index a730cabae76be7289205c14335d219835b3d0c7b..67d1be6469bf60f958199a8991d91c1b0f9067e7 100644
--- a/src/LIB/SURCOUCHE/src/mode_exchange_ll.f90
+++ b/src/LIB/SURCOUCHE/src/mode_exchange_ll.f90
@@ -138,6 +138,7 @@
 !     Juan     19/08/2005: distinction Halo NORD/SUD & EST/WEST
 !                        + modification INTENT -> INTENT(INOUT)
 !     J.Escobar 13/11/2008: correction on size of buffer(IBUFFSIZE) in MPI_RECV
+!!    J.Escobar 21/03/014: add mppd_check for all updated field
 !
 !-------------------------------------------------------------------------------
 !
@@ -147,6 +148,9 @@
   USE MODD_VAR_ll, ONLY : NHALO_COM, TCRRT_COMDATA
 !  USE MODE_ARGSLIST_ll
 !  USE MODD_STRUCTURE_ll, ONLY : CRSPD_ll
+!
+  USE MODE_MPPDB
+!
 !
 !*       0.1   declarations of arguments
 !
@@ -154,6 +158,7 @@
   INTEGER                :: KINFO  ! return status
 !
 !*       0.2   declarations of local variables
+  TYPE(LIST_ll), POINTER :: TZFIELD
 !
 !-------------------------------------------------------------------------------
 !
@@ -169,6 +174,20 @@
   CALL COPY_CRSPD(TCRRT_COMDATA%TSEND_HALO1, TCRRT_COMDATA%TRECV_HALO1, &
                   TPLIST, TPLIST, KINFO)
 !
+!JUAN MPP_CHECK2D/3D
+!
+  IF (MPPDB_INITIALIZED) THEN
+     TZFIELD => TPLIST
+     DO WHILE (ASSOCIATED(TZFIELD))
+        IF (TZFIELD%L2D) THEN
+           CALL MPPDB_CHECK2D(TZFIELD%ARRAY2D,"UPDATE_HALO_ll",PRECISION)
+        ELSEIF(TZFIELD%L3D) THEN
+           CALL MPPDB_CHECK3D(TZFIELD%ARRAY3D,"UPDATE_HALO_ll",PRECISION)
+        END IF
+        TZFIELD => TZFIELD%NEXT
+     END DO
+  END IF
+!
 !-------------------------------------------------------------------------------
 !
       END SUBROUTINE UPDATE_HALO_ll
@@ -1513,6 +1532,8 @@ INTEGER                                               :: NB_REQ
 !
   USE MODD_ARGSLIST_ll, ONLY : LIST_ll
   USE MODD_STRUCTURE_ll, ONLY : ZONE_ll
+!
+  USE MODE_MPPDB
 !
   IMPLICIT NONE
 !
diff --git a/src/MNH/advec_4th_order_aux.f90 b/src/MNH/advec_4th_order_aux.f90
index 37772d2843c6a305c55b5406f90980a55da54914..9da1b685187d1ed71f69670f5b10840cd969db92 100644
--- a/src/MNH/advec_4th_order_aux.f90
+++ b/src/MNH/advec_4th_order_aux.f90
@@ -103,6 +103,8 @@ END MODULE MODI_ADVEC_4TH_ORDER_AUX
 !!    MODIFICATIONS
 !!    -------------
 !!      Original   25/10/05
+!!      Modif
+!!      J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test
 !!
 !-------------------------------------------------------------------------------
 !
@@ -165,21 +167,21 @@ SELECT CASE ( HLBCX(1) ) ! X direction LBC type: (1) for left side
 !
 CASE ('CYCL')          ! In that case one must have HLBCX(1) == HLBCX(2)
 !
-  IF(NHALO == 1) THEN
+!!$  IF(NHALO == 1) THEN
     IW=IIB+1
     IE=IIE
 !    IE=IIE-1
-  ELSE
-    CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
-    WRITE(ILUOUT,*) 'ERROR : 4th order advection in CYCLic case '
-    WRITE(ILUOUT,*) 'cannot be used with NHALO=2'
-    !callabortstop
-    CALL CLOSE_ll(CLUOUT0,IOSTAT=IRESP)
-    CALL ABORT
-    STOP
-!    IW=IIB
-!    IE=IIE
-  END IF  
+!!$  ELSE
+!!$    CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
+!!$    WRITE(ILUOUT,*) 'ERROR : 4th order advection in CYCLic case '
+!!$    WRITE(ILUOUT,*) 'cannot be used with NHALO=2'
+!!$    !callabortstop
+!!$    CALL CLOSE_ll(CLUOUT0,IOSTAT=IRESP)
+!!$    CALL ABORT
+!!$    STOP
+!!$!    IW=IIB
+!!$!    IE=IIE
+!!$  END IF  
 !
   IF(KGRID == 2) THEN
     IWF=IW-1
@@ -224,13 +226,14 @@ CASE ('OPEN','WALL','NEST')
       IW=IIB+1
     END IF
   ELSE
-    IF(NHALO == 1) THEN
+!!$    IF(NHALO == 1) THEN
       IW=IIB+1
-    ELSE
-      IW=IIB
-    ENDIF
+!!$    ELSE
+!!$      IW=IIB
+!!$    ENDIF
   ENDIF
-  IF (LEAST_ll() .OR. NHALO == 1) THEN
+!!$  IF (LEAST_ll() .OR. NHALO == 1) THEN
+  IF (LEAST_ll() ) THEN
 ! T. Maric
 !    IE=IIE-1 ! original
     IE=IIE
@@ -258,14 +261,16 @@ CASE ('OPEN','WALL','NEST')
     ! PMEANX(1,:,:) = PMEANX(IWF-1,:,:)
     ! extrapolate
     !PMEANX(1,:,:) = 0.5*(3.0*PFIELDT(1,:,:) - PFIELDT(2,:,:))
-  ELSEIF (NHALO == 1) THEN
+!!$  ELSE IF (NHALO == 1) THEN
+  ELSE
     PMEANX(IWF-1,:,:) = (7.0*( PFIELDT(IW-1,:,:)+PFIELDT(IW-2,:,:) ) -  &
                              ( PFIELDT(IW,:,:)+TPHALO2%WEST(:,:) ) )/12.0
   ENDIF
 !
   IF (LEAST_ll()) THEN
     PMEANX(IEF+1,:,:) = 0.5*( PFIELDT(IE+1,:,:)+PFIELDT(IE,:,:) )
-  ELSEIF (NHALO == 1) THEN
+!!$  ELSEIF (NHALO == 1) THEN
+  ELSE
     PMEANX(IEF+1,:,:) = (7.0*( PFIELDT(IE+1,:,:)+PFIELDT(IE,:,:) ) -  &
                          ( TPHALO2%EAST(:,:)+PFIELDT(IE-1,:,:) ) )/12.0
   ENDIF
@@ -289,21 +294,21 @@ IF ( .NOT. L2D ) THEN
   CASE ('CYCL')          ! In that case one must have HLBCY(1) == HLBCY(2)
 !
 !
-    IF(NHALO == 1) THEN
+!!$    IF(NHALO == 1) THEN
       IS=IJB+1
       IN=IJE
 !      IN=IJE-1
-    ELSE
-      CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
-      WRITE(ILUOUT,*) 'ERROR : 4th order advection in CYCLic case '
-      WRITE(ILUOUT,*) 'cannot be used with NHALO=2'
-!callabortstop
-      CALL CLOSE_ll(CLUOUT0,IOSTAT=IRESP)
-      CALL ABORT
-      STOP
-!      IS=IJB
-!      IN=IJE
-    END IF
+!!$    ELSE
+!!$      CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
+!!$      WRITE(ILUOUT,*) 'ERROR : 4th order advection in CYCLic case '
+!!$      WRITE(ILUOUT,*) 'cannot be used with NHALO=2'
+!!$!callabortstop
+!!$      CALL CLOSE_ll(CLUOUT0,IOSTAT=IRESP)
+!!$      CALL ABORT
+!!$      STOP
+!!$!      IS=IJB
+!!$!      IN=IJE
+!!$    END IF
 !
     IF(KGRID == 3) THEN
       ISF=IS-1
@@ -346,13 +351,14 @@ IF ( .NOT. L2D ) THEN
         IS=IJB+1
       END IF
     ELSE
-      IF(NHALO == 1) THEN
+!!$      IF(NHALO == 1) THEN
         IS=IJB+1
-      ELSE
-        IS=IJB
-      ENDIF
+!!$      ELSE
+!!$        IS=IJB
+!!$      ENDIF
     ENDIF
-    IF (LNORTH_ll() .OR. NHALO == 1) THEN
+!!$    IF (LNORTH_ll() .OR. NHALO == 1) THEN
+    IF (LNORTH_ll()) THEN
 ! T. Maric
 !      IN=IJE-1  ! original
       IN=IJE
@@ -376,7 +382,8 @@ IF ( .NOT. L2D ) THEN
       ! PMEANY(:,1,:) = PMEANY(:,ISF-1,:)
       ! extrapolate
       !PMEANY(:,1,:) = 0.5*(3.0*PFIELDT(:,1,:) - PFIELDT(:,2,:))
-    ELSEIF (NHALO == 1) THEN
+!!$    ELSEIF (NHALO == 1) THEN
+    ELSE
 !!$      PMEANY(:,ISF-1,:) = (7.0*( PFIELDT(:,IS,:)+PFIELDT(:,IS-1,:)) -  &
 !!$                          ( PFIELDT(:,IS+1,:)+TPHALO2%SOUTH(:,:) ))/12.0
        PMEANY(:,ISF-1,:) = (7.0*( PFIELDT(:,IS-1,:)+PFIELDT(:,IS-2,:)) -  &
@@ -385,7 +392,8 @@ IF ( .NOT. L2D ) THEN
 !
     IF (LNORTH_ll()) THEN
       PMEANY(:,INF+1,:) = 0.5*( PFIELDT(:,IN+1,:)+PFIELDT(:,IN,:) )
-    ELSEIF (NHALO == 1) THEN
+!!$    ELSEIF (NHALO == 1) THEN
+    ELSE
 !!$      PMEANY(:,INF+1,:) = (7.0*( PFIELDT(:,IN,:)+PFIELDT(:,IN-1,:)) -  &
 !!$                          ( TPHALO2%NORTH(:,:)+PFIELDT(:,IN-2,:) ))/12.0
        PMEANY(:,INF+1,:) = (7.0*( PFIELDT(:,IN+1,:)+PFIELDT(:,IN,:)) -  &
diff --git a/src/MNH/advec_weno_k_2_aux.f90 b/src/MNH/advec_weno_k_2_aux.f90
index 988bcc3fee81d67f37f11e71b78b27b2492a165f..38ca927732fd7838474743cee6c07431e98c9215 100644
--- a/src/MNH/advec_weno_k_2_aux.f90
+++ b/src/MNH/advec_weno_k_2_aux.f90
@@ -131,6 +131,7 @@ END MODULE MODI_ADVEC_WENO_K_2_AUX
 !!
 !!    MODIFICATIONS
 !!    -------------
+!!      J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test
 !!
 !-------------------------------------------------------------------------------
 !
@@ -222,16 +223,16 @@ SELECT CASE ( HLBCX(1) ) ! X direction LBC type: (1) for left side
 !
 CASE ('CYCL')          ! In that case one must have HLBCX(1) == HLBCX(2)
 !
-  IF(NHALO == 1) THEN
+!!$  IF(NHALO == 1) THEN
     IW=IIB
     IE=IIE
-  ELSE
-    CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
-    WRITE(ILUOUT,*) 'ERROR : 3rd order advection in CYCLic case '
-    WRITE(ILUOUT,*) 'cannot be used with NHALO=2'
-    CALL ABORT
-    STOP
-  END IF
+!!$  ELSE
+!!$    CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
+!!$    WRITE(ILUOUT,*) 'ERROR : 3rd order advection in CYCLic case '
+!!$    WRITE(ILUOUT,*) 'cannot be used with NHALO=2'
+!!$    CALL ABORT
+!!$    STOP
+!!$  END IF
 !
 ! r: many left cells in regard to 'i' cell for each stencil
 !
@@ -295,7 +296,8 @@ CASE ('OPEN','WALL','NEST')
   IF(LWEST_ll()) THEN
     PR(IW-1,:,:) = PSRC(IW-1,:,:) * (0.5+SIGN(0.5,PRUCT(IW-1,:,:))) + PSRC(IW,:,:) * (0.5-SIGN(0.5,PRUCT(IW-1,:,:)))
 !
-  ELSEIF (NHALO == 1) THEN
+!!$  ELSEIF (NHALO == 1) THEN
+  ELSE 
     ZFPOS1(IW-1,:,:) = 0.5 * (3.0*PSRC(IW-1,:,:) - TPHALO2%WEST(:,:))
     ZFPOS2(IW-1,:,:) = 0.5 * (PSRC(IW-1,    :,:) + PSRC(IW,:,:))
     ZBPOS1(IW-1,:,:) = (PSRC(IW-1,:,:) - TPHALO2%WEST(:,:))**2
@@ -321,7 +323,8 @@ CASE ('OPEN','WALL','NEST')
   IF(LEAST_ll()) THEN
     PR(IE,:,:) = PSRC(IE,:,:) * (0.5+SIGN(0.5,PRUCT(IE,:,:))) + PSRC(IE+1,:,:) * (0.5-SIGN(0.5,PRUCT(IE,:,:)))
 !
-  ELSEIF (NHALO == 1) THEN
+!!$  ELSEIF (NHALO == 1) THEN
+  ELSE
     ZFPOS1(IE,:,:) = 0.5 * (3.0*PSRC(IE,:,:) - PSRC(IE-1,:,:))
     ZFPOS2(IE,:,:) = 0.5 * (PSRC(IE,    :,:) + PSRC(IE+1,:,:)) 
     ZBPOS1(IE,:,:) = (PSRC(IE,:,:) - PSRC(IE-1,:,:))**2
@@ -482,16 +485,16 @@ SELECT CASE ( HLBCX(1) ) ! X direction LBC type: (1) for left side
 !
 CASE ('CYCL')          ! In that case one must have HLBCX(1) == HLBCX(2)
 !
-  IF(NHALO == 1) THEN
+!!$  IF(NHALO == 1) THEN
     IW=IIB
     IE=IIE
-  ELSE
-    CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
-    WRITE(ILUOUT,*) 'ERROR : 3rd order advection in CYCLic case '
-    WRITE(ILUOUT,*) 'cannot be used with NHALO=2'
-    CALL ABORT
-    STOP
-  END IF  
+!!$  ELSE
+!!$    CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
+!!$    WRITE(ILUOUT,*) 'ERROR : 3rd order advection in CYCLic case '
+!!$    WRITE(ILUOUT,*) 'cannot be used with NHALO=2'
+!!$    CALL ABORT
+!!$    STOP
+!!$  END IF  
 !
 ! intermediate fluxes for positive wind case
 !
@@ -554,7 +557,8 @@ CASE ('OPEN','WALL','NEST')
   IF(LWEST_ll()) THEN
     PR(IW,:,:) = PSRC(IW-1,:,:) * (0.5+SIGN(0.5,PRUCT(IW,:,:))) + PSRC(IW,:,:) * (0.5-SIGN(0.5,PRUCT(IW,:,:)))
 !
-  ELSEIF (NHALO == 1) THEN
+!!$  ELSEIF (NHALO == 1) THEN
+  ELSE
     ZFPOS1(IW,:,:) = 0.5 * (3.0*PSRC(IW-1, :,:) - TPHALO2%WEST(:,:))
     ZFPOS2(IW,:,:) = 0.5 * (PSRC(IW-1,     :,:) + PSRC(IW,     :,:))
     ZBPOS1(IW,:,:) = (PSRC(IW-1,:,:) - TPHALO2%WEST(:,:))**2
@@ -580,7 +584,8 @@ CASE ('OPEN','WALL','NEST')
   IF(LEAST_ll()) THEN
     PR(IE+1,:,:) = PSRC(IE,:,:) * (0.5+SIGN(0.5,PRUCT(IE+1,:,:))) + PSRC(IE+1,:,:) * (0.5-SIGN(0.5,PRUCT(IE+1,:,:)))
 !
-  ELSEIF (NHALO == 1) THEN
+!!$  ELSEIF (NHALO == 1) THEN
+  ELSE
     ZFPOS1(IE+1,:,:) = 0.5 * (3.0*PSRC(IE,:,:) - PSRC(IE-1,:,:))
     ZFPOS2(IE+1,:,:) = 0.5 * (PSRC(IE,    :,:) + PSRC(IE+1,:,:))
     ZBPOS1(IE+1,:,:) = (PSRC(IE,:,:) - PSRC(IE-1,:,:))**2
@@ -742,16 +747,16 @@ SELECT CASE ( HLBCY(1) ) !
 !
 CASE ('CYCL')          ! In that case one must have HLBCY(1) == HLBCY(2)
 !
-  IF(NHALO == 1) THEN
+!!$  IF(NHALO == 1) THEN
     IS=IJB
     IN=IJE
-  ELSE
-    CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
-    WRITE(ILUOUT,*) 'ERROR : 4th order advection in CYCLic case '
-    WRITE(ILUOUT,*) 'cannot be used with NHALO=2'
-    CALL ABORT
-    STOP
-  END IF
+!!$  ELSE
+!!$    CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
+!!$    WRITE(ILUOUT,*) 'ERROR : 4th order advection in CYCLic case '
+!!$    WRITE(ILUOUT,*) 'cannot be used with NHALO=2'
+!!$    CALL ABORT
+!!$    STOP
+!!$  END IF
 !
 ! intermediate fluxes for positive wind case
 !
@@ -812,7 +817,8 @@ CASE ('OPEN','WALL','NEST')
   IF(LSOUTH_ll()) THEN
     PR(:,IS,:) = PSRC(:,IS-1,:) * (0.5+SIGN(0.5,PRVCT(:,IS,:))) + PSRC(:,IS,:) * (0.5-SIGN(0.5,PRVCT(:,IS,:)))
 !
-  ELSEIF (NHALO == 1) THEN
+!!$  ELSEIF (NHALO == 1) THEN
+  ELSE
     ZFPOS1(:,IS,:) = 0.5 * (3.0*PSRC(:,IS-1,:) - TPHALO2%SOUTH(:,:))
     ZFPOS2(:,IS,:) = 0.5 * (PSRC(:,IS-1,:) + PSRC(:,IS,:))
     ZBPOS1(:,IS,:) = (PSRC(:,IS-1,:) - TPHALO2%SOUTH(:,:))**2
@@ -838,7 +844,8 @@ CASE ('OPEN','WALL','NEST')
   IF(LNORTH_ll()) THEN
     PR(:,IN+1,:) = PSRC(:,IN,:) * (0.5+SIGN(0.5,PRVCT(:,IN+1,:))) + PSRC(:,IN+1,:) * (0.5-SIGN(0.5,PRVCT(:,IN+1,:)))
 !
-  ELSEIF (NHALO == 1) THEN
+!!$  ELSEIF (NHALO == 1) THEN
+  ELSE
     ZFPOS1(:,IN+1,:) = 0.5 * (3.0*PSRC(:,IN,:) - PSRC(:,IN-1,:))
     ZFPOS2(:,IN+1,:) = 0.5 * (PSRC(:,IN,    :) + PSRC(:,IN+1,:))
     ZBPOS1(:,IN+1,:) = (PSRC(:,IN,:) - PSRC(:,IN-1,:))**2
@@ -996,16 +1003,16 @@ SELECT CASE ( HLBCY(1) ) ! Y direction LBC type: (1) for left side
 !
 CASE ('CYCL')          ! In that case one must have HLBCX(1) == HLBCX(2)
 !
-  IF(NHALO == 1) THEN
+!!$  IF(NHALO == 1) THEN
     IS=IJB
     IN=IJE
-  ELSE
-    CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
-    WRITE(ILUOUT,*) 'ERROR : 4th order advection in CYCLic case '
-    WRITE(ILUOUT,*) 'cannot be used with NHALO=2'
-    CALL ABORT
-    STOP
-  END IF
+!!$  ELSE
+!!$    CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
+!!$    WRITE(ILUOUT,*) 'ERROR : 4th order advection in CYCLic case '
+!!$    WRITE(ILUOUT,*) 'cannot be used with NHALO=2'
+!!$    CALL ABORT
+!!$    STOP
+!!$  END IF
 !
 ! intermediate fluxes for positive wind case
 !
@@ -1064,7 +1071,8 @@ CASE ('OPEN','WALL','NEST')
   IF(LSOUTH_ll()) THEN
     PR(:,IS-1,:) = PSRC(:,IS-1,:) * (0.5+SIGN(0.5,PRVCT(:,IS-1,:))) + PSRC(:,IS,:) * (0.5-SIGN(0.5,PRVCT(:,IS-1,:)))
 !
-  ELSEIF (NHALO == 1) THEN
+!!$  ELSEIF (NHALO == 1) THEN
+  ELSE
     ZFPOS1(:,IS-1,:) = 0.5 * (3.0*PSRC(:,IS-1,:) - TPHALO2%SOUTH(:,:))
     ZFPOS2(:,IS-1,:) = 0.5 * (PSRC(:,IS-1,    :) + PSRC(:,IS,:))
     ZBPOS1(:,IS-1,:) = (PSRC(:,IS-1,:) - TPHALO2%SOUTH(:,:))**2
@@ -1090,7 +1098,8 @@ CASE ('OPEN','WALL','NEST')
   IF(LNORTH_ll()) THEN
     PR(:,IN,:) = PSRC(:,IN,:) * (0.5+SIGN(0.5,PRVCT(:,IN,:))) + PSRC(:,IN+1,:) * (0.5-SIGN(0.5,PRVCT(:,IN,:)))
 !
-  ELSEIF (NHALO == 1) THEN
+!!$  ELSEIF (NHALO == 1) THEN
+  ELSE
     ZFPOS1(:,IN,:) = 0.5 * (3.0*PSRC(:,IN,:) - PSRC(:,IN-1,:))
     ZFPOS2(:,IN,:) = 0.5 * (PSRC(:,IN,    :) + PSRC(:,IN+1,:))
     ZBPOS1(:,IN,:) = (PSRC(:,IN,  :) - PSRC(:,IN-1,:))**2
diff --git a/src/MNH/advection_uvw.f90 b/src/MNH/advection_uvw.f90
index 466266f103fba9f5d9183e89636e109f4253eb1b..845038e1964876390439191973152f3bf348ccc2 100644
--- a/src/MNH/advection_uvw.f90
+++ b/src/MNH/advection_uvw.f90
@@ -88,6 +88,7 @@ END MODULE MODI_ADVECTION_UVW
 !!                  25/10/05 (JP Pinty)              4th order scheme
 !!                  04/2011  (V. Masson & C. Lac)    splits the routine and adds
 !!                                                   time splitting
+!!                  J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test
 !!
 !-------------------------------------------------------------------------------
 !
@@ -205,23 +206,23 @@ ZRVT = PVT(:,:,:) * ZMYM_RHODJ
 ZRWT = PWT(:,:,:) * ZMZM_RHODJ
 !
 NULLIFY(TZFIELD_ll)
-IF(NHALO == 1) THEN
+!!$IF(NHALO == 1) THEN
   CALL ADD3DFIELD_ll(TZFIELD_ll, ZRUT)
   CALL ADD3DFIELD_ll(TZFIELD_ll, ZRVT)
   CALL UPDATE_HALO_ll(TZFIELD_ll,IINFO_ll)
   CALL CLEANLIST_ll(TZFIELD_ll)
-END IF
+!!$END IF
 !
 CALL CONTRAV (HLBCX,HLBCY,ZRUT,ZRVT,ZRWT,PDXX,PDYY,PDZZ,PDZX,PDZY,ZRUCT,ZRVCT,ZRWCT,4)
 !
 NULLIFY(TZFIELDS_ll)
-IF(NHALO == 1) THEN
+!!$IF(NHALO == 1) THEN
   CALL ADD3DFIELD_ll(TZFIELDS_ll, ZRWCT)
   CALL ADD3DFIELD_ll(TZFIELDS_ll, ZRUCT)
   CALL ADD3DFIELD_ll(TZFIELDS_ll, ZRVCT)
   CALL UPDATE_HALO_ll(TZFIELDS_ll,IINFO_ll)
   CALL CLEANLIST_ll(TZFIELDS_ll)
-END IF
+!!$END IF
 !
 !-------------------------------------------------------------------------------
 !
@@ -241,13 +242,13 @@ CALL ADV_BOUNDARIES (HLBCX, HLBCY, ZRWS_OTHER)
 ZRWS_OTHER(:,:,IKE+1) = 0.
 
 NULLIFY(TZFIELDS0_ll)
-IF(NHALO == 1) THEN
+!!$IF(NHALO == 1) THEN
   CALL ADD3DFIELD_ll(TZFIELDS0_ll, ZRUS_OTHER)
   CALL ADD3DFIELD_ll(TZFIELDS0_ll, ZRVS_OTHER)
   CALL ADD3DFIELD_ll(TZFIELDS0_ll, ZRWS_OTHER)
   CALL UPDATE_HALO_ll(TZFIELDS0_ll,IINFO_ll)
   CALL CLEANLIST_ll(TZFIELDS0_ll)
-END IF
+!!$END IF
 !
 !
 !
diff --git a/src/MNH/advection_uvw_cen.f90 b/src/MNH/advection_uvw_cen.f90
index 377da7e5590b8b33a599970ce0ee3180f1084c3b..7b4b7e9fe784ad69890bf133c8a2a5b570dfde1c 100644
--- a/src/MNH/advection_uvw_cen.f90
+++ b/src/MNH/advection_uvw_cen.f90
@@ -86,6 +86,8 @@ END MODULE MODI_ADVECTION_UVW_CEN
 !!    MODIFICATIONS
 !!    -------------
 !!      Original    01/2013  (from ADVECTION routine)
+!!      Modif
+!!      J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test
 !
 !!
 !-------------------------------------------------------------------------------
@@ -196,13 +198,13 @@ END IF
 
 !
 NULLIFY(TZFIELDS_ll)
-IF(NHALO == 1) THEN
+!!$IF(NHALO == 1) THEN
   CALL ADD3DFIELD_ll(TZFIELDS_ll, ZRWCT)
   CALL ADD3DFIELD_ll(TZFIELDS_ll, ZRUCT)
   CALL ADD3DFIELD_ll(TZFIELDS_ll, ZRVCT)
   CALL UPDATE_HALO_ll(TZFIELDS_ll,IINFO_ll)
   CALL CLEANLIST_ll(TZFIELDS_ll)
-END IF
+!!$END IF
 !
 !-------------------------------------------------------------------------------
 !
diff --git a/src/MNH/advecuvw_4th.f90 b/src/MNH/advecuvw_4th.f90
index c730b259fd6e52974d0f54cbdf5cb6e02ea6c399..468515c425232c47bac036f26b642220c6ff9968 100644
--- a/src/MNH/advecuvw_4th.f90
+++ b/src/MNH/advecuvw_4th.f90
@@ -103,6 +103,8 @@ END MODULE MODI_ADVECUVW_4TH
 !!    MODIFICATIONS
 !!    -------------
 !!      Original   25/10/05
+!!      Modif
+!!      J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test
 !!
 !-------------------------------------------------------------------------------
 !
@@ -164,13 +166,13 @@ IKU=SIZE(XZHAT)
 !               --------------------------------------------------
 !
 IGRID = 2
-IF(NHALO == 1) THEN
+!!$IF(NHALO == 1) THEN
   TZHALO2LIST => TPHALO2LIST
   CALL ADVEC_4TH_ORDER_ALGO(HLBCX, HLBCY, PUT, IGRID, ZMEANX, ZMEANY, &
                             TZHALO2LIST%HALO2 )
-ELSE
-  CALL ADVEC_4TH_ORDER_ALGO(HLBCX, HLBCY, PUT, IGRID, ZMEANX, ZMEANY)
-ENDIF
+!!$ELSE
+!!$  CALL ADVEC_4TH_ORDER_ALGO(HLBCX, HLBCY, PUT, IGRID, ZMEANX, ZMEANY)
+!!$ENDIF
 !
 PRUS(:,:,:) = PRUS(:,:,:)                          &
              -DXM( MXF(PRUCT(:,:,:))*ZMEANX(:,:,:) ) 
@@ -183,13 +185,13 @@ PRUS(:,:,:) = PRUS(:,:,:)                             &
 !
 !
 IGRID = 3
-IF(NHALO == 1) THEN
+!!$IF(NHALO == 1) THEN
   TZHALO2LIST => TZHALO2LIST%NEXT
   CALL ADVEC_4TH_ORDER_ALGO(HLBCX, HLBCY, PVT, IGRID, ZMEANX, ZMEANY, &
                             TZHALO2LIST%HALO2 )
-ELSE
-  CALL ADVEC_4TH_ORDER_ALGO(HLBCX, HLBCY, PVT, IGRID, ZMEANX, ZMEANY)
-ENDIF
+!!$ELSE
+!!$  CALL ADVEC_4TH_ORDER_ALGO(HLBCX, HLBCY, PVT, IGRID, ZMEANX, ZMEANY)
+!!$ENDIF
 !
 PRVS(:,:,:) = PRVS(:,:,:)                          &
              -DXF( MYM(PRUCT(:,:,:))*ZMEANX(:,:,:) ) 
@@ -203,13 +205,13 @@ PRVS(:,:,:) = PRVS(:,:,:)                             &
 !
 IGRID = 4
 !
-IF(NHALO == 1) THEN
+!!$IF(NHALO == 1) THEN
   TZHALO2LIST => TZHALO2LIST%NEXT
   CALL ADVEC_4TH_ORDER_ALGO(HLBCX, HLBCY, PWT, IGRID, ZMEANX, ZMEANY, &
                             TZHALO2LIST%HALO2 )
-ELSE
-  CALL ADVEC_4TH_ORDER_ALGO(HLBCX, HLBCY, PWT, IGRID, ZMEANX, ZMEANY)
-ENDIF
+!!$ELSE
+!!$  CALL ADVEC_4TH_ORDER_ALGO(HLBCX, HLBCY, PWT, IGRID, ZMEANX, ZMEANY)
+!!$ENDIF
 !
 PRWS(:,:,:) = PRWS(:,:,:)                          &
              -DXF( MZM(1,IKU,1,PRUCT(:,:,:))*ZMEANX(:,:,:) ) 
diff --git a/src/MNH/advecuvw_rk.f90 b/src/MNH/advecuvw_rk.f90
index c642994a9887af6287925d192d7a3e49d563b06a..df64c1fd13de01d598bf55b41dce36029ef6e15a 100644
--- a/src/MNH/advecuvw_rk.f90
+++ b/src/MNH/advecuvw_rk.f90
@@ -100,6 +100,7 @@ END MODULE MODI_ADVECUVW_RK
 !!                  08/06    (T.Maric)               PPM scheme
 !!                  04/2011  (V. Masson & C. Lac)    splits the routine and adds
 !!                                                   time splitting
+!!                  J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test
 !!
 !-------------------------------------------------------------------------------
 !
@@ -259,16 +260,17 @@ ZV = PV
 ZW = PW
 !
 NULLIFY(TZFIELDMT_ll)
-IF( NHALO==1 ) THEN      
+!!$IF( NHALO==1 ) THEN      
 !
    CALL ADD3DFIELD_ll(TZFIELDMT_ll, ZUT)
    CALL ADD3DFIELD_ll(TZFIELDMT_ll, ZVT)
    CALL ADD3DFIELD_ll(TZFIELDMT_ll, ZWT)
 !
    INBVAR = 3
-   IF( NHALO==1 ) CALL INIT_HALO2_ll(TZHALO2MT_ll,INBVAR,SIZE(PUT,1),SIZE(PUT,2),SIZE(PWT,3))
+!!$   IF( NHALO==1 ) 
+   CALL INIT_HALO2_ll(TZHALO2MT_ll,INBVAR,SIZE(PUT,1),SIZE(PUT,2),SIZE(PWT,3))
 !
- END IF
+!!$ END IF
 !
 ZRUS = 0.
 ZRVS = 0.
@@ -286,10 +288,10 @@ ZRWS = 0.
       CALL ADV_BOUNDARIES (HLBCX, HLBCY, ZWT, PWT, 'W' )
       ZW (:,:,IKE+1 ) = 0.
      !JUAN
-     IF ( NHALO == 1 ) THEN   
+!!$     IF ( NHALO == 1 ) THEN   
         CALL UPDATE_HALO_ll(TZFIELDMT_ll,IINFO_ll)        
         CALL UPDATE_HALO2_ll(TZFIELDMT_ll, TZHALO2MT_ll, IINFO_ll)
-     ENDIF
+!!$     ENDIF
      !JUAN
 !
 !*       4.     Advection with WENO
@@ -304,13 +306,13 @@ ZRWS = 0.
 ! ==> verifier si c'est utile !
 !
      NULLIFY(TZFIELDS4_ll)
-     IF(NHALO == 1) THEN
+!!$     IF(NHALO == 1) THEN
           CALL ADD3DFIELD_ll(TZFIELDS4_ll, ZRUS(:,:,:,JS))
           CALL ADD3DFIELD_ll(TZFIELDS4_ll, ZRVS(:,:,:,JS))
           CALL ADD3DFIELD_ll(TZFIELDS4_ll, ZRWS(:,:,:,JS))
           CALL UPDATE_HALO_ll(TZFIELDS4_ll,IINFO_ll)
           CALL CLEANLIST_ll(TZFIELDS4_ll)
-     END IF
+!!$     END IF
 
     IF ( JS /= ISPL ) THEN
 !
diff --git a/src/MNH/advecuvw_weno_k.f90 b/src/MNH/advecuvw_weno_k.f90
index 88ea0c1fdc74a008b4acaf6dc5685317c718b3ad..edd69512758d444263d3d279dca9102bc6ce2f86 100644
--- a/src/MNH/advecuvw_weno_k.f90
+++ b/src/MNH/advecuvw_weno_k.f90
@@ -45,6 +45,7 @@ END MODULE MODI_ADVECUVW_WENO_K
 !!
 !!    MODIFICATIONS
 !!    ------------- 
+!!      J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test
 !!
 !-------------------------------------------------------------------------------
 !
@@ -62,6 +63,8 @@ USE MODI_ADVEC_WENO_K_1_AUX
 USE MODI_ADVEC_WENO_K_2_AUX
 USE MODI_ADVEC_WENO_K_3_AUX
 !
+USE MODD_CONF,        ONLY : NHALO
+!
 IMPLICIT NONE
 !
 !*       0.1   Declarations of dummy arguments :
@@ -134,21 +137,21 @@ CASE(3)
 ! U component
 !
   ZWORK = MXF(PRUCT)
-  IF(NHALO == 1) THEN
+!!$  IF(NHALO == 1) THEN
     CALL ADVEC_WENO_K_2_UX(HLBCX, PUT, ZWORK, ZMEAN, TZHALO2_UT%HALO2)
-  ELSE
-    CALL ADVEC_WENO_K_2_UX(HLBCX, PUT, ZWORK, ZMEAN)
-  ENDIF
+!!$  ELSE
+!!$    CALL ADVEC_WENO_K_2_UX(HLBCX, PUT, ZWORK, ZMEAN)
+!!$  ENDIF
   PRUS = PRUS - DXM(ZMEAN)
   
 !   
   IF (.NOT.L2D) THEN
     ZWORK = MXM(PRVCT)
-    IF(NHALO == 1) THEN
+!!$    IF(NHALO == 1) THEN
       CALL ADVEC_WENO_K_2_MY(HLBCY, PUT, ZWORK, ZMEAN, TZHALO2_UT%HALO2)
-    ELSE
-      CALL ADVEC_WENO_K_2_MY(HLBCY, PUT, ZWORK, ZMEAN)
-    ENDIF
+!!$    ELSE
+!!$      CALL ADVEC_WENO_K_2_MY(HLBCY, PUT, ZWORK, ZMEAN)
+!!$    ENDIF
     PRUS = PRUS - DYF(ZMEAN)
   END IF
 !
@@ -158,19 +161,19 @@ CASE(3)
 !
   IF (.NOT.L2D) THEN
     ZWORK = MYM(PRUCT)
-    IF(NHALO == 1) THEN
+!!$    IF(NHALO == 1) THEN
       CALL ADVEC_WENO_K_2_MX(HLBCX, PVT, ZWORK, ZMEAN, TZHALO2_VT%HALO2)
-    ELSE
-      CALL ADVEC_WENO_K_2_MX(HLBCX, PVT, ZWORK, ZMEAN)
-    ENDIF
+!!$    ELSE
+!!$      CALL ADVEC_WENO_K_2_MX(HLBCX, PVT, ZWORK, ZMEAN)
+!!$    ENDIF
     PRVS = PRVS - DXF(ZMEAN)
 !   
     ZWORK = MYF(PRVCT)
-    IF(NHALO == 1) THEN
+!!$    IF(NHALO == 1) THEN
       CALL ADVEC_WENO_K_2_VY(HLBCY, PVT, ZWORK, ZMEAN, TZHALO2_VT%HALO2)
-    ELSE
-      CALL ADVEC_WENO_K_2_VY(HLBCY, PVT, ZWORK, ZMEAN)
-    ENDIF
+!!$    ELSE
+!!$      CALL ADVEC_WENO_K_2_VY(HLBCY, PVT, ZWORK, ZMEAN)
+!!$    ENDIF
     PRVS = PRVS - DYM(ZMEAN)
 !
     PRVS = PRVS - DZF(1,IKU,1,WENO_K_2_MZ(PVT, MYM(PRWCT)))
@@ -179,20 +182,20 @@ CASE(3)
 ! W component
 !
   ZWORK = MZM(1,IKU,1,PRUCT)
-  IF(NHALO == 1) THEN
+!!$  IF(NHALO == 1) THEN
     CALL ADVEC_WENO_K_2_MX(HLBCX, PWT, ZWORK, ZMEAN, TZHALO2_WT%HALO2)
-  ELSE
-    CALL ADVEC_WENO_K_2_MX(HLBCX, PWT, ZWORK, ZMEAN)
-  ENDIF
+!!$  ELSE
+!!$    CALL ADVEC_WENO_K_2_MX(HLBCX, PWT, ZWORK, ZMEAN)
+!!$  ENDIF
   PRWS = PRWS - DXF(ZMEAN)
 !
   IF (.NOT.L2D) THEN
     ZWORK = MZM(1,IKU,1,PRVCT)
-    IF(NHALO == 1) THEN
+!!$    IF(NHALO == 1) THEN
       CALL ADVEC_WENO_K_2_MY(HLBCY, PWT, ZWORK, ZMEAN, TZHALO2_WT%HALO2)
-    ELSE
-      CALL ADVEC_WENO_K_2_MY(HLBCY, PWT, ZWORK, ZMEAN)
-    ENDIF
+!!$    ELSE
+!!$      CALL ADVEC_WENO_K_2_MY(HLBCY, PWT, ZWORK, ZMEAN)
+!!$    ENDIF
     PRWS = PRWS - DYF(ZMEAN)
   END IF
 !
@@ -204,20 +207,20 @@ CASE(5)
 ! U component
 !
   ZWORK = MXF(PRUCT)
-  IF(NHALO == 1) THEN
+!!$  IF(NHALO == 1) THEN
     CALL ADVEC_WENO_K_3_UX(HLBCX, PUT, ZWORK, ZMEAN, TZHALO2_UT%HALO2)
-  ELSE
-    CALL ADVEC_WENO_K_3_UX(HLBCX, PUT, ZWORK, ZMEAN)
-  ENDIF
+!!$  ELSE
+!!$    CALL ADVEC_WENO_K_3_UX(HLBCX, PUT, ZWORK, ZMEAN)
+!!$  ENDIF
   PRUS = PRUS - DXM(ZMEAN)
 !   
   IF (.NOT.L2D) THEN
     ZWORK = MXM(PRVCT)
-    IF(NHALO == 1) THEN
+!!$    IF(NHALO == 1) THEN
       CALL ADVEC_WENO_K_3_MY(HLBCY, PUT, ZWORK, ZMEAN, TZHALO2_UT%HALO2)
-    ELSE
-      CALL ADVEC_WENO_K_3_MY(HLBCY, PUT, ZWORK, ZMEAN)
-    ENDIF
+!!$    ELSE
+!!$      CALL ADVEC_WENO_K_3_MY(HLBCY, PUT, ZWORK, ZMEAN)
+!!$    ENDIF
     PRUS = PRUS - DYM(ZMEAN)
   END IF
 !
@@ -227,19 +230,19 @@ CASE(5)
 !
   IF (.NOT.L2D) THEN
     ZWORK = MYM(PRUCT)
-    IF(NHALO == 1) THEN
+!!$    IF(NHALO == 1) THEN
       CALL ADVEC_WENO_K_3_MX(HLBCX, PVT, ZWORK, ZMEAN, TZHALO2_VT%HALO2)
-    ELSE
-      CALL ADVEC_WENO_K_3_MX(HLBCX, PVT, ZWORK, ZMEAN)
-    ENDIF
+!!$    ELSE
+!!$      CALL ADVEC_WENO_K_3_MX(HLBCX, PVT, ZWORK, ZMEAN)
+!!$    ENDIF
     PRVS = PRVS - DXF(ZMEAN)
 !   
     ZWORK = MYF(PRVCT)
-    IF(NHALO == 1) THEN
+!!$    IF(NHALO == 1) THEN
       CALL ADVEC_WENO_K_3_VY(HLBCY, PVT, ZWORK, ZMEAN, TZHALO2_VT%HALO2)
-    ELSE
-      CALL ADVEC_WENO_K_3_VY(HLBCY, PVT, ZWORK, ZMEAN)
-    ENDIF
+!!$    ELSE
+!!$      CALL ADVEC_WENO_K_3_VY(HLBCY, PVT, ZWORK, ZMEAN)
+!!$    ENDIF
     PRVS = PRVS - DYM(ZMEAN)
 !
     PRVS = PRVS - DZF(1,IKU,1,WENO_K_3_MZ(PVT, MYM(PRWCT)))
@@ -248,20 +251,20 @@ CASE(5)
 ! W component
 !
   ZWORK = MZM(1,IKU,1,PRUCT)
-  IF(NHALO == 1) THEN
+!!$  IF(NHALO == 1) THEN
     CALL ADVEC_WENO_K_3_MX(HLBCX, PWT, ZWORK, ZMEAN, TZHALO2_WT%HALO2)
-  ELSE
-    CALL ADVEC_WENO_K_3_MX(HLBCX, PWT, ZWORK, ZMEAN)
-  ENDIF
+!!$  ELSE
+!!$    CALL ADVEC_WENO_K_3_MX(HLBCX, PWT, ZWORK, ZMEAN)
+!!$  ENDIF
   PRWS = PRWS - DXF(ZMEAN)
 !
   IF (.NOT.L2D) THEN
     ZWORK = MZM(1,IKU,1,PRVCT)
-    IF(NHALO == 1) THEN
+!!$    IF(NHALO == 1) THEN
       CALL ADVEC_WENO_K_3_MY(HLBCY, PWT, ZWORK, ZMEAN, TZHALO2_WT%HALO2)
-    ELSE
-      CALL ADVEC_WENO_K_3_MY(HLBCY, PWT, ZWORK, ZMEAN)
-    ENDIF
+!!$    ELSE
+!!$      CALL ADVEC_WENO_K_3_MY(HLBCY, PWT, ZWORK, ZMEAN)
+!!$    ENDIF
     PRWS = PRWS - DYF(ZMEAN)
   END IF
 !
diff --git a/src/MNH/contrav.f90 b/src/MNH/contrav.f90
index 94bb5066ebef1f9fc91bbf570f052550e465f79a..bc28c4906bfc8bcaa5271a228b3cdcbf80649897 100644
--- a/src/MNH/contrav.f90
+++ b/src/MNH/contrav.f90
@@ -104,6 +104,7 @@ END MODULE MODI_CONTRAV
 !!      Corrections 17/10/94 (by J.P. Lafore) WC modified for w-advection
 !!      Corrections 19/01/11 (by J.P. Pinty) WC 4th order
 !!      Corrections 28/03/11 (by V.Masson) // of WC 4th order
+!!      J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test
 !----------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -118,6 +119,8 @@ USE MODE_ll
 USE MODI_SHUMAN
 USE MODI_GET_HALO
 !
+USE MODE_MPPDB
+!
 IMPLICIT NONE
 !
 !*       0.1   declarations of arguments    
@@ -160,6 +163,8 @@ REAL          :: XPRECISION
 !*       1.    Compute the horizontal contravariant components
 !              -----------------------------------------------
 !
+CALL MPPDB_CHECK3DM("contrav big ::PRU/V/WT",PRECISION,PRUT,PRVT,PRWT)                    
+!
 IIU= SIZE(PDXX,1)
 IJU= SIZE(PDXX,2)
 IKU= SIZE(PDXX,3)
@@ -180,7 +185,7 @@ IF (KADV_ORDER == 4 ) THEN
   CALL ADD3DFIELD_ll(TZFIELD_V, PRVCT)
   CALL UPDATE_HALO_ll(TZFIELD_U,IINFO_ll)
   CALL UPDATE_HALO_ll(TZFIELD_V,IINFO_ll)
- IF( NHALO==1 ) THEN 
+!!$ IF( NHALO==1 ) THEN 
   NULLIFY(TZFIELD_DZX)
   NULLIFY(TZFIELD_DZY)
   CALL ADD3DFIELD_ll(TZFIELD_DZX, PDZX)
@@ -197,7 +202,7 @@ IF (KADV_ORDER == 4 ) THEN
   CALL UPDATE_HALO2_ll(TZFIELD_V, TZHALO2_V, IINFO_ll)
   CALL UPDATE_HALO2_ll(TZFIELD_DZX, TZHALO2_DZX, IINFO_ll)
   CALL UPDATE_HALO2_ll(TZFIELD_DZY, TZHALO2_DZY, IINFO_ll)
- END IF
+!!$ END IF
  END IF
 END IF
 !
@@ -238,48 +243,48 @@ IF (KADV_ORDER == 2 ) THEN
 !
 ELSE IF (KADV_ORDER == 4 ) THEN
 !
-  IF(NHALO == 1) THEN
-   IF ( LWEST_ll() .AND. HLBCX(1)/='CYCL' ) THEN
-     IW=IIB+2 -1
-   ELSE
-     IW=IIB+1 -1
-   END IF
-   IE=IIE-1
-  ELSE
-   IF (LWEST_ll()) THEN
-     IW=IIB+1
-   ELSE
-     IW=IIB
-   END IF
-   IF (LEAST_ll() .AND. HLBCX(2)/='CYCL' ) THEN
-     IE=IIE-1
-   ELSE
-     IE=IIE
-   END IF
-  END IF
-!
-  IF(NHALO == 1) THEN
-   IF ( LSOUTH_ll() .AND. HLBCY(1)/='CYCL' ) THEN
-     IS=IJB+2 -1
-   ELSE
-     IS=IJB+1 -1
-   END IF
-   IN=IJE-1
-  ELSE
-   IF (LSOUTH_ll()) THEN
-     IS=IJB+1
-   ELSE
-     IS=IJB
-   END IF
-   IF (LNORTH_ll() .AND. HLBCY(2)/='CYCL' ) THEN
-     IN=IJE-1
-   ELSE
-     IN=IJE
-   END IF
-  END IF
-!
-!
-!*       3.1    interior of the processor subdomain
+!!$   IF (NHALO == 1) THEN
+      IF ( LWEST_ll() .AND. HLBCX(1)/='CYCL' ) THEN
+         IW=IIB+2 -1
+      ELSE
+         IW=IIB+1 -1
+      END IF
+      IE=IIE-1
+!!$   ELSE
+!!$      IF (LWEST_ll()) THEN
+!!$         IW=IIB+1
+!!$      ELSE
+!!$         IW=IIB
+!!$      END IF
+!!$      IF (LEAST_ll() .AND. HLBCX(2)/='CYCL' ) THEN
+!!$         IE=IIE-1
+!!$      ELSE
+!!$         IE=IIE
+!!$      END IF
+!!$   END IF
+   !
+!!$   IF(NHALO == 1) THEN
+      IF ( LSOUTH_ll() .AND. HLBCY(1)/='CYCL' ) THEN
+         IS=IJB+2 -1
+      ELSE
+         IS=IJB+1 -1
+      END IF
+      IN=IJE-1
+!!$   ELSE
+!!$      IF (LSOUTH_ll()) THEN
+!!$         IS=IJB+1
+!!$      ELSE
+!!$         IS=IJB
+!!$      END IF
+!!$      IF (LNORTH_ll() .AND. HLBCY(2)/='CYCL' ) THEN
+!!$         IN=IJE-1
+!!$      ELSE
+!!$         IN=IJE
+!!$      END IF
+!!$   END IF
+   !
+   !
+   !*       3.1    interior of the processor subdomain
 !
 !
    Z1(IW:IE,:,IKB:IKE+1)=                                               &
@@ -309,7 +314,7 @@ ELSE IF (KADV_ORDER == 4 ) THEN
 !
 !*       3.2    limits of the processor subdomain (inside the whole domain or in cyclic conditions)
 !
-  IF (NHALO==1) THEN
+!!$  IF (NHALO==1) THEN
 
    Z1(IIE,:,IKB:IKE+1)=                                               &
        7.0*( (PRUCT(IIE,:,IKB:IKE+1)+PRUCT(IIE,:,IKB-1:IKE)) &
@@ -334,7 +339,7 @@ ELSE IF (KADV_ORDER == 4 ) THEN
             *PDZY(:,IJE-1,IKB:IKE+1) *0.5 &
             +(TZHALO2_V%HALO2%NORTH(:,IKB:IKE+1)+TZHALO2_V%HALO2%NORTH(:,IKB-1:IKE)) &
             *TZHALO2_DZY%HALO2%NORTH(:,IKB:IKE+1) *0.5)/12.0
-  END IF
+!!$  END IF
 !
 !*       3.3    non-CYCLIC CASE IN THE X DIRECTION: 2nd order case
 !
@@ -381,6 +386,10 @@ ELSE IF (KADV_ORDER == 4 ) THEN
 !*       3.5    Vertical contyravariant wind
 !
 !
+!!$  CALL GET_HALO(Z1)
+!!$  CALL GET_HALO(Z2)
+!!$
+!!$  CALL MPPDB_CHECK3DM("contrav ::Z1/Z2/ PDZZ",PRECISION,Z1,Z2,PDZZ)                    
   PRWCT=0.             
   PRWCT(IIB:IIE,IJB:IJE,IKB:IKE+1) =                 &
      (   PRWT(IIB:IIE,IJB:IJE,IKB:IKE+1)            &
@@ -395,15 +404,16 @@ PRWCT(:,:,1) = - PRWCT(:,:,3)     ! Mirror hypothesis
 IF (KADV_ORDER == 4 ) THEN
   CALL CLEANLIST_ll(TZFIELD_U)
   CALL CLEANLIST_ll(TZFIELD_V)
-  IF (NHALO==1) THEN
+!!$  IF (NHALO==1) THEN
     CALL CLEANLIST_ll(TZFIELD_DZX)
     CALL CLEANLIST_ll(TZFIELD_DZY)
     CALL DEL_HALO2_ll(TZHALO2_U)
     CALL DEL_HALO2_ll(TZHALO2_V)
     CALL DEL_HALO2_ll(TZHALO2_DZX)
     CALL DEL_HALO2_ll(TZHALO2_DZY)
-  END IF
+!!$  END IF
 END IF
 !-----------------------------------------------------------------------
+CALL MPPDB_CHECK3DM("contrav end ::PRU/V/WCT",PRECISION,PRUCT,PRVCT,PRWCT)                    
 !
 END SUBROUTINE CONTRAV
diff --git a/src/MNH/fast_terms.f90 b/src/MNH/fast_terms.f90
index 5b319413d9b7df3d0fad7a19f4dbafc3440c1160..d13b5e8eb025b0f953eda59e26a915646f75206e 100644
--- a/src/MNH/fast_terms.f90
+++ b/src/MNH/fast_terms.f90
@@ -157,6 +157,7 @@ END MODULE MODI_FAST_TERMS
 !!                     November 6, 2002 (S. Malardel,J.Pergaud) Cloud Fract + Rc of 
 !!                                                              Mass flux convection
 !!                                                              Scheme
+!!      J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test
 !-------------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -248,10 +249,11 @@ CHARACTER (LEN=16)  :: YRECFM     ! Name of the desired field in LFIFM file
 !               -------------
 !
 CALL FMLOOK_ll(HLUOUT,HLUOUT,ILUOUT,IRESP)
-IIB = 1 + JPHEXT
-IIE = SIZE(PRHODJ,1) - JPHEXT
-IJB = 1 + JPHEXT
-IJE = SIZE(PRHODJ,2) - JPHEXT
+!!$IIB = 1 + JPHEXT
+!!$IIE = SIZE(PRHODJ,1) - JPHEXT
+!!$IJB = 1 + JPHEXT
+!!$IJE = SIZE(PRHODJ,2) - JPHEXT
+CALL GET_INDICE_ll (IIB,IJB,IIE,IJE)
 IPLAN = (SIZE(PRHODJ,1)-2*JPHEXT)*(SIZE(PRHODJ,2)-2*JPHEXT)
 IKB = 1 + JPVEXT
 IKE = SIZE(PRHODJ,3) - JPVEXT
diff --git a/src/MNH/mnhget_surf_paramn.f90 b/src/MNH/mnhget_surf_paramn.f90
index d01981526bcb6be6bf9573ea78a2b83150283a3d..a482baf01a6acfce2382e4c49b72ac2dad7389b1 100644
--- a/src/MNH/mnhget_surf_paramn.f90
+++ b/src/MNH/mnhget_surf_paramn.f90
@@ -72,7 +72,9 @@ END MODULE MODI_MNHGET_SURF_PARAM_n
 !!    -------------
 !!      Original    01/2003
 !!      10/09    (P. Aumond) Add possibility to get H_tree and Leaf area index
-
+!!      Modif
+!!      J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test 
+!!                            & correction of index linearisation for NHALO<>1 
 !-------------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -242,7 +244,7 @@ POUT=XUNDEF
 !
 DO JJ=IJB,IJE
   DO JI=IIB,IIE
-    POUT(JI,JJ) = PFIELD(JI-1+NHALO+(JJ-1+NHALO-1)*(IIE-IIB+1+2*NHALO))
+    POUT(JI,JJ) = PFIELD( JI-IIB+1 + NHALO + (JJ-IJB+NHALO)*(IIE-IIB+1+2*NHALO))
   END DO
 END DO
 !
diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90
index 1337404880a189ffb79ca096ca3fa411d22e37be..5050904daf0ab7143d20673f1eba41bed15154ee 100644
--- a/src/MNH/modeln.f90
+++ b/src/MNH/modeln.f90
@@ -225,6 +225,7 @@ END MODULE MODI_MODEL_n
 !!                   July 2010 (M. Leriche) add ice phase chemical species
 !!                   April 2011 (C.Lac) : Remove instant M 
 !!                   April 2011 (C.Lac, V.Masson) : Time splitting for advection
+!!      J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test
 !-------------------------------------------------------------------------------
 !
 !*       0.     DECLARATIONS
@@ -372,6 +373,8 @@ USE MODE_UTIL
 #endif
 USE MODI_GET_HALO
 !
+USE MODE_MPPDB
+!
 IMPLICIT NONE
 !
 !*       0.1   declarations of arguments
@@ -570,7 +573,8 @@ IF (KTCOUNT == 1) THEN
   ENDDO
   IF (SIZE(XSRCT,1) /= 0) CALL ADD3DFIELD_ll(TZFIELDS_ll, XSRCT)
   !
-  IF ((LNUMDIFU .OR. LNUMDIFTH .OR. LNUMDIFSV) .AND. NHALO==1 ) THEN
+!!$  IF ((LNUMDIFU .OR. LNUMDIFTH .OR. LNUMDIFSV) .AND. NHALO==1 ) THEN
+  IF ((LNUMDIFU .OR. LNUMDIFTH .OR. LNUMDIFSV) ) THEN
   !
   !                 b) LS fields
   !
@@ -600,12 +604,16 @@ IF (KTCOUNT == 1) THEN
   !
     INBVAR = 4+NRR+NSV
     IF (SIZE(XRTKES,1) /= 0) INBVAR=INBVAR+1
-    IF( NHALO==1 ) CALL INIT_HALO2_ll(TZHALO2T_ll,INBVAR,IIU,IJU,IKU)
-    IF( NHALO==1 ) CALL INIT_HALO2_ll(TZLSHALO2_ll,4+MIN(1,NRR),IIU,IJU,IKU)
+!!$    IF( NHALO==1 ) 
+    CALL INIT_HALO2_ll(TZHALO2T_ll,INBVAR,IIU,IJU,IKU)
+!!$    IF( NHALO==1 ) 
+    CALL INIT_HALO2_ll(TZLSHALO2_ll,4+MIN(1,NRR),IIU,IJU,IKU)
   !
   !*       1.6   Initialise the 2nd layer of the halo of the LS fields
   !
-    IF ( LSTEADYLS .AND. NHALO==1 ) CALL UPDATE_HALO2_ll(TZLSFIELD_ll, TZLSHALO2_ll, IINFO_ll)
+!!$    IF ( LSTEADYLS .AND. NHALO==1 ) CALL UPDATE_HALO2_ll(TZLSFIELD_ll, TZLSHALO2_ll, IINFO_ll)
+    IF ( LSTEADYLS ) CALL UPDATE_HALO2_ll(TZLSFIELD_ll, TZLSHALO2_ll, IINFO_ll)
+
   END IF
   !
 !
@@ -1133,10 +1141,10 @@ XTIME_LES_BU_PROCESS = 0.
 !
 IF ( LNUMDIFU .OR. LNUMDIFTH .OR. LNUMDIFSV ) THEN
 !
-  IF( NHALO==1 ) THEN
+!!$  IF( NHALO==1 ) THEN
     CALL UPDATE_HALO2_ll(TZFIELDT_ll, TZHALO2T_ll, IINFO_ll)
     IF ( .NOT. LSTEADYLS) CALL UPDATE_HALO2_ll(TZLSFIELD_ll, TZLSHALO2_ll, IINFO_ll)
-  ENDIF
+!!$  ENDIF
   CALL NUM_DIFF ( CLBCX, CLBCY, NRR, NSV,                               &
                   XDK2U, XDK4U, XDK2TH, XDK4TH, XDK2SV, XDK4SV, IMI,    &
                   XUT, XVT, XWT, XTHT, XTKET, XRT, XSVT,                &
@@ -1456,7 +1464,8 @@ XTIME_BU_PROCESS = 0.
 XTIME_LES_BU_PROCESS = 0.
 !
 IF (CUVW_ADV_SCHEME(1:3)=='CEN') THEN
-  IF (NHALO==1 .AND. CUVW_ADV_SCHEME=='CEN4TH') THEN
+!!$  IF (NHALO==1 .AND. CUVW_ADV_SCHEME=='CEN4TH') THEN
+  IF (CUVW_ADV_SCHEME=='CEN4TH') THEN
     NULLIFY(TZFIELDC_ll)
     NULLIFY(TZHALO2C_ll)
       CALL ADD3DFIELD_ll(TZFIELDC_ll, XUT)
@@ -1466,6 +1475,7 @@ IF (CUVW_ADV_SCHEME(1:3)=='CEN') THEN
       CALL UPDATE_HALO_ll(TZFIELDC_ll,IINFO_ll)
       CALL UPDATE_HALO2_ll(TZFIELDC_ll, TZHALO2C_ll, IINFO_ll)
   END IF
+  CALL MPPDB_CHECK3D(XRUS,"modeln:before adv_uvw_cen:XRUS",PRECISION)                    
  CALL ADVECTION_UVW_CEN(CUVW_ADV_SCHEME,                &
                            CLBCX, CLBCY,                           &
                            XTSTEP, KTCOUNT,                        &
@@ -1474,7 +1484,8 @@ IF (CUVW_ADV_SCHEME(1:3)=='CEN') THEN
                            XRHODJ, XDXX, XDYY, XDZZ, XDZX, XDZY,   &
                            XRUS,XRVS, XRWS,                        &
                            TZHALO2C_ll                             )
-  IF (NHALO==1 .AND. CUVW_ADV_SCHEME=='CEN4TH') THEN
+!!$  IF (NHALO==1 .AND. CUVW_ADV_SCHEME=='CEN4TH') THEN
+  IF (CUVW_ADV_SCHEME=='CEN4TH') THEN
     CALL CLEANLIST_ll(TZFIELDC_ll)
     NULLIFY(TZFIELDC_ll)
     CALL  DEL_HALO2_ll(TZHALO2C_ll)
@@ -1516,6 +1527,7 @@ ZRUS=XRUS
 ZRVS=XRVS
 ZRWS=XRWS
 !
+  CALL MPPDB_CHECK3D(XRUS,"modeln:before rad_bound:XRUS",PRECISION)                    
   CALL RAD_BOUND (CLBCX,CLBCY,CTURB,XRIMKMAX,            &
                 XTSTEP,                                  &
                 XDXHAT, XDYHAT, XZHAT,                   &
@@ -1547,6 +1559,7 @@ IF(.NOT. L1D) THEN
   XRVS_PRES = XRVS
   XRWS_PRES = XRWS
 !
+  CALL MPPDB_CHECK3D(XRUS,"modeln:before pressurez:XRUS",PRECISION)                    
   CALL PRESSUREZ( CLUOUT,                                                &
                   CLBCX,CLBCY,CPRESOPT,NITR,LITRADJ,KTCOUNT, XRELAX,IMI, &
                   XRHODJ,XDXX,XDYY,XDZZ,XDZX,XDZY,XDXHATM,XDYHATM,XRHOM, &
diff --git a/src/MNH/phys_paramn.f90 b/src/MNH/phys_paramn.f90
index 448be8fc044b85b66ad26344234a5258648fce87..85877225729cd42c389a7cf2eae84cab7cd823a7 100644
--- a/src/MNH/phys_paramn.f90
+++ b/src/MNH/phys_paramn.f90
@@ -219,6 +219,7 @@ END MODULE MODI_PHYS_PARAM_n
 !!                    01/2014 (C.Lac) correction for the nesting of 2D surface
 !!                           fields if the number of the son model does not
 !!                           follow the number of the dad model
+!!      J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test
 !!-------------------------------------------------------------------------------
 !
 !*       0.     DECLARATIONS
@@ -1244,7 +1245,7 @@ IF ( CTURB == 'TKEL' ) THEN
 
 !*        6.1 complete surface fluxe fields on the border
 !
-  IF(NHALO == 1) THEN
+!!$  IF(NHALO == 1) THEN
     CALL ADD2DFIELD_ll(TZFIELDS_ll,ZSFTH)
     CALL ADD2DFIELD_ll(TZFIELDS_ll,ZSFRV)
     CALL ADD2DFIELD_ll(TZFIELDS_ll,ZSFU)
@@ -1257,7 +1258,7 @@ IF ( CTURB == 'TKEL' ) THEN
     CALL ADD2DFIELD_ll(TZFIELDS_ll,ZSFCO2)
     CALL UPDATE_HALO_ll(TZFIELDS_ll,IINFO_ll)
     CALL CLEANLIST_ll(TZFIELDS_ll)
-  END IF
+!!$  END IF
 !
   IF ( CLBCX(1) /= "CYCL" .AND. LWEST_ll()) THEN
     ZSFTH(IIB-1,:)=ZSFTH(IIB,:)
diff --git a/src/MNH/ppm.f90 b/src/MNH/ppm.f90
index 917c34bdf475e0007d30e9ed5bc3f22566bc3c8c..fabe9abd4b3db3974b616215681d5bebef2ee4fe 100644
--- a/src/MNH/ppm.f90
+++ b/src/MNH/ppm.f90
@@ -188,6 +188,7 @@ END MODULE MODI_PPM
 !!    -------------
 !!    
 !!    11.5.2006.  T. Maric - original version
+!!      J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test
 !!
 !-------------------------------------------------------------------------------
 !
@@ -252,15 +253,15 @@ IJN=IJE
 !
 !*              initialise & update halo & halo2 for PSRC
 !
-IF(NHALO /= 1) THEN
-    CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
-    WRITE(ILUOUT,*) 'ERROR : PPM ppm_met.f90 --> Juan '
-    WRITE(ILUOUT,*) 'PPM not yet implemented/tested with NHALO /= 1'
-   !callabortstop
-    CALL CLOSE_ll(CLUOUT0,IOSTAT=IRESP)
-    CALL ABORT
-    STOP
-ENDIF
+!!$IF(NHALO /= 1) THEN
+!!$    CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
+!!$    WRITE(ILUOUT,*) 'ERROR : PPM ppm_met.f90 --> Juan '
+!!$    WRITE(ILUOUT,*) 'PPM not yet implemented/tested with NHALO /= 1'
+!!$   !callabortstop
+!!$    CALL CLOSE_ll(CLUOUT0,IOSTAT=IRESP)
+!!$    CALL ABORT
+!!$    STOP
+!!$ENDIF
 CALL GET_HALO(PSRC)
 PR=PSRC
 ZQL=PSRC
@@ -635,6 +636,7 @@ END FUNCTION PPM_01_X
 !!    -------------
 !!    
 !!    11.5.2006.  T. Maric - original version
+!!      J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test
 !!
 !-------------------------------------------------------------------------------
 !
@@ -694,15 +696,15 @@ INTEGER                          :: IIW,IIA
 CALL GET_INDICE_ll(IIB,IJB,IIE,IJE)
 IIW=IIB
 IIA=IIE
-IF(NHALO /= 1) THEN
-    CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
-    WRITE(ILUOUT,*) 'ERROR : PPM ppm_met.f90 --> Juan '
-    WRITE(ILUOUT,*) 'PPM not yet implemented/tested with NHALO /= 1'
-   !callabortstop
-    CALL CLOSE_ll(CLUOUT0,IOSTAT=IRESP)
-    CALL ABORT
-    STOP
-ENDIF
+!!$IF(NHALO /= 1) THEN
+!!$    CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
+!!$    WRITE(ILUOUT,*) 'ERROR : PPM ppm_met.f90 --> Juan '
+!!$    WRITE(ILUOUT,*) 'PPM not yet implemented/tested with NHALO /= 1'
+!!$   !callabortstop
+!!$    CALL CLOSE_ll(CLUOUT0,IOSTAT=IRESP)
+!!$    CALL ABORT
+!!$    STOP
+!!$ENDIF
 CALL GET_HALO(PSRC)
 
 !
@@ -1286,6 +1288,7 @@ END FUNCTION PPM_01_Z
 !!    -------------
 !!    
 !!    20.6.2006.  T. Maric - original version
+!!      J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test
 !!
 !-------------------------------------------------------------------------------
 !
@@ -1348,15 +1351,15 @@ IJN=IJE
 !
 !*              initialise & update halo & halo2 for PSRC
 !
-IF(NHALO /= 1) THEN
-    CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
-    WRITE(ILUOUT,*) 'ERROR : PPM ppm_met.f90 --> Juan '
-    WRITE(ILUOUT,*) 'PPM not yet implemented/tested with NHALO /= 1'
-   !callabortstop
-    CALL CLOSE_ll(CLUOUT0,IOSTAT=IRESP)
-    CALL ABORT
-    STOP
-ENDIF
+!!$IF(NHALO /= 1) THEN
+!!$    CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT,IRESP)
+!!$    WRITE(ILUOUT,*) 'ERROR : PPM ppm_met.f90 --> Juan '
+!!$    WRITE(ILUOUT,*) 'PPM not yet implemented/tested with NHALO /= 1'
+!!$   !callabortstop
+!!$    CALL CLOSE_ll(CLUOUT0,IOSTAT=IRESP)
+!!$    CALL ABORT
+!!$    STOP
+!!$ENDIF
 !
 CALL GET_HALO2(PSRC,TZ_PSRC_HALO2_ll)
 ZPHAT=PSRC
diff --git a/src/MNH/prep_real_case.f90 b/src/MNH/prep_real_case.f90
index 951c7f53bda34d4a502cee2deb02d1eda402a485..22aaa363e3c459b46c4dbe994be1fce038b94f26 100644
--- a/src/MNH/prep_real_case.f90
+++ b/src/MNH/prep_real_case.f90
@@ -457,6 +457,8 @@ USE MODI_READ_ALL_NAMELISTS
 USE MODI_GOTO_SURFEX
 USE MODI_DEALLOC_SURFEX
 !
+USE MODE_MPPDB
+!
 IMPLICIT NONE
 !
 !*       0.1   Declaration of local variables
@@ -529,6 +531,8 @@ TYPE(LIST_ll), POINTER :: TZFIELDS_ll=>NULL()   ! list of fields to exchange
 
 !-------------------------------------------------------------------------------
 !
+CALL MPPDB_INIT()
+!
 CALL GOTO_MODEL(1)
 !
 ZDIAG = 0.
@@ -1194,6 +1198,9 @@ END IF
 CALL CLOSE_ll(CLUOUT0, IOSTAT=IRESP)
 CALL FMCLOS_ll(CINIFILE,'KEEP',CLUOUT0,IRESP)
 !
+  CALL MPPDB_BARRIER()
+  CALL MPPDB_BARRIER()
+
 !
 CALL END_PARA_ll(IINFO_ll)
 !-------------------------------------------------------------------------------
diff --git a/src/MNH/turb.f90 b/src/MNH/turb.f90
index e31bc0f4013420593d9aa662516f0a303c3d3ec8..1f22ba9f1a27de91b53db24253d9f90bd645126f 100644
--- a/src/MNH/turb.f90
+++ b/src/MNH/turb.f90
@@ -1149,6 +1149,7 @@ CONTAINS
 !!    MODIFICATIONS
 !!    -------------
 !!      Original   24/06/99
+!!      J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test
 !!
 !-------------------------------------------------------------------------------
 !
@@ -1179,12 +1180,12 @@ CALL GET_INDICE_ll (IIB,IJB,IIE,IJE)
 !
 !         2 Update halo if necessary
 !
-IF (NHALO == 1) THEN
+!!$IF (NHALO == 1) THEN
   CALL ADD2DFIELD_ll(TZFIELDS_ll,PUSLOPE)
   CALL ADD2DFIELD_ll(TZFIELDS_ll,PVSLOPE)
   CALL UPDATE_HALO_ll(TZFIELDS_ll,IINFO_ll)
   CALL CLEANLIST_ll(TZFIELDS_ll)
-ENDIF
+!!$ENDIF
 !
 !        3 Boundary conditions for non cyclic case
 !
diff --git a/src/MNH/update_metrics.f90 b/src/MNH/update_metrics.f90
index de7473f693a0a15d02622df892e47c27da08252d..e4a18893ae783325bbd4a8a42f6ac11d480d3c72 100644
--- a/src/MNH/update_metrics.f90
+++ b/src/MNH/update_metrics.f90
@@ -60,6 +60,7 @@ END MODULE MODI_UPDATE_METRICS
 !!    MODIFICATIONS
 !!    -------------
 !!      Original    april 2006
+!!      J.Escobar 21/03/2013: for HALOK comment all NHALO=1 test
 !-------------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -108,7 +109,7 @@ NULLIFY(TZMETRICS_ll)
 !            -------------
 !
 !
-IF(NHALO == 1) THEN
+!!$IF(NHALO == 1) THEN
   CALL ADD3DFIELD_ll(TZMETRICS_ll,PDXX)
   CALL ADD3DFIELD_ll(TZMETRICS_ll,PDYY)
   CALL ADD3DFIELD_ll(TZMETRICS_ll,PDZX)
@@ -116,7 +117,7 @@ IF(NHALO == 1) THEN
   CALL ADD3DFIELD_ll(TZMETRICS_ll,PDZZ)
   CALL UPDATE_HALO_ll(TZMETRICS_ll,IINFO_ll)
   CALL CLEANLIST_ll(TZMETRICS_ll)
-END IF
+!!$END IF
 !
 !-------------------------------------------------------------------------------
 !
diff --git a/src/MNH/write_lfifm1_for_diag.f90 b/src/MNH/write_lfifm1_for_diag.f90
index a8ed3b7cea3869fb772c703f859401773caef454..dfe2e2435395bf030573934bd62da812a848ee0a 100644
--- a/src/MNH/write_lfifm1_for_diag.f90
+++ b/src/MNH/write_lfifm1_for_diag.f90
@@ -134,6 +134,7 @@ END MODULE MODI_WRITE_LFIFM1_FOR_DIAG
 !!       G.Tanguy/ JP Pinty/ JP Chabureau 18/05/2011 : add lidar simulator
 !!       S.Bielli 12/2012 : add latitude and longitude
 !!       F. Duffourg 02/2013 : add new fields
+!!      J.Escobar 21/03/2013: for HALOK get correctly local array dim/bound
 !-------------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -306,12 +307,14 @@ REAL, DIMENSION(SIZE(XZZ,1),SIZE(XZZ,2),SIZE(XZZ,3)) :: ZDELTAZ ! interval (m) b
 !
 !*       0.     ARRAYS BOUNDS INITIALIZATION
 !
-IIB=1+JPHEXT
-IJB=1+JPHEXT
-IIU=NIMAX+2*JPHEXT
-IJU=NJMAX+2*JPHEXT
-IIE=IIU-JPHEXT
-IJE=IJU-JPHEXT
+CALL GET_DIM_EXT_ll ('B',IIU,IJU)
+CALL GET_INDICE_ll (IIB,IJB,IIE,IJE)
+!!$IIB=1+JPHEXT
+!!$IJB=1+JPHEXT
+!!$IIU=NIMAX+2*JPHEXT
+!!$IJU=NJMAX+2*JPHEXT
+!!$IIE=IIU-JPHEXT
+!!$IJE=IJU-JPHEXT
 IKU=NKMAX+2*JPVEXT
 IKB=1+JPVEXT
 IKE=IKU-JPVEXT