Index: LMDZ5/trunk/libf/dynphy_lonlat/calfis_loc.F
===================================================================
--- LMDZ5/trunk/libf/dynphy_lonlat/calfis_loc.F	(revision 2428)
+++ LMDZ5/trunk/libf/dynphy_lonlat/calfis_loc.F	(revision 2429)
@@ -417,6 +417,6 @@
       kend=klon
       
-      if (is_north_pole) kstart=2
-      if (is_south_pole) kend=klon-1
+      if (is_north_pole_dyn) kstart=2
+      if (is_south_pole_dyn) kend=klon-1
       
 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)      
@@ -446,6 +446,6 @@
       jjb=jj_begin_dyn-1
       jje=jj_end_dyn+1
-      if (is_north_pole) jjb=1
-      if (is_south_pole) jje=jjm
+      if (is_north_pole_dyn) jjb=1
+      if (is_south_pole_dyn) jje=jjm
 
 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
@@ -497,5 +497,5 @@
 c        V = 1 / pi  *  integrale [ v * sin(long) * d long ]
 
-      if (is_north_pole) then
+      if (is_north_pole_dyn) then
 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)      
         DO l=1,llm
@@ -525,5 +525,5 @@
 c        V = 1 / pi  *  integrale [ v * sin(long) * d long ]
 
-      if (is_south_pole) then
+      if (is_south_pole_dyn) then
 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)      
         DO l=1,llm
@@ -915,5 +915,5 @@
         pdvfi(:,jj_begin,l)=0
                 
-        if (.not. is_south_pole) then
+        if (.not. is_south_pole_dyn) then
           pdhfi(:,jj_end:jj_end+1,l)=0
           pdqfi(:,jj_end:jj_end+1,l,:)=0
@@ -928,5 +928,5 @@
         pdpsfi(:,jj_begin)=0    
        
-       if (.not. is_south_pole) then
+       if (.not. is_south_pole_dyn) then
 	 pdpsfi(:,jj_end:jj_end+1)=0
        endif
@@ -944,6 +944,6 @@
       kend=klon
 
-      if (is_north_pole) kstart=2
-      if (is_south_pole)  kend=klon-1
+      if (is_north_pole_dyn) kstart=2
+      if (is_south_pole_dyn)  kend=klon-1
 
 !CDIR ON_ADB(index_i)
@@ -957,5 +957,5 @@
          enddo          
 
-        if (is_north_pole) then
+        if (is_north_pole_dyn) then
             DO i=1,iip1
               pdpsfi(i,1)    = zdpsrf(1)
@@ -963,5 +963,5 @@
         endif
         
-        if (is_south_pole) then
+        if (is_south_pole_dyn) then
             DO i=1,iip1
               pdpsfi(i,jjp1) = zdpsrf(klon)
@@ -978,6 +978,6 @@
       kend=klon
 
-      if (is_north_pole) kstart=2
-      if (is_south_pole)  kend=klon-1
+      if (is_north_pole_dyn) kstart=2
+      if (is_south_pole_dyn)  kend=klon-1
 
 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
@@ -994,5 +994,5 @@
          enddo          
 
-        if (is_north_pole) then
+        if (is_north_pole_dyn) then
             DO i=1,iip1
               pdhfi(i,1,l)    = cpp *  zdtfi(1,l)      / ppk(i, 1  ,l)
@@ -1000,5 +1000,5 @@
         endif
         
-        if (is_south_pole) then
+        if (is_south_pole_dyn) then
             DO i=1,iip1
               pdhfi(i,jjp1,l) = cpp *  zdtfi(klon,l)/ ppk(i,jjp1,l)
@@ -1022,5 +1022,5 @@
 !           enddo
 !           
-!           if (is_north_pole) then
+!           if (is_north_pole_dyn) then
 !             do i=1,iip1
 !               pdqfi(i,1,l,iq)    = zdqfi(1,l,iq)             
@@ -1028,5 +1028,5 @@
 !           endif
 !           
-!           if (is_south_pole) then
+!           if (is_south_pole_dyn) then
 !             do i=1,iip1
 !               pdqfi(i,jjp1,l,iq) = zdqfi(klon,l,iq) 
@@ -1063,5 +1063,5 @@
             ENDDO
 	    
-	    IF (is_north_pole) then
+	    IF (is_north_pole_dyn) then
 	      DO i=1,iip1
                 pdqfi(i,1,l,iiq)    = zdqfi(1,l,iq)
@@ -1069,5 +1069,5 @@
 	    ENDIF
 	    
-	    IF (is_south_pole) then
+	    IF (is_south_pole_dyn) then
 	      DO i=1,iip1
                 pdqfi(i,jjp1,l,iiq) = zdqfi(klon,l,iq)
@@ -1102,5 +1102,5 @@
          enddo
          
-         if (is_north_pole) then
+         if (is_north_pole_dyn) then
            DO i=1,iip1
             pdufi(i,1,l)    = 0.
@@ -1108,5 +1108,5 @@
          endif
          
-         if (is_south_pole) then
+         if (is_south_pole_dyn) then
            DO i=1,iip1
             pdufi(i,jjp1,l) = 0.
@@ -1123,6 +1123,6 @@
       kend=klon
 
-      if (is_north_pole) kstart=2
-      if (is_south_pole)  kend=klon-1-iim
+      if (is_north_pole_dyn) kstart=2
+      if (is_south_pole_dyn)  kend=klon-1-iim
       
 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)      
@@ -1148,5 +1148,5 @@
 c      v = U * cos(long) + V * SIN(long)
 
-      if (is_north_pole) then
+      if (is_north_pole_dyn) then
 
 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)      
@@ -1168,5 +1168,5 @@
       endif    
       
-      if (is_south_pole) then
+      if (is_south_pole_dyn) then
 
 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)      
Index: LMDZ5/trunk/libf/dynphy_lonlat/calfis_p.F
===================================================================
--- LMDZ5/trunk/libf/dynphy_lonlat/calfis_p.F	(revision 2428)
+++ LMDZ5/trunk/libf/dynphy_lonlat/calfis_p.F	(revision 2429)
@@ -393,6 +393,6 @@
       kend=klon
       
-      if (is_north_pole) kstart=2
-      if (is_south_pole) kend=klon-1
+      if (is_north_pole_dyn) kstart=2
+      if (is_south_pole_dyn) kend=klon-1
       
 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)      
@@ -422,6 +422,6 @@
       jjb=jj_begin_dyn-1
       jje=jj_end_dyn+1
-      if (is_north_pole) jjb=1
-      if (is_south_pole) jje=jjm
+      if (is_north_pole_dyn) jjb=1
+      if (is_south_pole_dyn) jje=jjm
 
 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
@@ -474,5 +474,5 @@
 c        V = 1 / pi  *  integrale [ v * sin(long) * d long ]
 
-      if (is_north_pole) then
+      if (is_north_pole_dyn) then
 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)      
         DO l=1,llm
@@ -502,5 +502,5 @@
 c        V = 1 / pi  *  integrale [ v * sin(long) * d long ]
 
-      if (is_south_pole) then
+      if (is_south_pole_dyn) then
 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)      
         DO l=1,llm
@@ -878,5 +878,5 @@
          pdvfi(:,jj_begin,l)=0
          
-         if (.not. is_south_pole) then
+         if (.not. is_south_pole_dyn) then
            pdhfi(:,jj_end,l)=0
            pdqfi(:,jj_end,l,:)=0
@@ -890,5 +890,5 @@
 c$OMP MASTER
        pdpsfi(:,jj_begin)=0    
-       if (.not. is_south_pole) then
+       if (.not. is_south_pole_dyn) then
 	 pdpsfi(:,jj_end)=0
        endif
@@ -908,6 +908,6 @@
       kend=klon
 
-      if (is_north_pole) kstart=2
-      if (is_south_pole)  kend=klon-1
+      if (is_north_pole_dyn) kstart=2
+      if (is_south_pole_dyn)  kend=klon-1
 
 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
@@ -924,5 +924,5 @@
          enddo          
 
-        if (is_north_pole) then
+        if (is_north_pole_dyn) then
             DO i=1,iip1
               pdhfi(i,1,l)    = cpp *  zdtfi(1,l)      / ppk(i, 1  ,l)
@@ -930,5 +930,5 @@
         endif
         
-        if (is_south_pole) then
+        if (is_south_pole_dyn) then
             DO i=1,iip1
               pdhfi(i,jjp1,l) = cpp *  zdtfi(klon,l)/ ppk(i,jjp1,l)
@@ -952,5 +952,5 @@
 !           enddo
 !           
-!           if (is_north_pole) then
+!           if (is_north_pole_dyn) then
 !             do i=1,iip1
 !               pdqfi(i,1,l,iq)    = zdqfi(1,l,iq)             
@@ -958,5 +958,5 @@
 !           endif
 !           
-!           if (is_south_pole) then
+!           if (is_south_pole_dyn) then
 !             do i=1,iip1
 !               pdqfi(i,jjp1,l,iq) = zdqfi(klon,l,iq) 
@@ -993,5 +993,5 @@
             ENDDO
 	    
-	    IF (is_north_pole) then
+	    IF (is_north_pole_dyn) then
 	      DO i=1,iip1
                 pdqfi(i,1,l,iiq)    = zdqfi(1,l,iq)
@@ -999,5 +999,5 @@
 	    ENDIF
 	    
-	    IF (is_south_pole) then
+	    IF (is_south_pole_dyn) then
 	      DO i=1,iip1
                 pdqfi(i,jjp1,l,iiq) = zdqfi(klon,l,iq)
@@ -1032,5 +1032,5 @@
          enddo
          
-         if (is_north_pole) then
+         if (is_north_pole_dyn) then
            DO i=1,iip1
             pdufi(i,1,l)    = 0.
@@ -1038,5 +1038,5 @@
          endif
          
-         if (is_south_pole) then
+         if (is_south_pole_dyn) then
            DO i=1,iip1
             pdufi(i,jjp1,l) = 0.
@@ -1053,6 +1053,6 @@
       kend=klon
 
-      if (is_north_pole) kstart=2
-      if (is_south_pole)  kend=klon-1-iim
+      if (is_north_pole_dyn) kstart=2
+      if (is_south_pole_dyn)  kend=klon-1-iim
       
 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)      
@@ -1078,5 +1078,5 @@
 c      v = U * cos(long) + V * SIN(long)
 
-      if (is_north_pole) then
+      if (is_north_pole_dyn) then
 
 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)      
@@ -1098,5 +1098,5 @@
       endif    
       
-      if (is_south_pole) then
+      if (is_south_pole_dyn) then
 
 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)      
Index: LMDZ5/trunk/libf/dynphy_lonlat/mod_interface_dyn_phys.F90
===================================================================
--- LMDZ5/trunk/libf/dynphy_lonlat/mod_interface_dyn_phys.F90	(revision 2428)
+++ LMDZ5/trunk/libf/dynphy_lonlat/mod_interface_dyn_phys.F90	(revision 2429)
@@ -22,5 +22,5 @@
     
     k=1
-    IF (is_north_pole) THEN
+    IF (is_north_pole_dyn) THEN
       index_i(k)=1
       index_j(k)=1
@@ -28,26 +28,26 @@
     ELSE
       DO i=ii_begin,iim
-	index_i(k)=i
-	index_j(k)=jj_begin
-	k=k+1
-       ENDDO
+        index_i(k)=i
+        index_j(k)=jj_begin
+        k=k+1
+      ENDDO
     ENDIF
     
     DO j=jj_begin+1,jj_end-1
       DO i=1,iim
-	index_i(k)=i
-	index_j(k)=j
-	k=k+1
+        index_i(k)=i
+        index_j(k)=j
+        k=k+1
       ENDDO
     ENDDO
     
-    IF (is_south_pole) THEN
+    IF (is_south_pole_dyn) THEN
       index_i(k)=1
       index_j(k)=jj_end
     ELSE
       DO i=1,ii_end
-	index_i(k)=i
-	index_j(k)=jj_end
-	k=k+1
+        index_i(k)=i
+        index_j(k)=jj_end
+        k=k+1
        ENDDO
     ENDIF
Index: LMDZ5/trunk/libf/phy_common/mod_phys_lmdz_mpi_data.F90
===================================================================
--- LMDZ5/trunk/libf/phy_common/mod_phys_lmdz_mpi_data.F90	(revision 2428)
+++ LMDZ5/trunk/libf/phy_common/mod_phys_lmdz_mpi_data.F90	(revision 2429)
@@ -1,4 +1,4 @@
 !
-!$Header$
+!$Id$
 !
 MODULE mod_phys_lmdz_mpi_data
@@ -41,6 +41,8 @@
   
   
-  LOGICAL,SAVE :: is_north_pole
-  LOGICAL,SAVE :: is_south_pole
+!  LOGICAL,SAVE :: is_north_pole
+!  LOGICAL,SAVE :: is_south_pole
+  LOGICAL,SAVE :: is_north_pole_dyn
+  LOGICAL,SAVE :: is_south_pole_dyn
   INTEGER,SAVE :: COMM_LMDZ_PHY
   INTEGER,SAVE :: MPI_REAL_LMDZ   ! MPI_REAL8
@@ -109,13 +111,13 @@
     
     IF (mpi_rank == 0) THEN 
-      is_north_pole = .TRUE.
-    ELSE
-      is_north_pole = .FALSE.
+      is_north_pole_dyn = .TRUE.
+    ELSE
+      is_north_pole_dyn = .FALSE.
     ENDIF
     
     IF (mpi_rank == mpi_size-1) THEN
-      is_south_pole = .TRUE.
-    ELSE
-      is_south_pole = .FALSE.
+      is_south_pole_dyn = .TRUE.
+    ELSE
+      is_south_pole_dyn = .FALSE.
     ENDIF
     
@@ -217,6 +219,6 @@
     WRITE(lunout,*) 'mpi_master =', mpi_master
     WRITE(lunout,*) 'is_mpi_root =', is_mpi_root
-    WRITE(lunout,*) 'is_north_pole =', is_north_pole
-    WRITE(lunout,*) 'is_south_pole =', is_south_pole
+    WRITE(lunout,*) 'is_north_pole =', is_north_pole_dyn
+    WRITE(lunout,*) 'is_south_pole =', is_south_pole_dyn
     WRITE(lunout,*) 'COMM_LMDZ_PHY =', COMM_LMDZ_PHY
   
Index: LMDZ5/trunk/libf/phy_common/mod_phys_lmdz_mpi_transfert.F90
===================================================================
--- LMDZ5/trunk/libf/phy_common/mod_phys_lmdz_mpi_transfert.F90	(revision 2428)
+++ LMDZ5/trunk/libf/phy_common/mod_phys_lmdz_mpi_transfert.F90	(revision 2429)
@@ -1,4 +1,4 @@
 !
-!$Header$
+!$Id$
 !
 MODULE mod_phys_lmdz_mpi_transfert
@@ -1693,5 +1693,5 @@
     
     offset=ii_begin
-    IF (is_north_pole) Offset=nbp_lon
+    IF (is_north_pole_dyn) Offset=nbp_lon
     
     
@@ -1703,5 +1703,5 @@
     
     
-    IF (is_north_pole) THEN 
+    IF (is_north_pole_dyn) THEN 
       DO i=1,dimsize
         DO ij=1,nbp_lon
@@ -1711,5 +1711,5 @@
     ENDIF
     
-    IF (is_south_pole) THEN 
+    IF (is_south_pole_dyn) THEN 
       DO i=1,dimsize
         DO ij=nbp_lon*(jj_nb-1)+1,nbp_lon*jj_nb
@@ -1737,5 +1737,5 @@
     
     offset=ii_begin
-    IF (is_north_pole) Offset=nbp_lon
+    IF (is_north_pole_dyn) Offset=nbp_lon
     
     
@@ -1747,5 +1747,5 @@
     
     
-    IF (is_north_pole) THEN 
+    IF (is_north_pole_dyn) THEN 
       DO i=1,dimsize
         DO ij=1,nbp_lon
@@ -1755,5 +1755,5 @@
     ENDIF
     
-    IF (is_south_pole) THEN 
+    IF (is_south_pole_dyn) THEN 
       DO i=1,dimsize
         DO ij=nbp_lon*(jj_nb-1)+1,nbp_lon*jj_nb
@@ -1782,5 +1782,5 @@
     
     offset=ii_begin
-    IF (is_north_pole) Offset=nbp_lon
+    IF (is_north_pole_dyn) Offset=nbp_lon
     
     
@@ -1792,5 +1792,5 @@
     
     
-    IF (is_north_pole) THEN 
+    IF (is_north_pole_dyn) THEN 
       DO i=1,dimsize
         DO ij=1,nbp_lon
@@ -1800,5 +1800,5 @@
     ENDIF
     
-    IF (is_south_pole) THEN 
+    IF (is_south_pole_dyn) THEN 
       DO i=1,dimsize
         DO ij=nbp_lon*(jj_nb-1)+1,nbp_lon*jj_nb
@@ -1824,5 +1824,5 @@
 
     offset=ii_begin
-    IF (is_north_pole) offset=nbp_lon
+    IF (is_north_pole_dyn) offset=nbp_lon
 
     DO i=1,dimsize
@@ -1832,5 +1832,5 @@
     ENDDO
 
-    IF (is_north_pole) THEN 
+    IF (is_north_pole_dyn) THEN 
       DO i=1,dimsize
         VarOut(1,i)=VarIn(1,i)
@@ -1854,5 +1854,5 @@
 
     offset=ii_begin
-    IF (is_north_pole) offset=nbp_lon
+    IF (is_north_pole_dyn) offset=nbp_lon
 
     DO i=1,dimsize
@@ -1862,5 +1862,5 @@
     ENDDO
 
-    IF (is_north_pole) THEN 
+    IF (is_north_pole_dyn) THEN 
       DO i=1,dimsize
          VarOut(1,i)=VarIn(1,i)
@@ -1883,5 +1883,5 @@
 
     offset=ii_begin
-    IF (is_north_pole) offset=nbp_lon
+    IF (is_north_pole_dyn) offset=nbp_lon
 
     DO i=1,dimsize
@@ -1891,5 +1891,5 @@
     ENDDO
 
-    IF (is_north_pole) THEN 
+    IF (is_north_pole_dyn) THEN 
       DO i=1,dimsize
         VarOut(1,i)=VarIn(1,i)
Index: LMDZ5/trunk/libf/phy_common/mod_phys_lmdz_omp_data.F90
===================================================================
--- LMDZ5/trunk/libf/phy_common/mod_phys_lmdz_omp_data.F90	(revision 2428)
+++ LMDZ5/trunk/libf/phy_common/mod_phys_lmdz_omp_data.F90	(revision 2429)
@@ -8,4 +8,5 @@
   LOGICAL,SAVE :: is_omp_root
   LOGICAL,SAVE :: is_using_omp
+  LOGICAL,SAVE :: is_north_pole_phy, is_south_pole_phy
   
   INTEGER,SAVE,DIMENSION(:),ALLOCATABLE :: klon_omp_para_nb
@@ -17,9 +18,11 @@
   INTEGER,SAVE :: klon_omp_end
 !$OMP  THREADPRIVATE(omp_rank,klon_omp,is_omp_root,klon_omp_begin,klon_omp_end)
+!$OMP  THREADPRIVATE(is_north_pole_phy, is_south_pole_phy)
 
 CONTAINS
   
   SUBROUTINE Init_phys_lmdz_omp_data(klon_mpi)
-    USE dimphy
+    USE dimphy 
+    USE mod_phys_lmdz_mpi_data, ONLY : is_north_pole_dyn, is_south_pole_dyn
     IMPLICIT NONE
     INTEGER, INTENT(in) :: klon_mpi
@@ -43,4 +46,5 @@
         omp_size=OMP_GET_NUM_THREADS()
 !$OMP END MASTER
+!$OMP BARRIER
         omp_rank=OMP_GET_THREAD_NUM()    
 #else    
@@ -62,4 +66,5 @@
 
 !$OMP MASTER 
+
     ALLOCATE(klon_omp_para_nb(0:omp_size-1))
     ALLOCATE(klon_omp_para_begin(0:omp_size-1))
@@ -80,4 +85,15 @@
 !$OMP END MASTER
 !$OMP BARRIER
+
+   if ((is_north_pole_dyn) .AND. (omp_rank == 0 )) then
+      is_north_pole_phy = .TRUE.
+    else
+      is_north_pole_phy = .FALSE.
+    endif
+    if ((is_south_pole_dyn) .AND. (omp_rank == omp_size-1)) then
+      is_south_pole_phy = .TRUE.
+    else
+      is_south_pole_phy = .FALSE.
+    endif
    
     klon_omp=klon_omp_para_nb(omp_rank)
Index: LMDZ5/trunk/libf/phy_common/mod_phys_lmdz_para.F90
===================================================================
--- LMDZ5/trunk/libf/phy_common/mod_phys_lmdz_para.F90	(revision 2428)
+++ LMDZ5/trunk/libf/phy_common/mod_phys_lmdz_para.F90	(revision 2429)
@@ -1,4 +1,4 @@
 !
-!$Header$
+! $Id$
 !
 MODULE mod_phys_lmdz_para
@@ -11,4 +11,5 @@
   LOGICAL,SAVE :: is_parallel
   LOGICAL,SAVE :: is_master
+
   
 !$OMP THREADPRIVATE(klon_loc,is_master)
@@ -41,4 +42,6 @@
        is_parallel=.FALSE.
      ENDIF
+
+
       
   END SUBROUTINE Init_phys_lmdz_para
Index: LMDZ5/trunk/libf/phylmd/atm2geo.F90
===================================================================
--- LMDZ5/trunk/libf/phylmd/atm2geo.F90	(revision 2428)
+++ LMDZ5/trunk/libf/phylmd/atm2geo.F90	(revision 2429)
@@ -1,4 +1,4 @@
 !
-! $Header$
+! $Id$
 !
 SUBROUTINE atm2geo ( im, jm, pte, ptn, plon, plat, pxx, pyy, pzz )
@@ -32,5 +32,5 @@
   
 ! Value at North Pole  
-  IF (is_north_pole) THEN
+  IF (is_north_pole_dyn) THEN
      pxx(:, 1) = - pte (1, 1)
      pyy(:, 1) = - ptn (1, 1) 
@@ -39,5 +39,5 @@
 
 ! Value at South Pole
-  IF (is_south_pole) THEN
+  IF (is_south_pole_dyn) THEN
      pxx(:,jm) = pxx(1,jm)
      pyy(:,jm) = pyy(1,jm)
Index: LMDZ5/trunk/libf/phylmd/cpl_mod.F90
===================================================================
--- LMDZ5/trunk/libf/phylmd/cpl_mod.F90	(revision 2428)
+++ LMDZ5/trunk/libf/phylmd/cpl_mod.F90	(revision 2429)
@@ -1115,5 +1115,5 @@
     
       IF (is_parallel) THEN
-         IF (.NOT. is_north_pole) THEN
+         IF (.NOT. is_north_pole_dyn) THEN
 #ifdef CPP_MPI
             CALL MPI_RECV(Up,1,MPI_REAL_LMDZ,mpi_rank-1,1234,COMM_LMDZ_PHY,status,error)
@@ -1122,5 +1122,5 @@
          ENDIF
        
-         IF (.NOT. is_south_pole) THEN
+         IF (.NOT. is_south_pole_dyn) THEN
 #ifdef CPP_MPI
             CALL MPI_SEND(tmp_calv(1,jj_nb),1,MPI_REAL_LMDZ,mpi_rank+1,1234,COMM_LMDZ_PHY,error)
@@ -1129,10 +1129,10 @@
          ENDIF
          
-         IF (.NOT. is_north_pole .AND. ii_begin /=1) THEN
+         IF (.NOT. is_north_pole_dyn .AND. ii_begin /=1) THEN
             Up=Up+tmp_calv(nbp_lon,1)
             tmp_calv(:,1)=Up
          ENDIF
          
-         IF (.NOT. is_south_pole .AND. ii_end /= nbp_lon) THEN
+         IF (.NOT. is_south_pole_dyn .AND. ii_end /= nbp_lon) THEN
             Down=Down+tmp_calv(1,jj_nb)
             tmp_calv(:,jj_nb)=Down	 
@@ -1222,6 +1222,6 @@
 
     IF (is_sequential) THEN
-       IF (is_north_pole) tmp_lon(:,1)     = tmp_lon(:,2)
-       IF (is_south_pole) tmp_lon(:,nbp_lat) = tmp_lon(:,nbp_lat-1)
+       IF (is_north_pole_dyn) tmp_lon(:,1)     = tmp_lon(:,2)
+       IF (is_south_pole_dyn) tmp_lon(:,nbp_lat) = tmp_lon(:,nbp_lat-1)
     ENDIF
       
@@ -1389,6 +1389,6 @@
     CALL Grid1Dto2D_mpi(temp_mpi,champ_out)
     
-    IF (is_north_pole) champ_out(:,1)=temp_mpi(1)
-    IF (is_south_pole) champ_out(:,jj_nb)=temp_mpi(klon)
+    IF (is_north_pole_dyn) champ_out(:,1)=temp_mpi(1)
+    IF (is_south_pole_dyn) champ_out(:,jj_nb)=temp_mpi(klon)
 !$OMP END MASTER
     
Index: LMDZ5/trunk/libf/phylmd/geo2atm.F90
===================================================================
--- LMDZ5/trunk/libf/phylmd/geo2atm.F90	(revision 2428)
+++ LMDZ5/trunk/libf/phylmd/geo2atm.F90	(revision 2429)
@@ -37,5 +37,5 @@
 
   ! Value at North Pole
-  IF (is_north_pole) THEN
+  IF (is_north_pole_dyn) THEN
      pu(:, 1) = -px (1,1)
      pv(:, 1) = -py (1,1)
@@ -44,5 +44,5 @@
   
   ! Value at South Pole     
-  IF (is_south_pole) THEN
+  IF (is_south_pole_dyn) THEN
      pu(:,jm) = -px (1,jm)
      pv(:,jm) = -py (1,jm)
Index: LMDZ5/trunk/libf/phylmd/iophy.F90
===================================================================
--- LMDZ5/trunk/libf/phylmd/iophy.F90	(revision 2428)
+++ LMDZ5/trunk/libf/phylmd/iophy.F90	(revision 2429)
@@ -44,5 +44,5 @@
                                 jj_nb, jj_begin, jj_end, ii_begin, ii_end, &
                                 mpi_size, mpi_rank, klon_mpi, &
-                                is_sequential, is_south_pole
+                                is_sequential, is_south_pole_dyn
   USE mod_grid_phy_lmdz, only: nbp_lon, nbp_lat, klon_glo
   USE print_control_mod, ONLY: prt_level,lunout 
@@ -144,5 +144,5 @@
       write(lunout,*) "init_iophy_new: mpirank=",mpi_rank," data_ibegin=",data_ibegin," data_iend=",data_iend
       write(lunout,*) "init_iophy_new: mpirank=",mpi_rank," data_ibegin=",data_ibegin," data_iend=",data_iend
-      write(lunout,*) "init_iophy_new: mpirank=",mpi_rank," is_south_pole=",is_south_pole
+      write(lunout,*) "init_iophy_new: mpirank=",mpi_rank," is_south_pole=",is_south_pole_dyn
     endif
 
@@ -151,5 +151,5 @@
                             1, nbp_lon, ii_begin, ii_end, jj_begin, jj_end,             &
                             klon_mpi+2*(nbp_lon-1), data_ibegin, data_iend,             &
-                            io_lat, io_lon,is_south_pole,mpi_rank)
+                            io_lat, io_lon,is_south_pole_dyn,mpi_rank)
 #endif
 !$OMP END MASTER
Index: LMDZ5/trunk/libf/phylmd/oasis.F90
===================================================================
--- LMDZ5/trunk/libf/phylmd/oasis.F90	(revision 2428)
+++ LMDZ5/trunk/libf/phylmd/oasis.F90	(revision 2429)
@@ -342,5 +342,5 @@
     
     istart=ii_begin
-    IF (is_south_pole) THEN
+    IF (is_south_pole_dyn) THEN
        iend=(jj_end-jj_begin)*nbp_lon+nbp_lon
     ELSE
@@ -408,5 +408,5 @@
 
     istart=ii_begin
-    IF (is_south_pole) THEN
+    IF (is_south_pole_dyn) THEN
        iend=(jj_end-jj_begin)*nbp_lon+nbp_lon
     ELSE
@@ -417,6 +417,6 @@
        wstart=istart
        wend=iend
-       IF (is_north_pole) wstart=istart+nbp_lon-1
-       IF (is_south_pole) wend=iend-nbp_lon+1
+       IF (is_north_pole_dyn) wstart=istart+nbp_lon-1
+       IF (is_south_pole_dyn) wend=iend-nbp_lon+1
        
        DO i = 1, maxsend
Index: LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90
===================================================================
--- LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 2428)
+++ LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 2429)
@@ -1,4 +1,4 @@
 !
-! $Header$
+! $Id$
 !
 MODULE phys_output_write_mod
@@ -25,4 +25,5 @@
 
     USE dimphy, only: klon, klev, klevp1, nslay
+    USE mod_phys_lmdz_para, ONLY: is_north_pole_phy,is_south_pole_phy
     USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat
     USE time_phylmdz_mod, only: day_step_phy, start_time, itau_phy
@@ -348,5 +349,13 @@
 !!! Champs 1D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        CALL histwrite_phy(o_phis, pphis)
-       CALL histwrite_phy(o_aire, cell_area)
+
+       zx_tmp_fi2d = cell_area
+       if (is_north_pole_phy) then
+         zx_tmp_fi2d(1) = cell_area(1)/nbp_lon
+       endif
+       if (is_south_pole_phy) then
+         zx_tmp_fi2d(klon) = cell_area(klon)/nbp_lon
+       endif
+       CALL histwrite_phy(o_aire, zx_tmp_fi2d)
 
        IF (vars_defined) THEN
