Index: LMDZ4/trunk/libf/dyn3dpar/gcm.F
===================================================================
--- LMDZ4/trunk/libf/dyn3dpar/gcm.F	(revision 852)
+++ LMDZ4/trunk/libf/dyn3dpar/gcm.F	(revision 854)
@@ -230,5 +230,6 @@
 #ifdef INCA
       call init_const_lmdz(nbtrac,anneeref,dayref,iphysiq,day_step,nday)
-      call init_inca_para(iim,jjm+1,klon_glo,mpi_size,klon_mpi_para_nb)
+      call init_inca_para(iim,jjm+1,klon_glo,mpi_size,klon_mpi_para_nb,
+     $ COMM_LMDZ)
 #endif
 
Index: LMDZ4/trunk/libf/dyn3dpar/vlspltgen_p.F
===================================================================
--- LMDZ4/trunk/libf/dyn3dpar/vlspltgen_p.F	(revision 852)
+++ LMDZ4/trunk/libf/dyn3dpar/vlspltgen_p.F	(revision 854)
@@ -184,7 +184,5 @@
         
 	  call vlx_p(zq(1,1,iq),pente_max,zm(1,1,iq),mu,
-     &	             ij_begin,ij_begin+2*iip1-1)
-          call vlx_p(zq(1,1,iq),pente_max,zm(1,1,iq),mu,
-     &               ij_end-2*iip1+1,ij_end)
+     &	             ij_begin,ij_end)
 
 c$OMP MASTER
@@ -197,7 +195,5 @@
       
           call vlxqs_p(zq(1,1,iq),pente_max,zm(1,1,iq),mu,qsat,
-     &                 ij_begin,ij_begin+2*iip1-1)
-          call vlxqs_p(zq(1,1,iq),pente_max,zm(1,1,iq),mu,qsat,
-     &                 ij_end-2*iip1+1,ij_end)
+     &                 ij_begin,ij_end)
 c$OMP MASTER
           call VTb(VTHallo)
@@ -219,33 +215,4 @@
       call VTb(VTHallo)
       call SendRequest(MyRequest1)
-      call VTe(VTHallo)
-c$OMP END MASTER       
-c$OMP BARRIER
-      do iq=1,nqmx
-
-        if(iadv(iq) == 0) then
-	
-	  cycle 
-	
-	else if (iadv(iq)==10) then
-
-          call vlx_p(zq(1,1,iq),pente_max,zm(1,1,iq),mu,
-     &               ij_begin+2*iip1,ij_end-2*iip1)
-        
-	else if (iadv(iq)==14) then
-
-          call vlxqs_p(zq(1,1,iq),pente_max,zm(1,1,iq),mu,qsat,
-     &                 ij_begin+2*iip1,ij_end-2*iip1)
-    
-        else
-	
-	  stop 'vlspltgen_p : schema non parallelise'
-      
-        endif
-      
-      enddo
-c$OMP BARRIER      
-c$OMP MASTER
-      call VTb(VTHallo)
       call WaitRecvRequest(MyRequest1)
       call WaitSendRequest(MyRequest1)
@@ -286,7 +253,5 @@
 c$OMP BARRIER        
           call vlz_p(zq(1,1,iq),pente_max,zm(1,1,iq),mw,
-     &               ij_begin,ij_begin+2*iip1-1)
-          call vlz_p(zq(1,1,iq),pente_max,zm(1,1,iq),mw,
-     &               ij_end-2*iip1+1,ij_end)
+     &               ij_begin,ij_end)
 c$OMP BARRIER
 
@@ -309,29 +274,4 @@
       call VTb(VTHallo)
       call SendRequest(MyRequest2)
-      call VTe(VTHallo)
-c$OMP END MASTER	
-c$OMP BARRIER
-      do iq=1,nqmx
-
-        if(iadv(iq) == 0) then
-	  
-	  cycle 
-	
-	else if (iadv(iq)==10 .or. iadv(iq)==14 ) then
-c$OMP BARRIER        
-          call vlz_p(zq(1,1,iq),pente_max,zm(1,1,iq),mw,
-     &               ij_begin+2*iip1,ij_end-2*iip1)
-c$OMP BARRIER        
-        else
-	
-	  stop 'vlspltgen_p : schema non parallelise'
-      
-        endif
-      
-      enddo
-
-c$OMP BARRIER
-c$OMP MASTER
-      call VTb(VTHallo)
       call WaitRecvRequest(MyRequest2)
       call WaitSendRequest(MyRequest2)
Index: LMDZ4/trunk/libf/phylmd/surf_land_orchidee_mod.F90
===================================================================
--- LMDZ4/trunk/libf/phylmd/surf_land_orchidee_mod.F90	(revision 852)
+++ LMDZ4/trunk/libf/phylmd/surf_land_orchidee_mod.F90	(revision 854)
@@ -485,7 +485,7 @@
     INTEGER                               :: MyLastPoint
     INTEGER                               :: LastPoint
-    INTEGER                               :: mpi_rank
-    INTEGER                               :: mpi_size
-    INTEGER                               :: ierr   
+    INTEGER                               :: mpi_rank_orch
+    INTEGER                               :: mpi_size_orch
+    INTEGER                               :: ierr 
 !
 ! End definition
@@ -496,27 +496,27 @@
     IF (is_parallel) THEN
 #ifdef CPP_PARA    
-       CALL MPI_COMM_SIZE(orch_comm,mpi_size,ierr)
-       CALL MPI_COMM_RANK(orch_comm,mpi_rank,ierr)
+       CALL MPI_COMM_SIZE(orch_comm,mpi_size_orch,ierr)
+       CALL MPI_COMM_RANK(orch_comm,mpi_rank_orch,ierr)
 #endif
     ELSE
-       mpi_rank=0
-       mpi_size=1
-    ENDIF
-    
+       mpi_rank_orch=0
+       mpi_size_orch=1
+    ENDIF
+
     IF (is_parallel) THEN
-       IF (.NOT. is_north_pole) THEN
+       IF (mpi_rank_orch /= 0) THEN
 #ifdef CPP_PARA
-          CALL MPI_RECV(LastPoint,1,MPI_INTEGER,mpi_rank-1,1234,orch_comm,status,ierr)
-#endif
-       ENDIF
-       
-       IF (.NOT. is_south_pole) THEN
+          CALL MPI_RECV(LastPoint,1,MPI_INTEGER,mpi_rank_orch-1,1234,orch_comm,status,ierr)
+#endif
+       ENDIF
+       
+       IF (mpi_rank_orch /= mpi_size_orch-1) THEN
 #ifdef CPP_PARA
-          CALL MPI_SEND(MyLastPoint,1,MPI_INTEGER,mpi_rank+1,1234,orch_comm,ierr)  
-#endif
-       ENDIF
-    ENDIF
-    
-    IF (is_north_pole) THEN 
+          CALL MPI_SEND(MyLastPoint,1,MPI_INTEGER,mpi_rank_orch+1,1234,orch_comm,ierr)  
+#endif
+       ENDIF
+    ENDIF
+    
+    IF (mpi_rank_orch == 0) THEN 
        offset=0
     ELSE
Index: LMDZ4/trunk/libf/phytherm/surf_land_orchidee_mod.F90
===================================================================
--- LMDZ4/trunk/libf/phytherm/surf_land_orchidee_mod.F90	(revision 852)
+++ LMDZ4/trunk/libf/phytherm/surf_land_orchidee_mod.F90	(revision 854)
@@ -485,7 +485,7 @@
     INTEGER                               :: MyLastPoint
     INTEGER                               :: LastPoint
-    INTEGER                               :: mpi_rank
-    INTEGER                               :: mpi_size
-    INTEGER                               :: ierr   
+    INTEGER                               :: mpi_rank_orch
+    INTEGER                               :: mpi_size_orch
+    INTEGER                               :: ierr 
 !
 ! End definition
@@ -496,27 +496,27 @@
     IF (is_parallel) THEN
 #ifdef CPP_PARA    
-       CALL MPI_COMM_SIZE(orch_comm,mpi_size,ierr)
-       CALL MPI_COMM_RANK(orch_comm,mpi_rank,ierr)
+       CALL MPI_COMM_SIZE(orch_comm,mpi_size_orch,ierr)
+       CALL MPI_COMM_RANK(orch_comm,mpi_rank_orch,ierr)
 #endif
     ELSE
-       mpi_rank=0
-       mpi_size=1
-    ENDIF
-    
+       mpi_rank_orch=0
+       mpi_size_orch=1
+    ENDIF
+
     IF (is_parallel) THEN
-       IF (.NOT. is_north_pole) THEN
+       IF (mpi_rank_orch /= 0) THEN
 #ifdef CPP_PARA
-          CALL MPI_RECV(LastPoint,1,MPI_INTEGER,mpi_rank-1,1234,orch_comm,status,ierr)
-#endif
-       ENDIF
-       
-       IF (.NOT. is_south_pole) THEN
+          CALL MPI_RECV(LastPoint,1,MPI_INTEGER,mpi_rank_orch-1,1234,orch_comm,status,ierr)
+#endif
+       ENDIF
+       
+       IF (mpi_rank_orch /= mpi_size_orch-1) THEN
 #ifdef CPP_PARA
-          CALL MPI_SEND(MyLastPoint,1,MPI_INTEGER,mpi_rank+1,1234,orch_comm,ierr)  
-#endif
-       ENDIF
-    ENDIF
-    
-    IF (is_north_pole) THEN 
+          CALL MPI_SEND(MyLastPoint,1,MPI_INTEGER,mpi_rank_orch+1,1234,orch_comm,ierr)  
+#endif
+       ENDIF
+    ENDIF
+    
+    IF (mpi_rank_orch == 0) THEN 
        offset=0
     ELSE
