Index: trunk/LMDZ.COMMON/libf/dynphy_lonlat/calfis.F
===================================================================
--- trunk/LMDZ.COMMON/libf/dynphy_lonlat/calfis.F	(revision 1543)
+++ trunk/LMDZ.COMMON/libf/dynphy_lonlat/calfis.F	(revision 1549)
@@ -33,5 +33,8 @@
       USE write_field
       USE cpdet_mod, only: t2tpot,tpot2t
- 
+#ifdef CPP_PHYS
+      USE callphysiq_mod, ONLY: call_physiq
+#endif 
+
 ! used only for zonal averages
       USE moyzon_mod
@@ -145,5 +148,7 @@
       REAL zphi(ngridmx,llm),zphis(ngridmx)
 
+      REAL zrot(iip1,jjm,llm) ! AdlC May 2014
       REAL zufi(ngridmx,llm), zvfi(ngridmx,llm)
+      REAL zrfi(ngridmx,llm) ! relative wind vorticity
       REAL ztfi(ngridmx,llm),zqfi(ngridmx,llm,nqtot)
 ! ADAPTATION GCM POUR CP(T)
@@ -572,4 +577,18 @@
 
 
+C  Alvaro de la Camara (May 2014)
+C  46.1 Calcul de la vorticite et passage sur la grille physique
+C  --------------------------------------------------------------
+      DO l=1,llm
+        do i=1,iim
+          do j=1,jjm
+            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.champ v:
 c   -----------
@@ -584,4 +603,10 @@
 c     $         ( pdvcov(i,j-1,l)/cv(i,j-1) + pdvcov(i,j,l)/cv(i,j) )
             ENDDO
+               zrfi(ig0 + 1,l)= 0.25 *(zrot(iim,j-1,l)+zrot(iim,j,l)
+     &                                +zrot(1,j-1,l)+zrot(1,j,l))
+            DO i=2,iim
+               zrfi(ig0 + i,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
+            ENDDO
          ENDDO
       ENDDO
@@ -613,5 +638,5 @@
          zvfi(1,l)  = SSUM(iim,zsin,1)/pi
 !         pcvgv(1,l) = SSUM(iim,zsinbis,1)/pi
-
+         zrfi(1, l) = 0.
       ENDDO
 
@@ -642,5 +667,5 @@
          zvfi(ngridmx,l)  = SSUM(iim,zsin,1)/pi
 !         pcvgv(ngridmx,l) = SSUM(iim,zsinbis,1)/pi
-
+         zrfi(ngridmx, l) = 0.
       ENDDO
 c
@@ -674,114 +699,125 @@
          lafin_split=lafin.and.isplit==nsplit_phys
 
-      if (planet_type.eq."earth") then
-         CALL physiq (ngridmx,
-     .             llm,
-     .             debut_split,
-     .             lafin_split,
-     .             jD_cur,
-     .             jH_cur_split,
-     .             zdt_split,
-     .             zplev,
-     .             zplay,
-     .             zphi,
-     .             zphis,
-     .             presnivs,
-     .             zufi,
-     .             zvfi,
-     .             ztfi,
-     .             zqfi,
-     .             flxwfi,
-     .             zdufi,
-     .             zdvfi,
-     .             zdtfi,
-     .             zdqfi,
-     .             zdpsrf,
-     .             pducov)
-
-      else if ( planet_type=="generic" ) then
-
-         CALL physiq (ngridmx,     !! ngrid
-     .             llm,            !! nlayer
-     .             nqtot,          !! nq
-     .             tname,          !! tracer names from dynamical core (given in infotrac)
-     .             debut_split,    !! firstcall 
-     .             lafin_split,    !! lastcall
-     .             jD_cur,         !! pday. see leapfrog
-     .             jH_cur_split,   !! ptime "fraction of day"
-     .             zdt_split,      !! ptimestep
-     .             zplev,          !! pplev
-     .             zplay,          !! pplay
-     .             zphi,           !! pphi
-     .             zufi,           !! pu
-     .             zvfi,           !! pv
-     .             ztfi,           !! pt
-     .             zqfi,           !! pq
-     .             flxwfi,         !! pw !! or 0. anyway this is for diagnostic. not used in physiq.
-     .             zdufi,          !! pdu
-     .             zdvfi,          !! pdv
-     .             zdtfi,          !! pdt
-     .             zdqfi,          !! pdq
-     .             zdpsrf,         !! pdpsrf
-     .             tracerdyn)      !! tracerdyn <-- utilite ???
-
-      else if ( planet_type=="mars" ) then
-
-        CALL physiq (ngridmx,    ! ngrid
-     .             llm,          ! nlayer
-     .             nqtot,        ! nq
-     .             debut_split,  ! firstcall
-     .             lafin_split,  ! lastcall
-     .             jD_cur,       ! pday
-     .             jH_cur_split, ! ptime
-     .             zdt_split,    ! ptimestep
-     .             zplev,        ! pplev
-     .             zplay,        ! pplay
-     .             zphi,         ! pphi
-     .             zufi,         ! pu
-     .             zvfi,         ! pv
-     .             ztfi,         ! pt
-     .             zqfi,         ! pq
-     .             flxwfi,       ! pw
-     .             zdufi,        ! pdu
-     .             zdvfi,        ! pdv
-     .             zdtfi,        ! pdt
-     .             zdqfi,        ! pdq
-     .             zdpsrf,       ! pdpsrf
-     .             tracerdyn)    ! tracerdyn (somewhat obsolete)
-
-      else if ((planet_type=="titan").or.(planet_type=="venus")) then
-
-         CALL physiq (ngridmx,
-     .             llm,
-     .             nqtot,
-     .             debut_split,
-     .             lafin_split,
-     .             jD_cur,
-     .             jH_cur_split,
-     .             zdt_split,
-     .             zplev,
-     .             zplay,
-     .             zpk,
-     .             zphi,
-     .             zphis,
-     .             presnivs,
-     .             zufi,
-     .             zvfi,
-     .             ztfi,
-     .             zqfi,
-     .             flxwfi,
-     .             zdufi,
-     .             zdvfi,
-     .             zdtfi,
-     .             zdqfi,
-     .             zdpsrf)
-
-      else ! unknown "planet_type"
-
-        write(lunout,*) "calfis_p: error, unknown planet_type: ",
-     &                  trim(planet_type)
-        stop
-
-      endif ! planet_type
+        CALL call_physiq(ngridmx,llm,nqtot,tname,
+     &                   debut_split,lafin_split,
+     &                   jD_cur,jH_cur_split,zdt_split,
+     &                   zplev,zplay,
+     &                   zpk,zphi,zphis,
+     &                   presnivs,
+     &                   zufi,zvfi,zrfi,ztfi,zqfi,
+     &                   flxwfi,pducov,
+     &                   zdufi,zdvfi,zdtfi,zdqfi,zdpsrf,
+     &                   tracerdyn)
+
+!      if (planet_type.eq."earth") then
+!         CALL physiq (ngridmx,
+!     .             llm,
+!     .             debut_split,
+!     .             lafin_split,
+!     .             jD_cur,
+!     .             jH_cur_split,
+!     .             zdt_split,
+!     .             zplev,
+!     .             zplay,
+!     .             zphi,
+!     .             zphis,
+!     .             presnivs,
+!     .             zufi,
+!     .             zvfi,
+!     .             ztfi,
+!     .             zqfi,
+!     .             flxwfi,
+!     .             zdufi,
+!     .             zdvfi,
+!     .             zdtfi,
+!     .             zdqfi,
+!     .             zdpsrf,
+!     .             pducov)
+!
+!      else if ( planet_type=="generic" ) then
+!
+!         CALL physiq (ngridmx,     !! ngrid
+!     .             llm,            !! nlayer
+!     .             nqtot,          !! nq
+!     .             tname,          !! tracer names from dynamical core (given in infotrac)
+!     .             debut_split,    !! firstcall 
+!     .             lafin_split,    !! lastcall
+!     .             jD_cur,         !! pday. see leapfrog
+!     .             jH_cur_split,   !! ptime "fraction of day"
+!     .             zdt_split,      !! ptimestep
+!     .             zplev,          !! pplev
+!     .             zplay,          !! pplay
+!     .             zphi,           !! pphi
+!     .             zufi,           !! pu
+!     .             zvfi,           !! pv
+!     .             ztfi,           !! pt
+!     .             zqfi,           !! pq
+!     .             flxwfi,         !! pw !! or 0. anyway this is for diagnostic. not used in physiq.
+!     .             zdufi,          !! pdu
+!     .             zdvfi,          !! pdv
+!     .             zdtfi,          !! pdt
+!     .             zdqfi,          !! pdq
+!     .             zdpsrf,         !! pdpsrf
+!     .             tracerdyn)      !! tracerdyn <-- utilite ???
+!
+!      else if ( planet_type=="mars" ) then
+!
+!        CALL physiq (ngridmx,    ! ngrid
+!     .             llm,          ! nlayer
+!     .             nqtot,        ! nq
+!     .             debut_split,  ! firstcall
+!     .             lafin_split,  ! lastcall
+!     .             jD_cur,       ! pday
+!     .             jH_cur_split, ! ptime
+!     .             zdt_split,    ! ptimestep
+!     .             zplev,        ! pplev
+!     .             zplay,        ! pplay
+!     .             zphi,         ! pphi
+!     .             zufi,         ! pu
+!     .             zvfi,         ! pv
+!     .             ztfi,         ! pt
+!     .             zqfi,         ! pq
+!     .             flxwfi,       ! pw
+!     .             zdufi,        ! pdu
+!     .             zdvfi,        ! pdv
+!     .             zdtfi,        ! pdt
+!     .             zdqfi,        ! pdq
+!     .             zdpsrf,       ! pdpsrf
+!     .             tracerdyn)    ! tracerdyn (somewhat obsolete)
+!
+!      else if ((planet_type=="titan").or.(planet_type=="venus")) then
+!
+!         CALL physiq (ngridmx,
+!     .             llm,
+!     .             nqtot,
+!     .             debut_split,
+!     .             lafin_split,
+!     .             jD_cur,
+!     .             jH_cur_split,
+!     .             zdt_split,
+!     .             zplev,
+!     .             zplay,
+!     .             zpk,
+!     .             zphi,
+!     .             zphis,
+!     .             presnivs,
+!     .             zufi,
+!     .             zvfi,
+!     .             ztfi,
+!     .             zqfi,
+!     .             flxwfi,
+!     .             zdufi,
+!     .             zdvfi,
+!     .             zdtfi,
+!     .             zdqfi,
+!     .             zdpsrf)
+!
+!      else ! unknown "planet_type"
+!
+!        write(lunout,*) "calfis_p: error, unknown planet_type: ",
+!     &                  trim(planet_type)
+!        stop
+!
+!      endif ! planet_type
 
          zufi(:,:)=zufi(:,:)+zdufi(:,:)*zdt_split
Index: trunk/LMDZ.COMMON/libf/dynphy_lonlat/calfis_p.F
===================================================================
--- trunk/LMDZ.COMMON/libf/dynphy_lonlat/calfis_p.F	(revision 1543)
+++ trunk/LMDZ.COMMON/libf/dynphy_lonlat/calfis_p.F	(revision 1549)
@@ -36,5 +36,7 @@
 #endif
 #ifdef CPP_PARA
-      USE parallel_lmdz, ONLY : omp_chunk, using_mpi, AllGather_Field
+      USE parallel_lmdz, ONLY: omp_chunk, using_mpi, AllGather_Field,
+     &                         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
@@ -49,4 +51,7 @@
       USE comconst_mod, ONLY: daysec,dtvr,dtphys,kappa,cpp,g,rad,pi
       USE logic_mod, ONLY: moyzon_ch,moyzon_mu
+#ifdef CPP_PHYS
+      USE callphysiq_mod, ONLY: call_physiq
+#endif 
 
       IMPLICIT NONE
@@ -159,4 +164,6 @@
       REAL,ALLOCATABLE,SAVE :: zphi(:,:),zphis(:)
 
+!      REAL zrot(iip1,jjb_v:jje_v,llm) ! AdlC May 2014
+      REAL :: zrot(iip1,jjm,llm)
       REAL,ALLOCATABLE,SAVE :: zufi(:,:), zvfi(:,:)
       REAL,ALLOCATABLE,SAVE :: ztfi(:,:),zqfi(:,:,:)
@@ -170,5 +177,5 @@
 !      REAL,ALLOCATABLE,SAVE :: pcvgt(:,:), pcvgq(:,:,:)
 c
-      REAL,ALLOCATABLE,SAVE :: zdufi(:,:),zdvfi(:,:)
+      REAL,ALLOCATABLE,SAVE :: zdufi(:,:),zdvfi(:,:), zrfi(:,:)
       REAL,ALLOCATABLE,SAVE :: zdtfi(:,:),zdqfi(:,:,:)
       REAL,ALLOCATABLE,SAVE :: zdpsrf(:)
@@ -183,4 +190,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(:,:,:)
@@ -216,5 +224,5 @@
 c$OMP THREADPRIVATE(zplev_omp,zplay_omp,zpk_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)       
@@ -244,4 +252,5 @@
       integer :: k,kstart,kend
       INTEGER :: offset  
+      INTEGER :: jjb,jje
 
       LOGICAL tracerdyn ! for generic/mars physics call ; possibly to get rid of
@@ -294,5 +303,5 @@
 !      ALLOCATE(pcvgu(klon,llm), pcvgv(klon,llm))
 !      ALLOCATE(pcvgt(klon,llm), pcvgq(klon,llm,2))
-      ALLOCATE(zdufi(klon,llm),zdvfi(klon,llm))
+      ALLOCATE(zdufi(klon,llm),zdvfi(klon,llm),zrfi(klon,llm))
       ALLOCATE(zdtfi(klon,llm),zdqfi(klon,llm,nqtot))
       ALLOCATE(zdpsrf(klon))
@@ -610,5 +619,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   -----------
 
@@ -623,4 +656,17 @@
      $                       + 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
       ENDDO
@@ -648,4 +694,5 @@
            zufi(1,l)  = SSUM(iim,zcos,1)/pi
            zvfi(1,l)  = SSUM(iim,zsin,1)/pi
+           zrfi(1,l)  = 0.
   
         ENDDO
@@ -675,4 +722,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       
@@ -706,4 +754,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))
@@ -775,4 +824,11 @@
       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 
@@ -880,115 +936,125 @@
          lafin_split=lafin.and.isplit==nsplit_phys
 
-
-      if (planet_type=="earth") then
-        CALL physiq (klon,
-     .             llm,
-     .             debut_split,
-     .             lafin_split,
-     .             jD_cur,
-     .             jH_cur_split,
-     .             zdt_split,
-     .             zplev_omp,
-     .             zplay_omp,
-     .             zphi_omp,
-     .             zphis_omp,
-     .             presnivs_omp,
-     .             zufi_omp,
-     .             zvfi_omp,
-     .             ztfi_omp,
-     .             zqfi_omp,
-     .             flxwfi_omp,
-     .             zdufi_omp,
-     .             zdvfi_omp,
-     .             zdtfi_omp,
-     .             zdqfi_omp,
-     .             zdpsrf_omp,
-     .             pducov)
-
-      else if ( planet_type=="generic" ) then
-
-      CALL physiq (klon,     !! ngrid
-     .             llm,            !! nlayer
-     .             nqtot,          !! nq
-     .             tname,          !! tracer names from dynamical core (given in infotrac)
-     .             debut_split,    !! firstcall 
-     .             lafin_split,    !! lastcall
-     .             jD_cur,         !! pday. see leapfrog_p 
-     .             jH_cur_split,   !! ptime "fraction of day"
-     .             zdt_split,      !! ptimestep
-     .             zplev_omp,  !! pplev
-     .             zplay_omp,  !! pplay
-     .             zphi_omp,   !! pphi
-     .             zufi_omp,   !! pu
-     .             zvfi_omp,   !! pv
-     .             ztfi_omp,   !! pt
-     .             zqfi_omp,   !! pq
-     .             flxwfi_omp, !! pw !! or 0. anyway this is for diagnostic. not used in physiq.
-     .             zdufi_omp,  !! pdu
-     .             zdvfi_omp,  !! pdv
-     .             zdtfi_omp,  !! pdt
-     .             zdqfi_omp,  !! pdq
-     .             zdpsrf_omp, !! pdpsrf
-     .             tracerdyn)      !! tracerdyn <-- utilite ???
-
-      else if ( planet_type=="mars" ) then
-
-        CALL physiq (klon,       ! ngrid
-     .             llm,          ! nlayer
-     .             nqtot,        ! nq
-     .             debut_split,  ! firstcall
-     .             lafin_split,  ! lastcall
-     .             jD_cur,       ! pday
-     .             jH_cur_split, ! ptime
-     .             zdt_split,    ! ptimestep
-     .             zplev_omp,    ! pplev
-     .             zplay_omp,    ! pplay
-     .             zphi_omp,     ! pphi
-     .             zufi_omp,     ! pu
-     .             zvfi_omp,     ! pv
-     .             ztfi_omp,     ! pt
-     .             zqfi_omp,     ! pq
-     .             flxwfi_omp,   ! pw
-     .             zdufi_omp,    ! pdu
-     .             zdvfi_omp,    ! pdv
-     .             zdtfi_omp,    ! pdt
-     .             zdqfi_omp,    ! pdq
-     .             zdpsrf_omp,   ! pdpsrf
-     .             tracerdyn)    ! tracerdyn (somewhat obsolete)
-
-      else if ((planet_type=="titan").or.(planet_type=="venus")) then
-
-        CALL physiq (klon,
-     .             llm,
-     .             nqtot,
-     .             debut_split,
-     .             lafin_split,
-     .             jD_cur,
-     .             jH_cur_split,
-     .             zdt_split,
-     .             zplev_omp,
-     .             zplay_omp,
-     .             zpk_omp,
-     .             zphi_omp,
-     .             zphis_omp,
-     .             presnivs_omp,
-     .             zufi_omp,
-     .             zvfi_omp,
-     .             ztfi_omp,
-     .             zqfi_omp,
-     .             flxwfi_omp,
-     .             zdufi_omp,
-     .             zdvfi_omp,
-     .             zdtfi_omp,
-     .             zdqfi_omp,
-     .             zdpsrf_omp)
-
-      else ! unknown "planet_type"
-
-        write(lunout,*) "calfis_p: error, unknown planet_type: ",
-     &                  trim(planet_type)
-        stop
-
-      endif ! planet_type
+        CALL call_physiq(klon,llm,nqtot,tname,
+     &                   debut_split,lafin_split,
+     &                   jD_cur,jH_cur_split,zdt_split,
+     &                   zplev_omp,zplay_omp,
+     &                   zpk_omp,zphi_omp,zphis_omp,
+     &                   presnivs_omp,
+     &                   zufi_omp,zvfi_omp,zrfi_omp,ztfi_omp,zqfi_omp,
+     &                   flxwfi_omp,pducov,
+     &                   zdufi_omp,zdvfi_omp,zdtfi_omp,zdqfi_omp,
+     &                   zdpsrf_omp,tracerdyn)
+
+!      if (planet_type=="earth") then
+!        CALL physiq (klon,
+!     .             llm,
+!     .             debut_split,
+!     .             lafin_split,
+!     .             jD_cur,
+!     .             jH_cur_split,
+!     .             zdt_split,
+!     .             zplev_omp,
+!     .             zplay_omp,
+!     .             zphi_omp,
+!     .             zphis_omp,
+!     .             presnivs_omp,
+!     .             zufi_omp,
+!     .             zvfi_omp,
+!     .             ztfi_omp,
+!     .             zqfi_omp,
+!     .             flxwfi_omp,
+!     .             zdufi_omp,
+!     .             zdvfi_omp,
+!     .             zdtfi_omp,
+!     .             zdqfi_omp,
+!     .             zdpsrf_omp,
+!     .             pducov)
+!
+!      else if ( planet_type=="generic" ) then
+!
+!      CALL physiq (klon,     !! ngrid
+!     .             llm,            !! nlayer
+!     .             nqtot,          !! nq
+!     .             tname,          !! tracer names from dynamical core (given in infotrac)
+!     .             debut_split,    !! firstcall 
+!     .             lafin_split,    !! lastcall
+!     .             jD_cur,         !! pday. see leapfrog_p 
+!     .             jH_cur_split,   !! ptime "fraction of day"
+!     .             zdt_split,      !! ptimestep
+!     .             zplev_omp,  !! pplev
+!     .             zplay_omp,  !! pplay
+!     .             zphi_omp,   !! pphi
+!     .             zufi_omp,   !! pu
+!     .             zvfi_omp,   !! pv
+!     .             ztfi_omp,   !! pt
+!     .             zqfi_omp,   !! pq
+!     .             flxwfi_omp, !! pw !! or 0. anyway this is for diagnostic. not used in physiq.
+!     .             zdufi_omp,  !! pdu
+!     .             zdvfi_omp,  !! pdv
+!     .             zdtfi_omp,  !! pdt
+!     .             zdqfi_omp,  !! pdq
+!     .             zdpsrf_omp, !! pdpsrf
+!     .             tracerdyn)      !! tracerdyn <-- utilite ???
+!
+!      else if ( planet_type=="mars" ) then
+!
+!        CALL physiq (klon,       ! ngrid
+!     .             llm,          ! nlayer
+!     .             nqtot,        ! nq
+!     .             debut_split,  ! firstcall
+!     .             lafin_split,  ! lastcall
+!     .             jD_cur,       ! pday
+!     .             jH_cur_split, ! ptime
+!     .             zdt_split,    ! ptimestep
+!     .             zplev_omp,    ! pplev
+!     .             zplay_omp,    ! pplay
+!     .             zphi_omp,     ! pphi
+!     .             zufi_omp,     ! pu
+!     .             zvfi_omp,     ! pv
+!     .             ztfi_omp,     ! pt
+!     .             zqfi_omp,     ! pq
+!     .             flxwfi_omp,   ! pw
+!     .             zdufi_omp,    ! pdu
+!     .             zdvfi_omp,    ! pdv
+!     .             zdtfi_omp,    ! pdt
+!     .             zdqfi_omp,    ! pdq
+!     .             zdpsrf_omp,   ! pdpsrf
+!     .             tracerdyn)    ! tracerdyn (somewhat obsolete)
+!
+!      else if ((planet_type=="titan").or.(planet_type=="venus")) then
+!
+!        CALL physiq (klon,
+!     .             llm,
+!     .             nqtot,
+!     .             debut_split,
+!     .             lafin_split,
+!     .             jD_cur,
+!     .             jH_cur_split,
+!     .             zdt_split,
+!     .             zplev_omp,
+!     .             zplay_omp,
+!     .             zpk_omp,
+!     .             zphi_omp,
+!     .             zphis_omp,
+!     .             presnivs_omp,
+!     .             zufi_omp,
+!     .             zvfi_omp,
+!     .             ztfi_omp,
+!     .             zqfi_omp,
+!     .             flxwfi_omp,
+!     .             zdufi_omp,
+!     .             zdvfi_omp,
+!     .             zdtfi_omp,
+!     .             zdqfi_omp,
+!     .             zdpsrf_omp)
+!
+!      else ! unknown "planet_type"
+!
+!        write(lunout,*) "calfis_p: error, unknown planet_type: ",
+!     &                  trim(planet_type)
+!        stop
+!
+!      endif ! planet_type
          zufi_omp(:,:)=zufi_omp(:,:)+zdufi_omp(:,:)*zdt_split
          zvfi_omp(:,:)=zvfi_omp(:,:)+zdvfi_omp(:,:)*zdt_split
Index: trunk/LMDZ.COMMON/libf/dynphy_lonlat/phytitan/callphysiq_mod.F90
===================================================================
--- trunk/LMDZ.COMMON/libf/dynphy_lonlat/phytitan/callphysiq_mod.F90	(revision 1549)
+++ trunk/LMDZ.COMMON/libf/dynphy_lonlat/phytitan/callphysiq_mod.F90	(revision 1549)
@@ -0,0 +1,99 @@
+!
+! $Id: $
+!
+MODULE callphysiq_mod
+
+IMPLICIT NONE
+
+CONTAINS
+
+SUBROUTINE call_physiq(klon,llm,nqtot,tname,                              &
+                       debut_split,lafin_split,                           &
+                       jD_cur,jH_cur_split,zdt_split,                     &
+                       zplev_omp,zplay_omp,                               &
+                       zpk_omp,zphi_omp,zphis_omp,                        &
+                       presnivs_omp,                                      &
+                       zufi_omp,zvfi_omp,zrfi_omp,ztfi_omp,zqfi_omp,      &
+                       flxwfi_omp,pducov,                                 &
+                       zdufi_omp,zdvfi_omp,zdtfi_omp,zdqfi_omp,zdpsrf_omp,&
+                       tracerdyn)
+
+  USE control_mod, ONLY: planet_type
+  USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat
+  USE physiq_mod, ONLY: physiq
+  IMPLICIT NONE
+
+  INTEGER,INTENT(IN) :: klon ! (local) number of atmospheric columns
+  INTEGER,INTENT(IN) :: llm  ! number of atmospheric layers
+  INTEGER,INTENT(IN) :: nqtot ! number of tracers
+  CHARACTER(len=*),INTENT(IN) :: tname(nqtot) ! tracer names
+  LOGICAL,INTENT(IN) :: debut_split ! .true. if very first call to physics
+  LOGICAL,INTENT(IN) :: lafin_split ! .true. if last call to physics
+  REAL,INTENT(IN) :: JD_cur ! Julian day
+  REAL,INTENT(IN) :: JH_cur_split ! Julian hour (fraction of day)
+  REAL,INTENT(IN) :: zdt_split ! time step over which the physics are evaluated
+  REAL,INTENT(IN) :: zplev_omp(klon,llm+1) ! interlayer pressure (Pa)
+  REAL,INTENT(IN) :: zplay_omp(klon,llm) ! mid-layer pressure (Pa)
+  REAL,INTENT(IN) :: zpk_omp(klon,llm)
+  REAL,INTENT(IN) :: zphi_omp(klon,llm) ! geopotential at midlayer
+  REAL,INTENT(IN) :: zphis_omp(klon) ! surface geopotential
+  REAL,INTENT(IN) :: presnivs_omp(llm) ! approximate pressure of atm. layers
+  REAL,INTENT(IN) :: zufi_omp(klon,llm) ! zonal wind (m/s)
+  REAL,INTENT(IN) :: zvfi_omp(klon,llm) ! meridional wind (m/s)
+  REAL,INTENT(IN) :: zrfi_omp(klon,llm) ! relative wind vorticity, in s-1
+  REAL,INTENT(IN) :: ztfi_omp(klon,llm) ! temperature (K)
+  REAL,INTENT(IN) :: zqfi_omp(klon,llm,nqtot) ! tracers (*/kg of air)
+  REAL,INTENT(IN) :: flxwfi_omp(klon,llm) ! Vertical mass flux on lower mesh interfaces (kg/s) 
+  REAL,INTENT(IN) :: pducov(nbp_lon+1,nbp_lat,llm) ! dynamical tendency on ucov
+  ! tendencies (in */s) from the physics:
+  REAL,INTENT(OUT) :: zdufi_omp(klon,llm) ! tendency on zonal winds
+  REAL,INTENT(OUT) :: zdvfi_omp(klon,llm) ! tendency on meridional winds
+  REAL,INTENT(OUT) :: zdtfi_omp(klon,llm) ! tendency on temperature
+  REAL,INTENT(OUT) :: zdqfi_omp(klon,llm,nqtot) ! tendency on tracers
+  REAL,INTENT(OUT) :: zdpsrf_omp(klon) ! tendency on surface pressure
+  LOGICAL,INTENT(OUT) :: tracerdyn
+
+  ! Local variables
+  CHARACTER(len=11) :: modname="call_physiq"
+  LOGICAL,SAVE :: firstcall=.true.
+!$OMP THREADPRIVATE(firstcall)
+
+! Sanity check on physics package type
+  IF (firstcall) THEN
+    IF (planet_type.ne."titan") THEN
+      CALL abort_gcm(modname,"wrong planet_type for this physics package",1)
+    ENDIF
+    firstcall=.false.
+  ENDIF
+
+
+! Call physics package with required inputs/outputs
+  CALL physiq(klon,           &
+              llm,            &
+              nqtot,          &
+              debut_split,    &
+              lafin_split,    &
+              jD_cur,         &
+              jH_cur_split,   &
+              zdt_split,      &
+              zplev_omp,      &
+              zplay_omp,      &
+              zpk_omp,        &
+              zphi_omp,       &
+              zphis_omp,      &
+              presnivs_omp,   &
+              zufi_omp,       &
+              zvfi_omp,       &
+              ztfi_omp,       &
+              zqfi_omp,       &
+              flxwfi_omp,     &
+              zdufi_omp,      &
+              zdvfi_omp,      &
+              zdtfi_omp,      &
+              zdqfi_omp,      &
+              zdpsrf_omp)
+
+
+END SUBROUTINE call_physiq
+
+END MODULE callphysiq_mod
Index: trunk/LMDZ.COMMON/libf/dynphy_lonlat/phyvenus/callphysiq_mod.F90
===================================================================
--- trunk/LMDZ.COMMON/libf/dynphy_lonlat/phyvenus/callphysiq_mod.F90	(revision 1549)
+++ trunk/LMDZ.COMMON/libf/dynphy_lonlat/phyvenus/callphysiq_mod.F90	(revision 1549)
@@ -0,0 +1,99 @@
+!
+! $Id: $
+!
+MODULE callphysiq_mod
+
+IMPLICIT NONE
+
+CONTAINS
+
+SUBROUTINE call_physiq(klon,llm,nqtot,tname,                              &
+                       debut_split,lafin_split,                           &
+                       jD_cur,jH_cur_split,zdt_split,                     &
+                       zplev_omp,zplay_omp,                               &
+                       zpk_omp,zphi_omp,zphis_omp,                        &
+                       presnivs_omp,                                      &
+                       zufi_omp,zvfi_omp,zrfi_omp,ztfi_omp,zqfi_omp,      &
+                       flxwfi_omp,pducov,                                 &
+                       zdufi_omp,zdvfi_omp,zdtfi_omp,zdqfi_omp,zdpsrf_omp,&
+                       tracerdyn)
+
+  USE control_mod, ONLY: planet_type
+  USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat
+  USE physiq_mod, ONLY: physiq
+  IMPLICIT NONE
+
+  INTEGER,INTENT(IN) :: klon ! (local) number of atmospheric columns
+  INTEGER,INTENT(IN) :: llm  ! number of atmospheric layers
+  INTEGER,INTENT(IN) :: nqtot ! number of tracers
+  CHARACTER(len=*),INTENT(IN) :: tname(nqtot) ! tracer names
+  LOGICAL,INTENT(IN) :: debut_split ! .true. if very first call to physics
+  LOGICAL,INTENT(IN) :: lafin_split ! .true. if last call to physics
+  REAL,INTENT(IN) :: JD_cur ! Julian day
+  REAL,INTENT(IN) :: JH_cur_split ! Julian hour (fraction of day)
+  REAL,INTENT(IN) :: zdt_split ! time step over which the physics are evaluated
+  REAL,INTENT(IN) :: zplev_omp(klon,llm+1) ! interlayer pressure (Pa)
+  REAL,INTENT(IN) :: zplay_omp(klon,llm) ! mid-layer pressure (Pa)
+  REAL,INTENT(IN) :: zpk_omp(klon,llm)
+  REAL,INTENT(IN) :: zphi_omp(klon,llm) ! geopotential at midlayer
+  REAL,INTENT(IN) :: zphis_omp(klon) ! surface geopotential
+  REAL,INTENT(IN) :: presnivs_omp(llm) ! approximate pressure of atm. layers
+  REAL,INTENT(IN) :: zufi_omp(klon,llm) ! zonal wind (m/s)
+  REAL,INTENT(IN) :: zvfi_omp(klon,llm) ! meridional wind (m/s)
+  REAL,INTENT(IN) :: zrfi_omp(klon,llm) ! relative wind vorticity, in s-1
+  REAL,INTENT(IN) :: ztfi_omp(klon,llm) ! temperature (K)
+  REAL,INTENT(IN) :: zqfi_omp(klon,llm,nqtot) ! tracers (*/kg of air)
+  REAL,INTENT(IN) :: flxwfi_omp(klon,llm) ! Vertical mass flux on lower mesh interfaces (kg/s) 
+  REAL,INTENT(IN) :: pducov(nbp_lon+1,nbp_lat,llm) ! dynamical tendency on ucov
+  ! tendencies (in */s) from the physics:
+  REAL,INTENT(OUT) :: zdufi_omp(klon,llm) ! tendency on zonal winds
+  REAL,INTENT(OUT) :: zdvfi_omp(klon,llm) ! tendency on meridional winds
+  REAL,INTENT(OUT) :: zdtfi_omp(klon,llm) ! tendency on temperature
+  REAL,INTENT(OUT) :: zdqfi_omp(klon,llm,nqtot) ! tendency on tracers
+  REAL,INTENT(OUT) :: zdpsrf_omp(klon) ! tendency on surface pressure
+  LOGICAL,INTENT(OUT) :: tracerdyn
+
+  ! Local variables
+  CHARACTER(len=11) :: modname="call_physiq"
+  LOGICAL,SAVE :: firstcall=.true.
+!$OMP THREADPRIVATE(firstcall)
+
+! Sanity check on physics package type
+  IF (firstcall) THEN
+    IF (planet_type.ne."venus") THEN
+      CALL abort_gcm(modname,"wrong planet_type for this physics package",1)
+    ENDIF
+    firstcall=.false.
+  ENDIF
+
+
+! Call physics package with required inputs/outputs
+  CALL physiq(klon,           &
+              llm,            &
+              nqtot,          &
+              debut_split,    &
+              lafin_split,    &
+              jD_cur,         &
+              jH_cur_split,   &
+              zdt_split,      &
+              zplev_omp,      &
+              zplay_omp,      &
+              zpk_omp,        &
+              zphi_omp,       &
+              zphis_omp,      &
+              presnivs_omp,   &
+              zufi_omp,       &
+              zvfi_omp,       &
+              ztfi_omp,       &
+              zqfi_omp,       &
+              flxwfi_omp,     &
+              zdufi_omp,      &
+              zdvfi_omp,      &
+              zdtfi_omp,      &
+              zdqfi_omp,      &
+              zdpsrf_omp)
+
+
+END SUBROUTINE call_physiq
+
+END MODULE callphysiq_mod
