Index: trunk/libf/chimtitan/trac.h
===================================================================
--- trunk/libf/chimtitan/trac.h	(revision 102)
+++ 	(revision )
@@ -1,37 +1,0 @@
-/* trac.h: parameters for traceurs.c */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include "dim_c.h"
-
-#define R0   (float)(2575.0)     /* Titan's radius */
-
-#define THETA (float)(0.501)
-#ifndef M_PI
-#define M_PI (float)(3.14159265358979323846e0)
-#endif
-#define RAD (float)(M_PI / 180.0e0)
-#ifndef max
-#define max(a,b) ((a)>(b)?(a):(b))
-#define min(a,b) ((a)<=(b)?(a):(b))
-#endif
-
-float *rm1d( int, int );
-float **rm2d( int, int, int, int );
-float ***rm3d( int, int, int, int, int, int );
-float ****rm4d( int, int, int, int, int, int );
-double *dm1d( int, int );
-double **dm2d( int, int, int, int );
-double ***dm3d( int, int, int, int, int, int );
-double ****dm4d( int, int, int, int, int, int );
-void  frm1d( float *, int );
-void  frm2d( float **, int, int, int );
-void  frm3d( float ***, int, int, int, int, int );
-void  fdm1d( double *, int );
-void  fdm2d( double **, int, int, int );
-void  fdm3d( double ***, int, int, int, int, int );
-int   *im1d( int, int );
-int   **im2d( int, int, int, int );
-int   ***im3d( int, int, int, int, int, int );
Index: trunk/libf/chimtitan/tractitan.c
===================================================================
--- trunk/libf/chimtitan/tractitan.c	(revision 102)
+++ trunk/libf/chimtitan/tractitan.c	(revision 104)
@@ -2,5 +2,5 @@
 /* GCCM */
 
-#include "trac.h"
+#include "titan.h"
 
 void tractitan_( double *RB, char CORPS[][10], double Y[][NLEV], 
Index: trunk/libf/phytitan/calchim.F
===================================================================
--- trunk/libf/phytitan/calchim.F	(revision 102)
+++ trunk/libf/phytitan/calchim.F	(revision 104)
@@ -35,5 +35,5 @@
       REAL         cplev(jjm+1,klev)      ! pression intercouches (Pa)
       
-      REAL         dqyc(jjm+1,klev,nqtot)  ! Tendances especes chimiques (nqtot, mais en fait NC...)
+      REAL         dqyc(jjm+1,klev,NC)    ! Tendances especes chimiques 
       
 c    Local variables :
@@ -67,9 +67,8 @@
       REAL  botCH4
       DATA  botCH4/0.05/
-      REAL  krpd(15,ND+1,klev,jjm+1),krate(klev,NR)
+      REAL,save,allocatable :: krpd(:,:,:,:),krate(:,:)
       integer reactif(5,NR),nom_prod(NC),nom_perte(NC)
       integer prod(200,NC),perte(2,200,NC)
       SAVE    mass,tablefluxtop,botCH4
-      SAVE    krpd,krate
       SAVE    reactif,nom_prod,nom_perte,prod,perte
       
@@ -90,4 +89,6 @@
 c pour les routines de la chimie.
 c ************************************
+
+        allocate(krpd(15,ND+1,klev,jjm+1),krate(klev,NR))
 
 c Verification dimension verticale: coherence titan_for.h et klev
Index: trunk/libf/phytitan/clesphys.h
===================================================================
--- trunk/libf/phytitan/clesphys.h	(revision 102)
+++ trunk/libf/phytitan/clesphys.h	(revision 104)
@@ -7,5 +7,5 @@
 !..include cles_phys.h
 !
-       LOGICAL cycle_diurne,soil_model,ok_orodr,ok_orolf 
+       LOGICAL cycle_diurne,soil_model 
        LOGICAL ok_orodr,ok_orolf,ok_gw_nonoro
        INTEGER nbapp_rad, nbapp_chim, iflag_con, iflag_ajs
Index: trunk/libf/phytitan/cooling.F
===================================================================
--- trunk/libf/phytitan/cooling.F	(revision 102)
+++ trunk/libf/phytitan/cooling.F	(revision 104)
@@ -59,4 +59,8 @@
       PARAMETER (NSPECI=46,NSPC1I=47)
 
+c  ASTUCE POUR EVITER klon... EN ATTENDANT MIEUX
+      INTEGER   ngrid
+      PARAMETER (ngrid=(jjm-1)*iim+2)  ! = klon
+c
 c   Arguments:
 c   ----------
@@ -73,5 +77,5 @@
 
 C DTAU IS PASSED EN-MASS, SO ITS DEMENSIONS ARE CRITICAL
-      COMMON /IRTAUS/ DTAUI(klon,NLAYER,NSPECI)
+      COMMON /IRTAUS/ DTAUI(ngrid,NLAYER,NSPECI)
       REAL dtaui
 
@@ -80,6 +84,6 @@
 
       REAL WNOI(NSPECI),DWNI(NSPECI)   ! SPECTAL INTERVALS
-      REAL B0(klon,llm+1)
-      REAL EM(klon,llm+1)
+      REAL B0(ngrid,llm+1)
+      REAL EM(ngrid,llm+1)
       REAL DW,WAVEN,TJ,BSURF,QOUT,QIN,eff_g,COLDEN
 
Index: trunk/libf/phytitan/heating.F
===================================================================
--- trunk/libf/phytitan/heating.F	(revision 102)
+++ trunk/libf/phytitan/heating.F	(revision 104)
@@ -36,4 +36,8 @@
       PARAMETER (NSPECV=24)
 c
+c  ASTUCE POUR EVITER klon... EN ATTENDANT MIEUX
+      INTEGER   ngrid
+      PARAMETER (ngrid=(jjm-1)*iim+2)  ! = klon
+c
 
 c   Arguments:
@@ -57,6 +61,6 @@
       REAL  CH4(NLEVEL),XN2(NLEVEL),H2(NLEVEL),AR(NLEVEL)
       REAL  XMU(NLEVEL),GAS1(NLAYER),COLDEN(NLAYER)
-      REAL FNETV(klon,NLEVEL),FUPV(klon,NLEVEL,NSPECV)  
-      REAL FDV(klon,NLEVEL,NSPECV),FMNETV(klon,NLEVEL)
+      REAL FNETV(ngrid,NLEVEL),FUPV(ngrid,NLEVEL,NSPECV)  
+      REAL FDV(ngrid,NLEVEL,NSPECV),FMNETV(ngrid,NLEVEL)
       REAL CSUBP,RSFI,RSFV,F0PI
 
Index: trunk/libf/phytitan/optci.F
===================================================================
--- trunk/libf/phytitan/optci.F	(revision 102)
+++ trunk/libf/phytitan/optci.F	(revision 104)
@@ -1,3 +1,3 @@
-      SUBROUTINE OPTCI(ykim,nmicro,IPRINT)
+      SUBROUTINE OPTCI(ykim,qaer,nmicro,IPRINT)
       use dimphy
 #include "dimensions.h"
@@ -9,7 +9,12 @@
 c   ---------
       REAL    ykim(klon,klev,nqtot)
+      real    qaer(klon,nlayer,nqtot)
       integer nmicro
 c   ---------
 
+c  ASTUCE POUR EVITER klon... EN ATTENDANT MIEUX
+      INTEGER   ngrid
+      PARAMETER (ngrid=(jjm-1)*iim+2)  ! = klon
+c
       PARAMETER(NLAYER=llm,NLEVEL=NLAYER+1)
       PARAMETER (NSPECI=46,NSPC1I=47,NSPECV=24,NSPC1V=25)
@@ -29,19 +34,19 @@
      & , RCLDI(NSPECI), XICLDI(NSPECI), RCLDV(NSPECV), XICLDV(NSPECV)
 
-      COMMON /TAUS/   TAUHI(klon,NSPECI),TAUCI(klon,NSPECI),
-     &                TAUGI(klon,NSPECI),TAURV(klon,NSPECV),
-     &                TAUHV(klon,NSPECV),TAUCV(klon,NSPECV),
-     &                TAUGV(klon,NSPECV)
-
-      COMMON /TAUD/   TAUHID(klon,NLAYER,NSPECI)
-     &               ,TAUGID(klon,NLAYER,NSPECI)
-     &               ,TAUHVD(klon,NLAYER,NSPECV)
-     &               ,TAUGVD(klon,NLAYER,NSPECV)
-
-
-      COMMON /OPTICI/ DTAUI(klon,NLAYER,NSPECI)
-     &               ,TAUI (klon,NLEVEL,NSPECI)
-     &               ,WBARI(klon,NLAYER,NSPECI)
-     &               ,COSBI(klon,NLAYER,NSPECI)
+      COMMON /TAUS/   TAUHI(ngrid,NSPECI),TAUCI(ngrid,NSPECI),
+     &                TAUGI(ngrid,NSPECI),TAURV(ngrid,NSPECV),
+     &                TAUHV(ngrid,NSPECV),TAUCV(ngrid,NSPECV),
+     &                TAUGV(ngrid,NSPECV)
+
+      COMMON /TAUD/   TAUHID(ngrid,NLAYER,NSPECI)
+     &               ,TAUGID(ngrid,NLAYER,NSPECI)
+     &               ,TAUHVD(ngrid,NLAYER,NSPECV)
+     &               ,TAUGVD(ngrid,NLAYER,NSPECV)
+
+
+      COMMON /OPTICI/ DTAUI(ngrid,NLAYER,NSPECI)
+     &               ,TAUI (ngrid,NLEVEL,NSPECI)
+     &               ,WBARI(ngrid,NLAYER,NSPECI)
+     &               ,COSBI(ngrid,NLAYER,NSPECI)
 
       COMMON /SPECTI/ BWNI(NSPC1I), WNOI(NSPECI),
@@ -51,10 +56,8 @@
       COMMON /ADJUST/ RHCH4,FH2,FHAZE,FHVIS,FHIR,TAUFAC,RCLOUD,FARGON
       COMMON /CONST/RGAS,RHOP,PI,SIGMA
-      COMMON /traceurs/qaer
       COMMON /part/v,rayon,vrat,dr,dv
 
       DIMENSION PROD(NLEVEL)
 * nrad dans microtab.h
-      real qaer(klon,nlayer,nqtot)
       real v(nrad),rayon(nrad),vrat,dr(nrad),dv(nrad)
       real xv1(klev,nspeci),xv2(klev,nspeci)
Index: trunk/libf/phytitan/optcv.F
===================================================================
--- trunk/libf/phytitan/optcv.F	(revision 102)
+++ trunk/libf/phytitan/optcv.F	(revision 104)
@@ -1,3 +1,3 @@
-      SUBROUTINE OPTCV(nmicro,IPRINT)
+      SUBROUTINE OPTCV(qaer,nmicro,IPRINT)
 
 
@@ -9,7 +9,12 @@
 c   Argument:
 c   ---------
+      REAL    qaer(klon,nlayer,nqtot)
       integer nmicro
 c   ---------
 
+c  ASTUCE POUR EVITER klon... EN ATTENDANT MIEUX
+      INTEGER   ngrid
+      PARAMETER (ngrid=(jjm-1)*iim+2)  ! = klon
+c
       PARAMETER(NLAYER=llm,NLEVEL=NLAYER+1)
       PARAMETER (NSPECI=46,NSPC1I=47,NSPECV=24,NSPC1V=25)
@@ -30,18 +35,18 @@
      &             , RCLDV(NSPECV), XICLDV(NSPECV)
 
-      COMMON /TAUS/   TAUHI(klon,NSPECI), TAUCI(klon,NSPECI)
-     &               ,TAUGI(klon,NSPECI), TAURV(klon,NSPECV)
-     &               ,TAUHV(klon,NSPECV) ,TAUCV(klon,NSPECV)
-     &               ,TAUGV(klon,NSPECV)
-
-      COMMON /TAUD/   TAUHID(klon,NLAYER,NSPECI)
-     &               ,TAUGID(klon,NLAYER,NSPECI)
-     &               ,TAUHVD(klon,NLAYER,NSPECV)
-     &               ,TAUGVD(klon,NLAYER,NSPECV)
-
-      COMMON /OPTICV/ DTAUV(klon,NLAYER,NSPECV,4)
-     &               ,TAUV(klon,NLEVEL,NSPECV,4)
-     &               ,WBARV(klon,NLAYER,NSPECV,4)
-     &               ,COSBV(klon,NLAYER,NSPECV,4)
+      COMMON /TAUS/   TAUHI(ngrid,NSPECI), TAUCI(ngrid,NSPECI)
+     &               ,TAUGI(ngrid,NSPECI), TAURV(ngrid,NSPECV)
+     &               ,TAUHV(ngrid,NSPECV) ,TAUCV(ngrid,NSPECV)
+     &               ,TAUGV(ngrid,NSPECV)
+
+      COMMON /TAUD/   TAUHID(ngrid,NLAYER,NSPECI)
+     &               ,TAUGID(ngrid,NLAYER,NSPECI)
+     &               ,TAUHVD(ngrid,NLAYER,NSPECV)
+     &               ,TAUGVD(ngrid,NLAYER,NSPECV)
+
+      COMMON /OPTICV/ DTAUV(ngrid,NLAYER,NSPECV,4)
+     &               ,TAUV(ngrid,NLEVEL,NSPECV,4)
+     &               ,WBARV(ngrid,NLAYER,NSPECV,4)
+     &               ,COSBV(ngrid,NLAYER,NSPECV,4)
 
       COMMON /SPECTV/ BWNV(NSPC1V),WNOV(NSPECV) 
@@ -51,5 +56,4 @@
       COMMON /ADJUST/ RHCH4,FH2,FHAZE,FHVIS,FHIR,TAUFAC,RCLOUD,FARGON
       COMMON /CONST/ RGAS,RHOP,PI,SIGMA
-      COMMON /traceurs/qaer(klon,nlayer,nqtot)
       COMMON /part/ v(nrad),rayon(nrad),vrat,dr(nrad),dv(nrad)
 
Index: trunk/libf/phytitan/pg2.F
===================================================================
--- trunk/libf/phytitan/pg2.F	(revision 102)
+++ trunk/libf/phytitan/pg2.F	(revision 104)
@@ -51,5 +51,5 @@
 
      
-        parameter (NG=jjm+1,NL=klev)   ! NG: on travaille en moyenne zonale
+        parameter (NG=jjm+1)   ! NG: on travaille en moyenne zonale
  
 c*************************************
@@ -68,10 +68,10 @@
         real   mu0(ng),fract(ng)
 
-        real    zzlev(NG,NL+1)
-     &         ,pplev(NG,NL+1)
-     &         ,zzlay(NG,NL)
-     &         ,pt(NG,NL)
-     &         ,q(NG,NL,nq)
-     &         ,qdel(NG,NL,nq)
+        real    zzlev(NG,klev+1)
+     &         ,pplev(NG,klev+1)
+     &         ,zzlay(NG,klev)
+     &         ,pt(NG,klev)
+     &         ,q(NG,klev,nq)
+     &         ,qdel(NG,klev,nq)
      &         ,qcumul(NG,0:200,nq)
 
Index: trunk/libf/phytitan/physiq.F
===================================================================
--- trunk/libf/phytitan/physiq.F	(revision 102)
+++ trunk/libf/phytitan/physiq.F	(revision 104)
@@ -253,7 +253,5 @@
       REAL yv1(klon)            ! vents dans la premiere couche V
       character*8 nom
-* common relatifs aux aerosols 
       REAL qaer(klon,klev,nqmax)
-      common/traceurs/qaer
 
       REAL sens(klon), dsens(klon) ! chaleur sensible et sa derivee
@@ -1055,5 +1053,5 @@
       
 c on recupere tr_seri inchange, d_tr_micro, d_tr_chim, tous les trois sur nqmax
-c on recupere aussi qaer (avec le common) pour le mettre dans les sorties
+c on recupere aussi qaer pour le mettre dans les sorties
 c  si microfi=1, sortie de qaer(1:nmicro)
 c  si nmicro != nqmax et si chimi, sortie de tr_seri(nmicro+1:nqmax) 
@@ -1077,5 +1075,5 @@
      .                   nqmax,nmicro,dtime,appel_chim,dtimechim,
      .                   paprs,pplay,delp,t,rmu0,fract,pdecli,zls,
-     .                   tr_seri,d_tr_mph,d_tr_kim)
+     .                   tr_seri,qaer,d_tr_mph,d_tr_kim)
 
         if (microfi.eq.1) then
@@ -1122,5 +1120,5 @@
      e            (dist, rmu0, fract, dtimerad, zzlev,
      e             paprs, pplay,ftsol, t_seri, nqmax, nmicro,
-     c             tr_seri,
+     c             tr_seri, qaer,
      s             heat,cool,radsol,
      s             topsw,toplw,solsw,sollw,
@@ -1438,4 +1436,15 @@
       ENDDO
 c
+c incrementation de la tendance (repassee en extensif) sur qaer pour sorties
+      if (microfi.eq.1) then
+      do iq=1,nmicro
+         DO l=1,llm
+          DO i = 1, klon
+            qaer(i,l,iq) = qaer(i,l,iq) +
+     .                (d_tr_mph(i,l,iq)*delp(i,l)/RG)*ptimestep
+          ENDDO
+         ENDDO
+      enddo
+      endif   ! microfi
 c=============================================================
 c   Ecriture des sorties
Index: trunk/libf/phytitan/phytrac.F
===================================================================
--- trunk/libf/phytitan/phytrac.F	(revision 102)
+++ trunk/libf/phytitan/phytrac.F	(revision 104)
@@ -2,5 +2,5 @@
      .                   nqmax,nmicro,ptimestep,appkim,dtkim,
      .                   pplev,pplay,delp,ptemp,pmu0,pfract,pdecli,
-     .                   lonsol,tr_seri,d_tr_mph,d_tr_kim)
+     .                   lonsol,tr_seri,qaer,d_tr_mph,d_tr_kim)
 
 c======================================================================
@@ -45,12 +45,9 @@
       REAL pmu0(klon), pfract(klon), pdecli, lonsol
       REAL tr_seri(klon,klev,nqmax)
+      REAL qaer(klon,klev,nqmax)
       REAL d_tr_mph(klon,klev,nqmax),d_tr_kim(klon,klev,nqmax)
 
 c======================================================================
 c Local variables
-
-* common relatifs aux aerosols 
-      REAL qaer(klon,klev,nqtot)
-      common/traceurs/qaer
 
 c grandeurs en moyennes zonales
@@ -62,17 +59,18 @@
       REAL pdqmfi(jjm+1,klev,nqmax)
       REAL ychim(jjm+1,klev,nqmax-nmicro) 
-      REAL qysat(klev,nqtot)        ! dim nqtot, mais en fait nqmax-nmicro (save...)
-      REAL pdyfi(jjm+1,klev,nqtot)  ! dim nqtot, mais en fait nqmax-nmicro (save...)
-      character*10 nomqy(nqmax-nmicro+1)
-      integer      i,j,l,iq,ig0
-
 c La saturation n est calculee qu une seule fois: sauvegarde qysat
 c La chimie n est pas calculee tous les pas, il faut donc
 c                      sauvegarder les sorties de la chimie
-
-      SAVE pdyfi,qysat  
-      
-c======================================================================
-c======================================================================
+      REAL,save,allocatable :: qysat(:,:),pdyfi(:,:,:) 
+      
+      character*10 nomqy(nqmax-nmicro+1)
+      integer      i,j,l,iq,ig0
+      
+c======================================================================
+c======================================================================
+
+      if (firstcall) then
+       allocate(qysat(klev,nqmax-nmicro),pdyfi(jjm+1,klev,nqmax-nmicro))
+      endif
 
 c-----------------------------------------------------------------------
@@ -349,6 +347,4 @@
          DO l=1,llm
           DO i = 1, klon
-c incrementation de la tendance sur qaer (pour sorties dans physiq.F)
-            qaer(i,l,iq) = qaer(i,l,iq) + d_tr_mph(i,l,iq)*ptimestep
 c  Traceurs microphysiques: passage en intensif: n/m^2 --> n/kg
             d_tr_mph(i,l,iq) = d_tr_mph(i,l,iq)*RG/delp(i,l)
Index: trunk/libf/phytitan/radlwsw.F
===================================================================
--- trunk/libf/phytitan/radlwsw.F	(revision 102)
+++ trunk/libf/phytitan/radlwsw.F	(revision 104)
@@ -1,4 +1,5 @@
       SUBROUTINE radlwsw(dist, rmu0, fract, dtimerad, zzlev,
      .                  paprs, pplay,tsol, pt, nq, nmicro, pq,
+     .                  qaer,
      .                  heat,cool,radsol,
      .                  topsw,toplw,solsw,sollw,
@@ -53,4 +54,5 @@
       real pt(klon,klev)
       real pq(klon,klev,nq)
+      REAL qaer(klon,klev,nq)
       real heat(klon,klev), cool(klon,klev)
       real radsol(klon), topsw(klon), toplw(klon)
@@ -66,8 +68,4 @@
       REAL zswnet(klon,kflev+1),zlwnet(klon,kflev+1)
       
-* common relatifs aux aerosols 
-      REAL qaer(klon,klev,nqtot)
-      common/traceurs/qaer
-     
 
 c =======================================
@@ -117,5 +115,5 @@
       print*,'On calcule les opacites'
 
-         CALL radtitan(zp,nq,nmicro,zq)
+         CALL radtitan(zp,nq,nmicro,zq,qaer)
 
 c =======================================
Index: trunk/libf/phytitan/radtitan.F
===================================================================
--- trunk/libf/phytitan/radtitan.F	(revision 102)
+++ trunk/libf/phytitan/radtitan.F	(revision 104)
@@ -1,3 +1,3 @@
-       SUBROUTINE RADTITAN(p,nq,nmicro,ycomp)
+       SUBROUTINE RADTITAN(p,nq,nmicro,ycomp,qaer)
 
 c=======================================================================
@@ -49,4 +49,9 @@
       PARAMETER (NSPECI=46,NSPC1I=47,NSPECV=24,NSPC1V=25)
       PARAMETER (NSPV=21)  ! LDO POUR CALCUL ALBEDO
+
+c
+c  ASTUCE POUR EVITER klon... EN ATTENDANT MIEUX
+      INTEGER   ngrid
+      PARAMETER (ngrid=(jjm-1)*iim+2)  ! = klon
 c
 
@@ -58,4 +63,5 @@
       REAL p(klon,nlevel)
       REAL ycomp(klon,nlayer,nq)
+      REAL qaer(klon,klev,nq)
 
 c   Local:
@@ -68,5 +74,5 @@
       data notfirstcall/.false./
 
-      REAL emu,somcoslat,coslat(klon)
+      REAL emu,somcoslat,coslat(ngrid)
  
       REAL PCH4, effg,FH2L,RHCH4L,SSUM    ! effg est une fonction(z)
@@ -75,5 +81,5 @@
 c   ---------------------------------------------
 
-      REAL DTAUP(klon,NLAYER,NSPECI)
+      REAL DTAUP(ngrid,NLAYER,NSPECI)
       REAL UBARI,UBARV,UBAR0
       REAL DZED(NLAYER)
@@ -90,26 +96,26 @@
       REAL  RADCLD(NLAYER), XNCLD(NLAYER),RCLDI(NSPECI),  XICLDI(NSPECI)
       REAL  RCLDV(NSPECV),  XICLDV(NSPECV)
-      REAL  TAUHI(klon,NSPECI),TAUCI(klon,NSPECI)
-      REAL  TAUGI(klon,NSPECI), TAUGV(klon,NSPECV)
-      REAL  TAURV(klon,NSPECV),TAUHV(klon,NSPECV)
-      REAL  TAUCV(klon,NSPECV)
-c
-      REAL  DTAUI(klon,NLAYER,NSPECI)
-      REAL  TAUI(klon,NLEVEL,NSPECI)
-      REAL  WBARI(klon,NLAYER,NSPECI)
-      REAL  COSBI(klon,NLAYER,NSPECI)
+      REAL  TAUHI(ngrid,NSPECI),TAUCI(ngrid,NSPECI)
+      REAL  TAUGI(ngrid,NSPECI), TAUGV(ngrid,NSPECV)
+      REAL  TAURV(ngrid,NSPECV),TAUHV(ngrid,NSPECV)
+      REAL  TAUCV(ngrid,NSPECV)
+c
+      REAL  DTAUI(ngrid,NLAYER,NSPECI)
+      REAL  TAUI(ngrid,NLEVEL,NSPECI)
+      REAL  WBARI(ngrid,NLAYER,NSPECI)
+      REAL  COSBI(ngrid,NLAYER,NSPECI)
       REAL  BWNI(NSPC1I),WNOI(NSPECI)
       REAL  WLNI(NSPECI),DWNI(NSPECI)
 c
-      REAL DTAUV(klon,NLAYER,NSPECV,4)
-      REAL TAUV(klon,NLEVEL,NSPECV,4)
-      REAL WBARV(klon,NLAYER,NSPECV,4) 
-      REAL COSBV(klon,NLAYER,NSPECV,4) 
+      REAL DTAUV(ngrid,NLAYER,NSPECV,4)
+      REAL TAUV(ngrid,NLEVEL,NSPECV,4)
+      REAL WBARV(ngrid,NLAYER,NSPECV,4) 
+      REAL COSBV(ngrid,NLAYER,NSPECV,4) 
       REAL BWNV(NSPC1V), WNOV(NSPECV),DWNV(NSPECV), WLNV(NSPECV)
-      REAL FNETV(klon,NLEVEL),FUPV(klon,NLEVEL,NSPECV)  
-      REAL FDV(klon,NLEVEL,NSPECV),FMNETV(klon,NLEVEL)
+      REAL FNETV(ngrid,NLEVEL),FUPV(ngrid,NLEVEL,NSPECV)  
+      REAL FDV(ngrid,NLEVEL,NSPECV),FMNETV(ngrid,NLEVEL)
       REAL FMUPV(NLEVEL),FMDV(NLEVEL)
-      REAL FNET(klon,NLEVEL),FMNET(klon,NLEVEL)
-      REAL THEAT(klon,NLAYER)
+      REAL FNET(ngrid,NLEVEL),FMNET(ngrid,NLEVEL)
+      REAL THEAT(ngrid,NLAYER)
       REAL CSUBP,RSFI,RSFV,F0PI
       REAL  RHCH4,FH2,FHAZE,FHVIS,FHIR,TAUFAC,RCLOUD,FARGON
@@ -195,10 +201,8 @@
       COMMON /IO/ TIDAL
 
-* common relatifs aux aerosols  
 * nrad dans microtab.h
-      REAL qaer(klon,nlayer,nqtot),volume(nrad),rayon(nrad),vrat,
+      REAL volume(nrad),rayon(nrad),vrat,
      &      drayon(nrad),dvolume(nrad)
 
-      common/traceurs/qaer
       common/part/volume,rayon,vrat,
      &      drayon,dvolume
@@ -359,5 +363,5 @@
       print*,'aerosol/gas/cloud properties'
 
-      CALL OPTCI(ycomp,nmicro,IPRINT)        ! #1
+      CALL OPTCI(ycomp,qaer,nmicro,IPRINT)        ! #1
       print*,'On sort de optci'
 
@@ -374,5 +378,5 @@
 C  INFRARED. AND THEN IN THE VISIBLE.
 
-        CALL OPTCV(nmicro,IPRINT)        ! #2
+        CALL OPTCV(qaer,nmicro,IPRINT)        ! #2
 
         do j=1,NLAYER
@@ -394,5 +398,5 @@
       IF(notfirstcall)    THEN  !F au 1er appel   T aux autres appels!!
        print*,'aerosol/gas/cloud properties'
-       CALL OPTCI(ycomp,nmicro,IPRINT)        ! #1
+       CALL OPTCI(ycomp,qaer,nmicro,IPRINT)        ! #1
         DO  IG=1,klon
          DO  J=1,NLAYER
@@ -410,5 +414,5 @@
       IF(notfirstcall)    THEN  !F au 1er appel   T aux autres appels!!
        print*,'aerosol/gas/cloud properties'
-       CALL OPTCV(nmicro,IPRINT)        ! #2
+       CALL OPTCV(qaer,nmicro,IPRINT)        ! #2
       ENDIF
       ENDIF
Index: trunk/libf/phytitan/sfluxv.F
===================================================================
--- trunk/libf/phytitan/sfluxv.F	(revision 102)
+++ trunk/libf/phytitan/sfluxv.F	(revision 104)
@@ -6,4 +6,8 @@
 #include "comorbit.h"
 
+c  ASTUCE POUR EVITER klon... EN ATTENDANT MIEUX
+      INTEGER   ngrid
+      PARAMETER (ngrid=(jjm-1)*iim+2)  ! = klon
+c
       INTEGER NLAYER,NLEVEL,NSPECV,NSPC1V
       PARAMETER (NLAYER=llm,NLEVEL=NLAYER+1)
@@ -16,14 +20,14 @@
       REAL ATERM(4,NSPECV),BTERM(4,NSPECV)
       REAL PEXPON(NSPECV), SOLARF(NSPECV)
-      REAL  DTAUV(klon,NLAYER,NSPECV,4)
-     &     ,TAUV (klon,NLEVEL,NSPECV,4)
-     &     ,WBARV(klon,NLAYER,NSPECV,4) 
-     &     ,COSBV(klon,NLAYER,NSPECV,4)
+      REAL  DTAUV(ngrid,NLAYER,NSPECV,4)
+     &     ,TAUV (ngrid,NLEVEL,NSPECV,4)
+     &     ,WBARV(ngrid,NLAYER,NSPECV,4) 
+     &     ,COSBV(ngrid,NLAYER,NSPECV,4)
       REAL BWNV(NSPC1V),WNOV(NSPECV)
      &     ,DWNV(NSPECV),WLNV(NSPECV)
-      REAL  FNETV(klon,NLEVEL),     
-     &      FUPV(klon,NLEVEL,NSPECV),
-     &      FDV(klon,NLEVEL,NSPECV),
-     &      FMNETV(klon,NLEVEL),
+      REAL  FNETV(ngrid,NLEVEL),     
+     &      FUPV(ngrid,NLEVEL,NSPECV),
+     &      FDV(ngrid,NLEVEL,NSPECV),
+     &      FMNETV(ngrid,NLEVEL),
      &      FMUPV(NLEVEL),FMDV(NLEVEL)
       REAL CSUBP,RSFI,RSFV,F0PI
