Index: trunk/LMDZ.COMMON/libf/dyn3dpar/calfis_p.F
===================================================================
--- trunk/LMDZ.COMMON/libf/dyn3dpar/calfis_p.F	(revision 1107)
+++ trunk/LMDZ.COMMON/libf/dyn3dpar/calfis_p.F	(revision 1126)
@@ -260,4 +260,5 @@
       REAL,allocatable,save :: tmpvarbar(:)
       REAL,allocatable,save :: tmpvarbarp1(:)
+      real :: zz1,zz2
 
 c-----------------------------------------------------------------------
@@ -314,8 +315,10 @@
 c------------------------------------------------------------------
 c moyennes globales pour les profils de pression et de temperature
-      if(planet_type.eq."titan") then
+      if(planet_type.eq."titan".or.planet_type.eq."venus") then
         call AllGather_Field(pp,iip1*jjp1,llmp1)
         call AllGather_Field(pteta,iip1*jjp1,llm)
         call AllGather_Field(ppk,iip1*jjp1,llm)
+        call AllGather_Field(pphi,iip1*jjp1,llm)
+        call AllGather_Field(pphis,iip1*jjp1,1)
         ALLOCATE(plevmoy(llm+1))
         ALLOCATE(playmoy(llm))
@@ -323,4 +326,7 @@
         ALLOCATE(tetamoy(llm))
         ALLOCATE(pkmoy(llm))
+        ALLOCATE(phimoy(0:llm))
+        ALLOCATE(zlevmoy(llm+1))
+        ALLOCATE(zlaymoy(llm))
         plevmoy=0.
         do l=1,llmp1
@@ -333,4 +339,10 @@
         tetamoy=0.
         pkmoy=0.
+        phimoy=0.
+        do i=1,iip1
+         do j=1,jjp1
+            phimoy(0)=phimoy(0)+pphis(i,j)/(iip1*jjp1)
+         enddo
+        enddo
         do l=1,llm
          do i=1,iip1
@@ -338,15 +350,25 @@
             tetamoy(l)=tetamoy(l)+pteta(i,j,l)/(iip1*jjp1)
             pkmoy(l)=pkmoy(l)+ppk(i,j,l)/(iip1*jjp1)
+            phimoy(l)=phimoy(l)+pphi(i,j,l)/(iip1*jjp1)
           enddo
          enddo
         enddo
-        playmoy = preff * (pkmoy/cpp) ** unskap
+        playmoy(:) = preff * (pkmoy(:)/cpp) ** unskap
         call tpot2t_p(1,llm,tetamoy,tmoy,pkmoy)
+c SI ON TIENT COMPTE DE LA VARIATION DE G AVEC L'ALTITUDE:
+        zlaymoy(:) = g*rad*rad/(g*rad-phimoy(:))-rad
+        zlevmoy(1) = phimoy(0)/g
+        DO l=2,llm
+            zz1=(playmoy(l-1)+plevmoy(l))/(playmoy(l-1)-plevmoy(l))
+            zz2=(plevmoy(l)  +playmoy(l))/(plevmoy(l)  -playmoy(l))
+            zlevmoy(l)=(zz1*zlaymoy(l-1)+zz2*zlaymoy(l))/(zz1+zz2)
+        ENDDO
+        zlevmoy(llmp1)=zlaymoy(llm)+(zlaymoy(llm)-zlevmoy(llm))
 c-------------------
 c + lat index
         allocate(klat(klon))
         do ig0=1,klon
-           j=index_j(ig0)
-           klat(ig0)=j
+          j=index_j(ig0)
+          klat(ig0)=j
         enddo
       endif   ! planet_type=titan
Index: trunk/LMDZ.COMMON/libf/dyn3dpar/moyzon_mod.F90
===================================================================
--- trunk/LMDZ.COMMON/libf/dyn3dpar/moyzon_mod.F90	(revision 1107)
+++ trunk/LMDZ.COMMON/libf/dyn3dpar/moyzon_mod.F90	(revision 1126)
@@ -24,4 +24,5 @@
 ! to be changed...
       REAL,ALLOCATABLE,SAVE :: plevmoy(:),playmoy(:)
+      REAL,ALLOCATABLE,SAVE :: zlevmoy(:),zlaymoy(:),phimoy(:)
       REAL,ALLOCATABLE,SAVE :: tmoy(:),tetamoy(:),pkmoy(:)
       INTEGER,ALLOCATABLE,SAVE :: klat(:)
