Index: LMDZ6/trunk/libf/dyn3d/advtrac.F90
===================================================================
--- LMDZ6/trunk/libf/dyn3d/advtrac.F90	(revision 4063)
+++ LMDZ6/trunk/libf/dyn3d/advtrac.F90	(revision 4064)
@@ -43,6 +43,6 @@
    !     Variables locales
    !---------------------------------------------------------------------------
-   INTEGER :: ij, l, iq, iiq, iadv
-   REAL(KIND=KIND(1.d0)) :: t_initial, t_final, tps_cpu
+   INTEGER :: ij, l, iq, iadv
+!   REAL(KIND=KIND(1.d0)) :: t_initial, t_final, tps_cpu
    REAL :: zdp(ip1jmp1), zdpmin, zdpmax
    INTEGER, SAVE :: iadvtr=0
Index: LMDZ6/trunk/libf/dyn3d/dynetat0.f90
===================================================================
--- LMDZ6/trunk/libf/dyn3d/dynetat0.f90	(revision 4063)
+++ LMDZ6/trunk/libf/dyn3d/dynetat0.f90	(revision 4064)
@@ -162,5 +162,5 @@
     s1='value of '//TRIM(str1)//' ='
     s2=' read in starting file differs from parametrized '//TRIM(str2)//' ='
-    WRITE(msg,'(10x,a,i4,2x,a,i4)'),TRIM(ADJUSTL(s1)),n1,TRIM(ADJUSTL(s2)),n2
+    WRITE(msg,'(10x,a,i4,2x,a,i4)')TRIM(ADJUSTL(s1)),n1,TRIM(ADJUSTL(s2)),n2
     CALL ABORT_gcm(TRIM(modname),TRIM(msg),1)
   END IF
@@ -203,5 +203,5 @@
     CASE('close'); msg="File closing failed for <"//TRIM(nam)//">"
   END SELECT
-  CALL ABORT_gcm(TRIM(modname),TRIM(msg),ierr)
+  CALL ABORT_gcm(TRIM(modname),TRIM(msg),1)
 END SUBROUTINE err
 
Index: LMDZ6/trunk/libf/dyn3d/dynredem.F90
===================================================================
--- LMDZ6/trunk/libf/dyn3d/dynredem.F90	(revision 4063)
+++ LMDZ6/trunk/libf/dyn3d/dynredem.F90	(revision 4064)
@@ -13,6 +13,5 @@
                     NF90_64BIT_OFFSET
   USE dynredem_mod, ONLY: cre_var, put_var1, put_var2, err, modname, fil
-  USE comvert_mod, ONLY: ap,bp,aps,bps,presnivs,pseudoalt,pa,preff, &
-                              nivsig,nivsigs
+  USE comvert_mod,  ONLY: ap, bp, presnivs, pa, preff, nivsig, nivsigs
   USE comconst_mod, ONLY: cpp, daysec, dtvr, g, kappa, omeg, rad
   USE logic_mod, ONLY: fxyhypb, ysinus
@@ -35,5 +34,5 @@
 !===============================================================================
 ! Local variables:
-  INTEGER :: iq, l
+  INTEGER :: iq
   INTEGER, PARAMETER :: length=100
   REAL    :: tab_cntrl(length)                     !--- RUN PARAMETERS TABLE
@@ -42,7 +41,7 @@
   INTEGER :: indexID
   INTEGER :: rlonuID, rlonvID, rlatuID, rlatvID
-  INTEGER :: sID, sigID, nID, vID, timID
+  INTEGER :: sID, sigID, nID, timID
   INTEGER :: yyears0, jjour0, mmois0
-  REAL    :: zan0, zjulian, hours
+  REAL    :: zjulian, hours
 !===============================================================================
   modname='dynredem0'; fil=fichnom
@@ -139,5 +138,5 @@
 
 !--- Define fields saved later
-  WRITE(unites,"('days since ',i4,'-',i2.2,'-',i2.2,' 00:00:00')"),&
+  WRITE(unites,"('days since ',i4,'-',i2.2,'-',i2.2,' 00:00:00')") &
                yyears0,mmois0,jjour0
   CALL cre_var(nid,"temps","Temps de simulation",[timID],unites)
@@ -194,5 +193,5 @@
 !===============================================================================
 ! Local variables:
-  INTEGER :: l, iq, nid, vID, ierr, nid_trac, vID_trac
+  INTEGER :: iq, nid, vID, ierr, nid_trac, vID_trac
   INTEGER, SAVE :: nb=0
   INTEGER, PARAMETER :: length=100
Index: LMDZ6/trunk/libf/dyn3d/vlsplt.F
===================================================================
--- LMDZ6/trunk/libf/dyn3d/vlsplt.F	(revision 4063)
+++ LMDZ6/trunk/libf/dyn3d/vlsplt.F	(revision 4064)
@@ -38,27 +38,16 @@
 c   ---------
 c
-      INTEGER i,ij,l,j,ii
-      INTEGER ijlqmin,iqmin,jqmin,lqmin
-c
-      REAL zm(ip1jmp1,llm,nqtot),newmasse
+      INTEGER ij,l
+c
+      REAL zm(ip1jmp1,llm,nqtot)
       REAL mu(ip1jmp1,llm)
       REAL mv(ip1jm,llm)
       REAL mw(ip1jmp1,llm+1)
-      REAL zq(ip1jmp1,llm,nqtot),zz
-      REAL dqx(ip1jmp1,llm),dqy(ip1jmp1,llm),dqz(ip1jmp1,llm)
-      REAL second,temps0,temps1,temps2,temps3
-      REAL ztemps1,ztemps2,ztemps3
+      REAL zq(ip1jmp1,llm,nqtot)
       REAL zzpbar, zzw
-      LOGICAL testcpu
-      SAVE testcpu
-      SAVE temps1,temps2,temps3
-      INTEGER iminn,imaxx
       INTEGER ifils,iq2 ! CRisi
 
       REAL qmin,qmax
       DATA qmin,qmax/0.,1.e33/
-      DATA testcpu/.false./
-      DATA temps1,temps2,temps3/0.,0.,0./
-
 
         zzpbar = 0.5 * pdt
@@ -157,7 +146,6 @@
 c   ----------
       REAL masse(ip1jmp1,llm,nqtot),pente_max
-      REAL u_m( ip1jmp1,llm ),pbarv( iip1,jjm,llm)
+      REAL u_m( ip1jmp1,llm )
       REAL q(ip1jmp1,llm,nqtot)
-      REAL w(ip1jmp1,llm)
       INTEGER iq ! CRisi
 c
@@ -169,5 +157,6 @@
 c
       REAL new_m,zu_m,zdum(ip1jmp1,llm)
-      REAL sigu(ip1jmp1),dxq(ip1jmp1,llm),dxqu(ip1jmp1)
+c      REAL sigu(ip1jmp1)
+      REAL dxq(ip1jmp1,llm),dxqu(ip1jmp1)
       REAL zz(ip1jmp1)
       REAL adxqu(ip1jmp1),dxqmax(ip1jmp1,llm)
@@ -178,23 +167,7 @@
       INTEGER ifils,iq2 ! CRisi
 
-      Logical extremum,first,testcpu
-      SAVE first,testcpu
-
-      REAL      SSUM
-      REAL temps0,temps1,temps2,temps3,temps4,temps5,second
-      SAVE temps0,temps1,temps2,temps3,temps4,temps5
-
-      REAL z1,z2,z3
-
-      DATA first,testcpu/.true.,.false./
-
-      IF(first) THEN
-         temps1=0.
-         temps2=0.
-         temps3=0.
-         temps4=0.
-         temps5=0.
-         first=.false.
-      ENDIF
+      Logical first
+      SAVE first
+      DATA first/.true./
 
 c   calcul de la pente a droite et a gauche de la maille
@@ -432,5 +405,5 @@
          ENDDO
       ENDIF  ! n0.gt.0 
-9999    continue
+c9999    continue
 
 
@@ -536,5 +509,5 @@
       REAL masse(ip1jmp1,llm,nqtot),pente_max
       REAL masse_adv_v( ip1jm,llm)
-      REAL q(ip1jmp1,llm,nqtot), dq( ip1jmp1,llm)
+      REAL q(ip1jmp1,llm,nqtot)
       INTEGER iq ! CRisi
 c
@@ -545,14 +518,13 @@
 c
       REAL airej2,airejjm,airescb(iim),airesch(iim)
-      REAL dyq(ip1jmp1,llm),dyqv(ip1jm),zdvm(ip1jmp1,llm)
+      REAL dyq(ip1jmp1,llm),dyqv(ip1jm)
       REAL adyqv(ip1jm),dyqmax(ip1jmp1)
       REAL qbyv(ip1jm,llm)
 
-      REAL qpns,qpsn,appn,apps,dyn1,dys1,dyn2,dys2,newmasse,fn,fs
+      REAL qpns,qpsn,dyn1,dys1,dyn2,dys2,newmasse,fn,fs
+c     REAL appn apps
 c     REAL newq,oldmasse
-      Logical extremum,first,testcpu
-      REAL temps0,temps1,temps2,temps3,temps4,temps5,second
-      SAVE temps0,temps1,temps2,temps3,temps4,temps5
-      SAVE first,testcpu
+      LOGICAL first
+      SAVE first
 
       REAL convpn,convps,convmpn,convmps
@@ -570,6 +542,5 @@
       REAL      SSUM
 
-      DATA first,testcpu/.true.,.false./
-      DATA temps0,temps1,temps2,temps3,temps4,temps5/0.,0.,0.,0.,0.,0./
+      DATA first/.true./
 
       !write(*,*) 'vly 578: entree, iq=',iq
@@ -905,5 +876,5 @@
 c   ---------
 c
-      INTEGER i,ij,l,j,ii
+      INTEGER ij,l
 c
       REAL wq(ip1jmp1,llm+1),newmasse
@@ -918,10 +889,11 @@
       SAVE testcpu
 
-      REAL temps0,temps1,temps2,temps3,temps4,temps5,second
-      SAVE temps0,temps1,temps2,temps3,temps4,temps5
-      REAL      SSUM
+#ifdef BIDON
+      REAL temps0,temps1,second
+      SAVE temps0,temps1
 
       DATA testcpu/.false./
-      DATA temps0,temps1,temps2,temps3,temps4,temps5/0.,0.,0.,0.,0.,0./
+      DATA temps0,temps1/0.,0./
+#endif
 
 c    On oriente tout dans le sens de la pression c'est a dire dans le
@@ -1083,4 +1055,5 @@
       real zzq(iip1,jjp1,llm)
 
+#ifdef isminmax
       integer imin,jmin,lmin,ijlmin
       integer imax,jmax,lmax,ijlmax
@@ -1088,5 +1061,4 @@
       integer ismin,ismax
 
-#ifdef isminismax
       call scopy (ip1jmp1*llm,zq,1,zzq,1)
 
@@ -1116,5 +1088,5 @@
 #endif
       return
-9999  format(a20,'  q(',i3,',',i2,',',i2,')=',e12.5,e12.5)
+c9999  format(a20,'  q(',i3,',',i2,',',i2,')=',e12.5,e12.5)
       end
 
Index: LMDZ6/trunk/libf/dyn3d_common/infotrac.F90
===================================================================
--- LMDZ6/trunk/libf/dyn3d_common/infotrac.F90	(revision 4063)
+++ LMDZ6/trunk/libf/dyn3d_common/infotrac.F90	(revision 4064)
@@ -1,8 +1,8 @@
-! $Id$
+!$Id$
 !
 MODULE infotrac
 
-   USE       strings_mod, ONLY: msg, find, strIdx,  strFind, strParse, dispTable, int2str, reduceExpr,   &
-                               fmsg, test, strTail, strHead, strStack, strReduce, maxlen,  testFile, cat
+   USE       strings_mod, ONLY: msg, find, strIdx,  strFind, strParse, dispTable, int2str,  reduceExpr,  &
+                          cat, fmsg, test, strTail, strHead, strStack, strReduce, bool2str, maxlen, testFile
    USE readTracFiles_mod, ONLY: trac_type, readTracersFiles, addPhase,  phases_sep,  nphases, ancestor,  &
                                 isot_type, readIsotopesFile, delPhase,   old_phases, getKey_init, tran0, &
@@ -140,5 +140,5 @@
    !--- Aliases for older names
    INTEGER, POINTER, SAVE :: ntraciso, ntraceurs_zone
-   REAL,    POINTER, SAVE :: qperemin, masseqmin, ratiomin
+   REAL,             SAVE :: qperemin, masseqmin, ratiomin
 
 ! CRisi: cas particulier des isotopes
@@ -189,12 +189,14 @@
 !------------------------------------------------------------------------------------------------------------------------------
 ! Local variables
-   INTEGER, ALLOCATABLE :: &
-                  hadv(:), had(:), hadv_inca(:), conv_flg_inca(:), & !--- Horizontal/vertical transport scheme number
-                  vadv(:), vad(:), vadv_inca(:),  pbl_flg_inca(:)    !---   + specific variables for INCA
+   INTEGER, ALLOCATABLE :: hadv(:), vadv(:)                          !--- Horizontal/vertical transport scheme number
+#ifdef INCA
+   INTEGER, ALLOCATABLE :: had (:), hadv_inca(:), conv_flg_inca(:), &!--- Variables specific to INCA
+                           vad (:), vadv_inca(:),  pbl_flg_inca(:)
    CHARACTER(LEN=8), ALLOCATABLE :: solsym_inca(:)                   !--- Tracers names for INCA
+   INTEGER :: nqINCA
+#endif
    CHARACTER(LEN=2)      ::   suff(9)                                !--- Suffixes for schemes of order 3 or 4 (Prather)
    CHARACTER(LEN=3)      :: descrq(30)                               !--- Advection scheme description tags
-   CHARACTER(LEN=maxlen) :: oldH2O, newH2O                           !--- Old and new water names
-   CHARACTER(LEN=maxlen) :: msg1, msg2                               !--- Strings for messages
+   CHARACTER(LEN=maxlen) :: msg1                                     !--- String for messages
    CHARACTER(LEN=maxlen), ALLOCATABLE :: str(:)                      !--- Temporary storage
    INTEGER :: fType                                                  !--- Tracers description file type ; 0: none
@@ -206,10 +208,10 @@
    CHARACTER(LEN=1) :: p
    TYPE(trac_type), ALLOCATABLE, TARGET :: ttr(:)
-   TYPE(trac_type), POINTER             :: t1, tp, t(:)
+   TYPE(trac_type), POINTER             :: t1, t(:)
    TYPE(isot_type), POINTER             :: iso
 
    CHARACTER(LEN=maxlen), ALLOCATABLE :: tnom_0(:), tnom_transp(:)        !--- Tracer short name + transporting fluid name
    CHARACTER(LEN=maxlen)              :: tchaine
-   INTEGER :: ierr, nqINCA
+   INTEGER :: ierr
    LOGICAL :: lINCA
 
@@ -523,4 +525,5 @@
       IF(iad == 20) nm = 3                                             !--- 2nd order scheme
       IF(iad == 30) nm = 9                                             !--- 3rd order scheme
+      IF(nm == 0) CYCLE                                                !--- No higher moments
       ttr(jq+1:jq+nm)             = t1
       ttr(jq+1:jq+nm)%name        = [(TRIM(t1%name)    //'-'//TRIM(suff(im)), im=1, nm) ]
@@ -564,5 +567,5 @@
 
    CALL infotrac_setHeredity                !--- SET FIELDS %iqParent, %nqChilds, %iGeneration, %gen0Name, %iqDescen, %nqDescen
-   CALL infotrac_isoinit(tnom_0, nqtrue)    !--- SET FIELDS %type, %iso_iName, %iso_iZone, %iso_iPhase
+   CALL infotrac_isoinit                    !--- SET FIELDS %type, %iso_iName, %iso_iZone, %iso_iPhase
    CALL getKey_init(tracers, isotopes)
    IF(isoSelect('H2O')) RETURN                                    !--- Select water isotopes ; finished if no water isotopes
@@ -579,5 +582,5 @@
 
    !--- Finalize :
-   DEALLOCATE(tnom_0, hadv, vadv, tnom_transp)
+   DEALLOCATE(tnom_0, tnom_transp)
 
 ELSE
@@ -618,11 +621,16 @@
    t => tracers
    CALL msg('Information stored in infotrac :')
-   IF(dispTable('issssiii', ['iq      ', 'name    ', 'longName', 'gen0Name', 'parent  ', 'iadv    ', 'iqParent', 'iGenerat'], &
-                cat(t%name, t%longName, t%gen0Name, t%parent), cat([(iq, iq=1, nqtot)], t%iadv, t%iqParent, t%iGeneration)))  &
+   IF(dispTable('isssssssssiiiiiiiii', &
+      ['iq      ', 'name    ', 'longN.  ', 'gen0N.  ', 'parent  ', 'type    ', 'phase   ', 'compon. ', 'isAdv.  ', 'isH2O.  '&
+      ,'iadv    ', 'iGen.   ', 'iqPar.  ', 'nqDes.  ', 'nqChil. ', 'iso_iG. ', 'iso_iN. ', 'iso_iZ. ', 'iso_iP. '],          &
+      cat(t%name,  t%longName,  t%gen0Name,  t%parent,  t%type,  t%phase, &
+          t%component, bool2str(t%isAdvected), bool2str(t%isH2Ofamily)),  &
+      cat([(iq, iq=1, nqtot)],  t%iadv,  t%iGeneration, t%iqParent, t%nqDescen, &
+         t%nqChilds, t%iso_iGroup, t%iso_iName, t%iso_iZone, t%iso_iPhase))) &
       CALL abort_gcm(modname, "problem with the tracers table content", 1)
 
    !--- Some aliases to be removed later
-   ntraciso       => iso%ntiso
-   ntraceurs_zone => iso%nzone
+   ntraciso       => isotope%ntiso
+   ntraceurs_zone => isotope%nzone
    qperemin       =  min_qParent
    masseqmin      =  min_qMass
@@ -664,5 +672,5 @@
    CALL msg('nqChilds = '//strStack(int2str(tracers(:)%nqChilds)),     modname)
    CALL msg('iqParent = '//strStack(int2str(tracers(:)%iqParent)),     modname)
-   WRITE(lunout,*)TRIM(modname)//': iqfils = ',iqfils
+   CALL msg('iqChilds = '//strStack(int2str(PACK(iqfils,MASK=.TRUE.))),modname)
 
    !=== SET FIELDS %iGeneration, %iqDescen, %nqDescen
@@ -686,5 +694,5 @@
    CALL msg('nqDescen = '//TRIM(strStack(int2str(tracers(:)%nqDescen))), modname)
    CALL msg('nqDescen_tot = ' //TRIM(int2str(SUM(tracers(:)%nqDescen))), modname)
-   WRITE(lunout,*)TRIM(modname)//': iqfils = ',iqfils
+   CALL msg('iqChilds = '//strStack(int2str(PACK(iqfils, MASK=.TRUE.))), modname)
 
 END SUBROUTINE infotrac_setHeredity
@@ -692,5 +700,5 @@
 
 
-SUBROUTINE infotrac_isoinit(tnom_0, nqtrue)
+SUBROUTINE infotrac_isoinit
 
 #ifdef CPP_IOIPSL
@@ -700,12 +708,9 @@
 #endif
    IMPLICIT NONE
-   INTEGER,          INTENT(IN) :: nqtrue
-   CHARACTER(LEN=*), INTENT(IN) :: tnom_0(nqtrue)
    CHARACTER(LEN=3)      :: tnom_iso(niso_possibles)
    INTEGER, ALLOCATABLE  :: nb_iso(:,:), nb_traciso(:,:)
-   INTEGER               :: ii, ip, iq, it, iz, ixt, n, nb_isoind, nzone_prec
+   INTEGER               :: ii, ip, iq, it, iz, ixt, nb_isoind, nzone_prec
    TYPE(isot_type), POINTER :: i
    TYPE(trac_type), POINTER :: t(:)
-   CHARACTER(LEN=1)         :: p
    CHARACTER(LEN=maxlen)    :: tnom_trac
    CHARACTER(LEN=maxlen), ALLOCATABLE :: str(:)
@@ -718,5 +723,5 @@
    ALLOCATE(indnum_fn_num(niso_possibles))
    ALLOCATE(iso_indnum(nqtot))
-     
+
    iso_indnum   (:) = 0
    use_iso      (:) = .FALSE.
Index: LMDZ6/trunk/libf/dyn3dmem/advtrac_loc.F90
===================================================================
--- LMDZ6/trunk/libf/dyn3dmem/advtrac_loc.F90	(revision 4063)
+++ LMDZ6/trunk/libf/dyn3dmem/advtrac_loc.F90	(revision 4064)
@@ -49,5 +49,5 @@
    !     Variables locales
    !---------------------------------------------------------------------------
-   INTEGER :: ij, l, iq, iiq, iadv
+   INTEGER :: ij, l, iq, iadv
    REAL(KIND=KIND(1.d0)) :: t_initial, t_final, tps_cpu
    REAL :: zdp(ijb_u:ije_u), zdpmin, zdpmax
