diff --git a/MNH/ppm.f90 b/MNH/ppm.f90
index 0f8ebfaaef89e7202834b362560e557adc0dac64..433d5ec69ea239eef81595c84c5073fd1fee20df 100644
--- a/MNH/ppm.f90
+++ b/MNH/ppm.f90
@@ -297,16 +297,16 @@ REAL , DIMENSION(IIU,IJU,IKU) :: &
 !$acc declare present (ZQL,ZQR,ZDQ,ZQ6,ZDMQ,ZQL0,ZQR0,ZQ60,ZFPOS,ZFNEG)  
 !
 !BEG JUAN PPM_LL
-INTEGER                :: IJS,IJN
+INTEGER                :: IJS,IJN, IIW,IIA
 !END JUAN PPM_LL
 !JUAN ACC
 LOGICAL                :: GWEST , GEAST
 !
 ! inline shuman with macro
 ! 
-#define dif2x(DQ,PQ) DQ(IIB:IIE,:,:)=0.5*(PQ(IIB+1:IIE+1,:,:)-PQ(IIB-1:IIE-1,:,:));\
-DQ(IIB-1,:,:)=0.5*(PQ(IIB,:,:)-PQ(IIE-1,:,:));\
-DQ(IIE+1,:,:)=0.5*(PQ(IIB+1,:,:)-PQ(IIE,:,:)) ! DIF2X(DQ,PQ)
+#define dif2x(DQ,PQ) DQ(IIW:IIA,:,:)=0.5*(PQ(IIW+1:IIA+1,:,:)-PQ(IIW-1:IIA-1,:,:));\
+DQ(IIW-1,:,:)=0.5*(PQ(IIW,:,:)-PQ(IIA-1,:,:));\
+DQ(IIA+1,:,:)=0.5*(PQ(IIW+1,:,:)-PQ(IIA,:,:)) ! DIF2X(DQ,PQ)
 #define dxf(PDXF,PA) PDXF(1:IIU-1,:,:) = PA(2:IIU,:,:) - PA(1:IIU-1,:,:) ; PDXF(IIU,:,:)    = PDXF(2*JPHEXT,:,:) ! DXF(PDXF,PA)
 #define mxm(PMXM,PA) PMXM(2:IIU,:,:) = 0.5*( PA(2:IIU,:,:)+PA(1:IIU-1,:,:) ) ; PMXM(1,:,:) = PMXM(IIU-2*JPHEXT+1,:,:) !  MXM(PMXM,PA)
 
@@ -319,6 +319,8 @@ DQ(IIE+1,:,:)=0.5*(PQ(IIB+1,:,:)-PQ(IIE,:,:)) ! DIF2X(DQ,PQ)
 CALL GET_INDICE_ll(IIB,IJB,IIE,IJE)
 IJS=IJB
 IJN=IJE
+IIW=2 ! IIB
+IIA=IIU -1 ! IIE
 GWEST = LWEST_ll()
 GEAST = LEAST_ll()
 !
@@ -523,11 +525,11 @@ ZFNEG=PSRC
 !
 !  ZDMQ(i) = Fct[ ZDMQ(i),PSRC(i),PSRC(i-1),PSRC(i+1) ]
 !
-   ZDMQ(IIB:IIE,IJS:IJN,:) = &
-        SIGN( (MIN( ABS(ZDMQ(IIB:IIE,IJS:IJN,:)),2.0*(PSRC(IIB:IIE,IJS:IJN,:) - &
-        MIN(PSRC(IIB-1:IIE-1,IJS:IJN,:),PSRC(IIB:IIE,IJS:IJN,:),PSRC(IIB+1:IIE+1,IJS:IJN,:))),    &
-        2.0*(MAX(PSRC(IIB-1:IIE-1,IJS:IJN,:),PSRC(IIB:IIE,IJS:IJN,:),PSRC(IIB+1:IIE+1,IJS:IJN,:)) - &
-        PSRC(IIB:IIE,IJS:IJN,:)) )), ZDMQ(IIB:IIE,IJS:IJN,:) )
+   ZDMQ(IIW:IIA,IJS:IJN,:) = &
+        SIGN( (MIN( ABS(ZDMQ(IIW:IIA,IJS:IJN,:)),2.0*(PSRC(IIW:IIA,IJS:IJN,:) - &
+        MIN(PSRC(IIW-1:IIA-1,IJS:IJN,:),PSRC(IIW:IIA,IJS:IJN,:),PSRC(IIW+1:IIA+1,IJS:IJN,:))),    &
+        2.0*(MAX(PSRC(IIW-1:IIA-1,IJS:IJN,:),PSRC(IIW:IIA,IJS:IJN,:),PSRC(IIW+1:IIA+1,IJS:IJN,:)) - &
+        PSRC(IIW:IIA,IJS:IJN,:)) )), ZDMQ(IIW:IIA,IJS:IJN,:) )
 !
 !  WEST BOUND
 !
@@ -541,7 +543,7 @@ ZFNEG=PSRC
 #define TEMPO_JUAN
 #ifdef TEMPO_JUAN  
 !$acc end kernels   
-CALL  GET_HALO_D(ZDMQ,HDIR="01_X") 
+!CALL  GET_HALO_D(ZDMQ,HDIR="01_X") 
 !!$IF (MPPDB_INITIALIZED) THEN
 !!$!$acc update host(ZDMQ)
 !!$ENDIF
@@ -553,14 +555,14 @@ CALL MPPDB_CHECK3DM("PPM::PPM_01_X OPEN ::ZDMQ",PRECISION,ZDMQ)
 !
 !  ZQL0(i) = Fct[ PSRC(i),PSRC(i-1),ZDMQ(i),ZDMQ(i-1) ]
 !
-   ZQL0(IIB:IIE+1,IJS:IJN,:) = 0.5*(PSRC(IIB:IIE+1,IJS:IJN,:) + PSRC(IIB-1:IIE,IJS:IJN,:)) - &
-        (ZDMQ(IIB:IIE+1,IJS:IJN,:) - ZDMQ(IIB-1:IIE,IJS:IJN,:))/6.0
+   ZQL0(IIW:IIA+1,IJS:IJN,:) = 0.5*(PSRC(IIW:IIA+1,IJS:IJN,:) + PSRC(IIW-1:IIA,IJS:IJN,:)) - &
+        (ZDMQ(IIW:IIA+1,IJS:IJN,:) - ZDMQ(IIW-1:IIA,IJS:IJN,:))/6.0
 !
 
 !
 #ifdef TEMPO_JUAN  
 !$acc end kernels  
-CALL  GET_HALO_D(ZQL0,HDIR="01_X") 
+!CALL  GET_HALO_D(ZQL0,HDIR="01_X") 
 !$acc kernels
 #endif
 !  
@@ -573,11 +575,11 @@ CALL  GET_HALO_D(ZQL0,HDIR="01_X")
     ! acc end kernels
   ENDIF
 !
-   ZQR0(IIB-1:IIE,IJS:IJN,:) = ZQL0(IIB:IIE+1,IJS:IJN,:)
+   ZQR0(IIW-1:IIA,IJS:IJN,:) = ZQL0(IIW:IIA+1,IJS:IJN,:)
 !
 #ifdef TEMPO_JUAN   
 !$acc end kernels  
-CALL  GET_HALO_D(ZQR0,HDIR="01_X")
+!CALL  GET_HALO_D(ZQR0,HDIR="01_X")
 !$acc kernels
 #endif
 !
@@ -630,20 +632,20 @@ ENDDO ; ENDDO ; ENDDO
 !
 !  ZFPOS[i] = Fct[ ZQR(i-1),PCR(i),ZDQ(i-1),ZQ6(i-1) ]
 !
-   ZFPOS(IIB:IIE+1,IJS:IJN,:) = ZQR(IIB-1:IIE,IJS:IJN,:) - 0.5*PCR(IIB:IIE+1,IJS:IJN,:) * &            
-        (ZDQ(IIB-1:IIE,IJS:IJN,:) - (1.0 - 2.0*PCR(IIB:IIE+1,IJS:IJN,:)/3.0)        &
-        * ZQ6(IIB-1:IIE,IJS:IJN,:))
+   ZFPOS(IIW:IIA+1,IJS:IJN,:) = ZQR(IIW-1:IIA,IJS:IJN,:) - 0.5*PCR(IIW:IIA+1,IJS:IJN,:) * &            
+        (ZDQ(IIW-1:IIA,IJS:IJN,:) - (1.0 - 2.0*PCR(IIW:IIA+1,IJS:IJN,:)/3.0)        &
+        * ZQ6(IIW-1:IIA,IJS:IJN,:))
 !
 #ifdef TEMPO_JUAN 
 !$acc end kernels     
-CALL GET_HALO_D(ZFPOS,HDIR="01_X")
+!CALL GET_HALO_D(ZFPOS,HDIR="01_X")
 !$acc kernels 
 #endif
 !
 !
 !  WEST BOUND
 !
-! advection flux at open boundary when u(IIB) > 0
+! advection flux at open boundary when u(IIW) > 0
 ! 
   IF (GWEST) THEN 
   ! acc kernels
@@ -659,7 +661,7 @@ CALL GET_HALO_D(ZFPOS,HDIR="01_X")
 !
 #ifdef TEMPO_JUAN  
 !$acc end kernels   
-CALL GET_HALO_D(ZFNEG,HDIR="01_X")
+!CALL GET_HALO_D(ZFNEG,HDIR="01_X")
 !$acc kernels
 #endif
 !
@@ -884,6 +886,8 @@ DQ(:,IJE+1,:) = 0.5*(PQ(:,IJB+1,:) - PQ(:,IJE,:)) ! DIF2Y(DQ,PQ)
 CALL GET_INDICE_ll(IIB,IJB,IIE,IJE)
 IIW=IIB
 IIA=IIE
+IJB=2
+IJE=IJU-1
 
 GSOUTH=LSOUTH_ll()
 GNORTH=LNORTH_ll()
@@ -1091,7 +1095,7 @@ ZFNEG(IIA:,:,:)=PSRC(IIA:,:,:)
 !
 #ifdef TEMPO_JUAN   
 !$acc end kernels   
-CALL  GET_HALO_D(ZDMQ,HDIR="01_Y")  
+!CALL  GET_HALO_D(ZDMQ,HDIR="01_Y")  
 !$acc kernels   
 #endif
 !
@@ -1111,7 +1115,7 @@ CALL  GET_HALO_D(ZDMQ,HDIR="01_Y")
 !
 #ifdef TEMPO_JUAN  
 !$acc end kernels    
-CALL  GET_HALO_D(ZQL0,HDIR="01_Y")
+!CALL  GET_HALO_D(ZQL0,HDIR="01_Y")
 !$acc kernels   
 #endif
 !  
@@ -1201,7 +1205,7 @@ CALL  GET_HALO_D(ZQL0,HDIR="01_Y")
 !
 #ifdef TEMPO_JUAN
 !$acc end kernels   
-CALL GET_HALO_D(ZFPOS,HDIR="01_Y")
+!CALL GET_HALO_D(ZFPOS,HDIR="01_Y")
 !$acc kernels   
 #endif
 !
@@ -1235,7 +1239,7 @@ CALL GET_HALO_D(ZFPOS,HDIR="01_Y")
 !
 #ifdef TEMPO_JUAN
 !$acc end kernels   
-   CALL GET_HALO_D(ZFNEG,HDIR="01_Y")
+!   CALL GET_HALO_D(ZFNEG,HDIR="01_Y")
 !$acc kernels   
 #endif
 !