Index: LMDZ5/trunk/libf/dynlonlat_phylonlat/calfis_loc.F
===================================================================
--- LMDZ5/trunk/libf/dynlonlat_phylonlat/calfis_loc.F	(revision 2242)
+++ LMDZ5/trunk/libf/dynlonlat_phylonlat/calfis_loc.F	(revision 2333)
@@ -38,4 +38,5 @@
 #ifdef CPP_PARA
       USE parallel_lmdz,ONLY:omp_chunk,using_mpi,jjb_u,jje_u,jjb_v,jje_v
+     $                        ,jj_begin_dyn=>jj_begin,jj_end_dyn=>jj_end
       USE Write_Field
       Use Write_field_p
@@ -154,5 +155,6 @@
       REAL,ALLOCATABLE,SAVE :: zphi(:,:),zphis(:)
 c
-      REAL,ALLOCATABLE,SAVE :: zufi(:,:), zvfi(:,:)
+      REAL zrot(iip1,jjb_v:jje_v,llm) ! AdlC May 2014
+      REAL,ALLOCATABLE,SAVE :: zufi(:,:), zvfi(:,:), zrfi(:,:)
       REAL,ALLOCATABLE,SAVE :: ztfi(:,:),zqfi(:,:,:)
 c
@@ -173,4 +175,5 @@
       REAL,ALLOCATABLE,SAVE :: zufi_omp(:,:) 
       REAL,ALLOCATABLE,SAVE :: zvfi_omp(:,:)
+      REAL,ALLOCATABLE,SAVE :: zrfi_omp(:,:)
       REAL,ALLOCATABLE,SAVE :: ztfi_omp(:,:)
       REAL,ALLOCATABLE,SAVE :: zqfi_omp(:,:,:)
@@ -206,5 +209,5 @@
 c$OMP THREADPRIVATE(zplev_omp,zplay_omp,zphi_omp,zphis_omp,
 c$OMP+                 presnivs_omp,zufi_omp,zvfi_omp,ztfi_omp,
-c$OMP+                 zqfi_omp,zdufi_omp,zdvfi_omp,
+c$OMP+                 zrfi_omp,zqfi_omp,zdufi_omp,zdvfi_omp,
 c$OMP+                 zdtfi_omp,zdqfi_omp,zdpsrf_omp,flxwfi_omp,
 c$OMP+                 zdufic_omp,zdvfic_omp,zdtfic_omp,zdqfic_omp)       
@@ -233,4 +236,5 @@
       integer :: k,kstart,kend
       INTEGER :: offset
+      INTEGER :: jjb,jje
 
       LOGICAL tracerdyn  
@@ -259,5 +263,5 @@
       ALLOCATE(zplev(klon,llm+1),zplay(klon,llm))
       ALLOCATE(zphi(klon,llm),zphis(klon))
-      ALLOCATE(zufi(klon,llm), zvfi(klon,llm))
+      ALLOCATE(zufi(klon,llm), zvfi(klon,llm),zrfi(klon,llm))
       ALLOCATE(ztfi(klon,llm),zqfi(klon,llm,nqtot))
       ALLOCATE(pcvgu(klon,llm), pcvgv(klon,llm))
@@ -431,5 +435,29 @@
 c$OMP END DO NOWAIT
 
-c   46.champ v:
+c
+C  Alvaro de la Camara (May 2014)
+C  46.1 Calcul de la vorticite et passage sur la grille physique
+C  --------------------------------------------------------------
+
+      jjb=jj_begin_dyn-1
+      jje=jj_end_dyn+1
+      if (is_north_pole) jjb=1
+      if (is_south_pole) jje=jjm
+
+c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
+
+      DO l=1,llm
+        do i=1,iim
+          do j=jjb,jje
+            zrot(i,j,l) = (pvcov(i+1,j,l) - pvcov(i,j,l)
+     $                   + pucov(i,j+1,l) - pucov(i,j,l))
+     $                   / (cu(i,j)+cu(i,j+1))
+     $                   / (cv(i+1,j)+cv(i,j)) *4
+          enddo
+        enddo
+      ENDDO
+
+
+c   46.2champ v:
 c   -----------
 
@@ -443,4 +471,16 @@
           zvfi(ig0,l)= 0.5 *(  pvcov(i,j-1,l)/cv(i,j-1) 
      $                       + pvcov(i,j,l)/cv(i,j) )
+          if (j==1 .OR. j==jjp1) then !  AdlC MAY 2014
+            zrfi(ig0,l) = 0 !  AdlC MAY 2014
+          else
+            if(i==1)then
+            zrfi(ig0,l)= 0.25 *(zrot(iim,j-1,l)+zrot(iim,j,l)
+     $                   +zrot(1,j-1,l)+zrot(1,j,l))   !  AdlC MAY 2014
+            else
+            zrfi(ig0,l)= 0.25 *(zrot(i-1,j-1,l)+zrot(i-1,j,l)
+     $                   +zrot(i,j-1,l)+zrot(i,j,l))   !  AdlC MAY 2014
+            endif
+          endif
+
     
          ENDDO
@@ -469,4 +509,5 @@
            zufi(1,l)  = SSUM(iim,zcos,1)/pi
            zvfi(1,l)  = SSUM(iim,zsin,1)/pi
+           zrfi(1,l)  = 0.
   
         ENDDO
@@ -496,4 +537,5 @@
            zufi(klon,l)  = SSUM(iim,zcos,1)/pi
            zvfi(klon,l)  = SSUM(iim,zsin,1)/pi
+           zrfi(klon,l)  = 0.
         ENDDO
 c$OMP END DO NOWAIT       
@@ -531,4 +573,5 @@
         allocate(zufi_omp(klon,llm))
         allocate(zvfi_omp(klon,llm))
+        allocate(zrfi_omp(klon,llm))  ! LG Ari 2014
         allocate(ztfi_omp(klon,llm))
         allocate(zqfi_omp(klon,llm,nqtot))
@@ -591,4 +634,10 @@
       do l=1,llm
         do i=1,klon
+	  zrfi_omp(i,l)=zrfi(offset+i,l)
+	enddo 
+      enddo
+	
+      do l=1,llm
+        do i=1,klon
 	  ztfi_omp(i,l)=ztfi(offset+i,l)
 	enddo 
@@ -674,4 +723,5 @@
      .             zufi_omp,
      .             zvfi_omp,
+     .             zrfi_omp,
      .             ztfi_omp,
      .             zqfi_omp,
