Index: /trunk/chantiers/commit_importants.log
===================================================================
--- /trunk/chantiers/commit_importants.log	(revision 104)
+++ /trunk/chantiers/commit_importants.log	(revision 105)
@@ -732,3 +732,7 @@
 Phytitan: modifications pour pouvoir compiler correctement.
 Il ne manque plus que physiq.F a faire.
-
+---
+Fait:
+Avec la v105, la compilation Titan se fait sans problemes.
+
+
Index: /trunk/libf/phytitan/physiq.F
===================================================================
--- /trunk/libf/phytitan/physiq.F	(revision 104)
+++ /trunk/libf/phytitan/physiq.F	(revision 105)
@@ -117,7 +117,6 @@
       REAL qx(klon,klev,nqmax)
 
-      REAL t_ancien(klon,klev)
-      REAL u_ancien(klon,klev)
-      SAVE t_ancien, u_ancien
+      REAL,save,allocatable :: t_ancien(:,:)
+      REAL,save,allocatable :: u_ancien(:,:)
       LOGICAL ancien_ok
       SAVE ancien_ok
@@ -134,15 +133,6 @@
       REAL d_ps(klon)
 
-      INTEGER klevp1, klevm1
-      PARAMETER(klevp1=klev+1,klevm1=klev-1)
-c
-      REAL swnet(klon,klevp1)
-      SAVE swnet
-c
-      REAL lwnet(klon,klevp1)
-      SAVE lwnet 
-c
-      REAL LWdnTOA(klon)
-      SAVE LWdnTOA
+      REAL,save,allocatable :: swnet(:,:)
+      REAL,save,allocatable :: lwnet(:,:)
 c
 c Variables propres a la physique
@@ -157,22 +147,10 @@
       SAVE chimpas                 ! frequence d'appel chimie
 c
-      REAL radsol(klon)
-      SAVE radsol               ! bilan radiatif au sol calcule par code radiatif
-c
-      REAL rlev(klon,klev+1)      ! altitude a chaque niveau (interface inferieure de la couche) 
-      SAVE rlev      
-ci  
-      INTEGER itap
-      SAVE itap                   ! compteur pour la physique
-c
-      REAL ftsol(klon)
-      SAVE ftsol                  ! temperature du sol
-c
-      REAL ftsoil(klon,nsoilmx)
-      SAVE ftsoil                 ! temperature dans le sol
-c
-      REAL falbe(klon)
-      SAVE falbe                  ! albedo 
-
+      REAL,save,allocatable :: radsol(:) ! bilan radiatif au sol calcule par code radiatif
+      REAL,save,allocatable :: rlev(:,:) ! altitude a chaque niveau (interface inferieure de la couche) 
+      INTEGER,save :: itap        ! compteur pour la physique
+      REAL,save,allocatable :: ftsol(:)    ! temperature du sol
+      REAL,save,allocatable :: ftsoil(:,:) ! temperature dans le sol
+      REAL,save,allocatable :: falbe(:)    ! albedo 
       REAL delp(klon,klev)        ! epaisseur d'une couche
       
@@ -181,27 +159,12 @@
 c  Parametres de l'Orographie a l'Echelle Sous-Maille (OESM):
 c
-      REAL zmea(klon)
-      SAVE zmea                   ! orographie moyenne
-c
-      REAL zstd(klon)
-      SAVE zstd                   ! deviation standard de l'OESM
-c
-      REAL zsig(klon)
-      SAVE zsig                   ! pente de l'OESM
-c
-      REAL zgam(klon)
-      save zgam                   ! anisotropie de l'OESM
-c
-      REAL zthe(klon)
-      SAVE zthe                   ! orientation de l'OESM
-c
-      REAL zpic(klon)
-      SAVE zpic                   ! Maximum de l'OESM
-c
-      REAL zval(klon)
-      SAVE zval                   ! Minimum de l'OESM
-c
-      REAL rugoro(klon)
-      SAVE rugoro                 ! longueur de rugosite de l'OESM
+      REAL,save,allocatable :: zmea(:)   ! orographie moyenne
+      REAL,save,allocatable :: zstd(:)   ! deviation standard de l'OESM
+      REAL,save,allocatable :: zsig(:)   ! pente de l'OESM
+      REAL,save,allocatable :: zgam(:)   ! anisotropie de l'OESM
+      REAL,save,allocatable :: zthe(:)   ! orientation de l'OESM
+      REAL,save,allocatable :: zpic(:)   ! Maximum de l'OESM
+      REAL,save,allocatable :: zval(:)   ! Minimum de l'OESM
+      REAL,save,allocatable :: rugoro(:) ! longueur de rugosite de l'OESM
 
       INTEGER igwd,idx(klon),itest(klon)
@@ -234,7 +197,5 @@
       REAL zustrph(klon),zvstrph(klon) 
 c
-      REAL zuthe(klon),zvthe(klon)
-      SAVE zuthe
-      SAVE zvthe
+      REAL,save,allocatable :: zuthe(:),zvthe(:)
 
 c Variables locales:
@@ -245,7 +206,7 @@
 cAA  Pour TRACEURS 
 cAA
+      REAL,save,allocatable :: source(:,:)
       integer nmicro
-      REAL source(klon,nqmax)
-      save    nmicro,source
+      save    nmicro
 
       REAL ycoefh(klon,klev)    ! coef d'echange pour phytrac
@@ -256,10 +217,6 @@
 
       REAL sens(klon), dsens(klon) ! chaleur sensible et sa derivee
-      REAL dlw(klon)    ! derivee infra rouge
-cym
-      SAVE dlw
-cym
-      REAL fder(klon) ! Derive de flux (sensible et latente) 
-      save fder
+      REAL,save,allocatable :: dlw(:)  ! derivee infra rouge
+      REAL,save,allocatable :: fder(:) ! Derive de flux (sensible et latente) 
       REAL ve(klon) ! integr. verticale du transport meri. de l'energie
       REAL vq(klon) ! integr. verticale du transport meri. de l'eau
@@ -301,18 +258,14 @@
       REAL flux_ec(klon,klev)   ! flux de chaleur Ec
 c
-
-c RADIATIF
-
-      REAL heat(klon,klev)    ! chauffage solaire
-      REAL cool(klon,klev)    ! refroidissement infrarouge
-      REAL dtrad(klon,klev)   ! K s-1 
-      REAL tmpout(klon,klev)  ! K s-1 
-      REAL topsw(klon), toplw(klon), solsw(klon), sollw(klon)
-      real sollwdown(klon)    ! downward LW flux at surface
-
 c Le rayonnement n'est pas calcule tous les pas, il faut donc
 c                      sauvegarder les sorties du rayonnement
-      SAVE  heat,cool,dtrad,topsw,toplw,solsw,sollw,sollwdown
-c
+      REAL,save,allocatable :: heat(:,:)    ! chauffage solaire
+      REAL,save,allocatable :: cool(:,:)    ! refroidissement infrarouge
+      REAL,save,allocatable :: dtrad(:,:)   ! K s-1 
+      REAL,save,allocatable :: topsw(:), toplw(:)
+      REAL,save,allocatable :: solsw(:), sollw(:)
+      REAL,save,allocatable :: sollwdown(:) ! downward LW flux at surface
+      REAL tmpout(klon,klev)  ! K s-1 
+
       INTEGER itaprad
       SAVE itaprad
@@ -437,14 +390,18 @@
       REAL mangtot            ! moment cinetique total
 
+      CHARACTER*2 str1
+
 c Temporaire avant de trouver mieux :
 c Recuperation des TAU du TR
-      CHARACTER*2 str1
+      REAL t_tauhvd(klon,klev),t_khvd(klon,klev)
+c  ASTUCE POUR EVITER klon... EN ATTENDANT MIEUX
+      INTEGER   ngrid
+      PARAMETER (ngrid=(jjm-1)*iim+2)  ! = klon
       INTEGER NSPECV,NSPECI,NLAYER
-      PARAMETER (NSPECV=24,NSPECI=46,NLAYER=klev)
-      REAL t_tauhvd(klon,klev),t_khvd(klon,klev)
-      REAL TAUHID(klon,NLAYER,NSPECI)
-     &               ,TAUGID(klon,NLAYER,NSPECI)
-     &               ,TAUHVD(klon,NLAYER,NSPECV)
-     &               ,TAUGVD(klon,NLAYER,NSPECV)
+      PARAMETER (NSPECV=24,NSPECI=46,NLAYER=llm)
+      REAL TAUHID(ngrid,NLAYER,NSPECI)
+     &               ,TAUGID(ngrid,NLAYER,NSPECI)
+     &               ,TAUHVD(ngrid,NLAYER,NSPECV)
+     &               ,TAUGVD(ngrid,NLAYER,NSPECV)
 
       COMMON /TAUD/   TAUHID,TAUGID,TAUHVD,TAUGVD
@@ -478,4 +435,15 @@
 c========================
       IF (debut) THEN
+         allocate(t_ancien(klon,klev),u_ancien(klon,klev))
+         allocate(swnet(klon,klevp1),lwnet(klon,klevp1))
+         allocate(radsol(klon),ftsol(klon),falbe(klon))
+         allocate(rlev(klon,klevp1),ftsoil(klon,nsoilmx))
+         allocate(zmea(klon),zstd(klon),zsig(klon),zgam(klon))
+         allocate(zthe(klon),zpic(klon),zval(klon),rugoro(klon))
+         allocate(zuthe(klon),zvthe(klon),dlw(klon),fder(klon))
+         allocate(heat(klon,klev),cool(klon,klev))
+         allocate(dtrad(klon,klev),topsw(klon),toplw(klon))
+         allocate(solsw(klon),sollw(klon),sollwdown(klon))
+         allocate(source(klon,nqmax))
 
          CALL suphec ! initialiser constantes et parametres phys.
@@ -1442,5 +1410,5 @@
           DO i = 1, klon
             qaer(i,l,iq) = qaer(i,l,iq) +
-     .                (d_tr_mph(i,l,iq)*delp(i,l)/RG)*ptimestep
+     .                (d_tr_mph(i,l,iq)*delp(i,l)/RG)*dtime
           ENDDO
          ENDDO
Index: /trunk/libf/phytitan/write_histmth.h
===================================================================
--- /trunk/libf/phytitan/write_histmth.h	(revision 104)
+++ /trunk/libf/phytitan/write_histmth.h	(revision 105)
@@ -83,5 +83,5 @@
 c
          if (iflag_trac.eq.1) THEN
-          if (microfi.eq.1) then
+c         if (microfi.eq.1) then
 c          DO iq=1,nmicro
 c      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qaer(1,1,iq), zx_tmp_3d)
Index: /trunk/libf/phyvenus/physiq.F
===================================================================
--- /trunk/libf/phyvenus/physiq.F	(revision 104)
+++ /trunk/libf/phyvenus/physiq.F	(revision 105)
@@ -212,5 +212,5 @@
 cAA  Pour  TRACEURS
 cAA
-      REAL source(klon,nqmax)
+      REAL,save,allocatable :: source(:,:)
       REAL ycoefh(klon,klev)    ! coef d'echange pour phytrac
       REAL yu1(klon)            ! vents dans la premiere couche U
@@ -417,4 +417,5 @@
          allocate(dtrad(klon,klev),topsw(klon),toplw(klon))
          allocate(solsw(klon),sollw(klon),sollwdown(klon))
+         allocate(source(klon,nqmax))
 
          CALL suphec ! initialiser constantes et parametres phys.
