Index: LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/phys_output_write_spl_mod.F90
===================================================================
--- LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/phys_output_write_spl_mod.F90	(revision 4013)
+++ LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/phys_output_write_spl_mod.F90	(revision 4368)
@@ -381,5 +381,5 @@
     USE pbl_surface_mod, ONLY: snow
     USE indice_sol_mod, ONLY: nbsrf
-    USE infotrac, ONLY: nqtot, nqo, nbtr, type_trac
+    USE infotrac, ONLY: nqtot, nbtr, tracers, type_trac
     USE geometry_mod, ONLY: cell_area
     USE surface_data, ONLY: type_ocean, version_ocean, ok_veget, landice_opt
@@ -401,5 +401,5 @@
 !   INCLUDE "temps.h"
     INCLUDE "clesphys.h"
-    INCLUDE "thermcell.h"
+    INCLUDE "alpale.h"
     INCLUDE "compbl.h"
     INCLUDE "YOMCST.h"
@@ -430,5 +430,5 @@
     INTEGER, PARAMETER :: jjmp1=jjm+1-1/jjm
     INTEGER :: itau_w
-    INTEGER :: i, iinit, iinitend=1, iff, iq, nsrf, k, ll, naero
+    INTEGER :: i, iinit, iinitend=1, iff, iq, itr, nsrf, k, ll, naero
     REAL, DIMENSION (klon) :: zx_tmp_fi2d
     REAL, DIMENSION (klon,klev) :: zx_tmp_fi3d, zpt_conv
@@ -1610,35 +1610,32 @@
 #endif
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-       IF (nqtot.GE.nqo+1) THEN
-         !AS: type_trac = 'lmdz' par defaut dans libf/dyn3d/conf_gcm.F90
-         !Changé par inca, repr(obus), coag(ulation), co2i(nteractif), PAS par SPLA
-         !Cet "if" est donc inutile : IF (type_trac == 'lmdz' .OR. type_trac == 'repr') THEN
-           DO iq=nqo+1,nqtot
-             CALL histwrite_phy(o_trac(iq-nqo), tr_seri(:,:,iq-nqo))
-             CALL histwrite_phy(o_dtr_vdf(iq-nqo),d_tr_cl(:,:,iq-nqo))
-             CALL histwrite_phy(o_dtr_the(iq-nqo),d_tr_th(:,:,iq-nqo))
-             CALL histwrite_phy(o_dtr_con(iq-nqo),d_tr_cv(:,:,iq-nqo))
-             CALL histwrite_phy(o_dtr_lessi_impa(iq-nqo),d_tr_lessi_impa(:,:,iq-nqo))
-             CALL histwrite_phy(o_dtr_lessi_nucl(iq-nqo),d_tr_lessi_nucl(:,:,iq-nqo))
-             CALL histwrite_phy(o_dtr_insc(iq-nqo),d_tr_insc(:,:,iq-nqo))
-             CALL histwrite_phy(o_dtr_bcscav(iq-nqo),d_tr_bcscav(:,:,iq-nqo))
-             CALL histwrite_phy(o_dtr_evapls(iq-nqo),d_tr_evapls(:,:,iq-nqo))
-             CALL histwrite_phy(o_dtr_ls(iq-nqo),d_tr_ls(:,:,iq-nqo))
-!            CALL histwrite_phy(o_dtr_dyn(iq-nqo),d_tr_dyn(:,:,iq-nqo))
-!            CALL histwrite_phy(o_dtr_cl(iq-nqo),d_tr_cl(:,:,iq-nqo))
-             CALL histwrite_phy(o_dtr_trsp(iq-nqo),d_tr_trsp(:,:,iq-nqo))
-             CALL histwrite_phy(o_dtr_sscav(iq-nqo),d_tr_sscav(:,:,iq-nqo))
-             CALL histwrite_phy(o_dtr_sat(iq-nqo),d_tr_sat(:,:,iq-nqo))
-             CALL histwrite_phy(o_dtr_uscav(iq-nqo),d_tr_uscav(:,:,iq-nqo))
+           itr = 0
+           DO iq = 1, nqtot
+             IF(.NOT.tracers(iq)%isInPhysics) CYCLE
+             itr = itr+1
+             CALL histwrite_phy(o_trac(itr), tr_seri(:,:,itr))
+             CALL histwrite_phy(o_dtr_vdf(itr),d_tr_cl(:,:,itr))
+             CALL histwrite_phy(o_dtr_the(itr),d_tr_th(:,:,itr))
+             CALL histwrite_phy(o_dtr_con(itr),d_tr_cv(:,:,itr))
+             CALL histwrite_phy(o_dtr_lessi_impa(itr),d_tr_lessi_impa(:,:,itr))
+             CALL histwrite_phy(o_dtr_lessi_nucl(itr),d_tr_lessi_nucl(:,:,itr))
+             CALL histwrite_phy(o_dtr_insc(itr),d_tr_insc(:,:,itr))
+             CALL histwrite_phy(o_dtr_bcscav(itr),d_tr_bcscav(:,:,itr))
+             CALL histwrite_phy(o_dtr_evapls(itr),d_tr_evapls(:,:,itr))
+             CALL histwrite_phy(o_dtr_ls(itr),d_tr_ls(:,:,itr))
+!            CALL histwrite_phy(o_dtr_dyn(itr),d_tr_dyn(:,:,itr))
+!            CALL histwrite_phy(o_dtr_cl(itr),d_tr_cl(:,:,itr))
+             CALL histwrite_phy(o_dtr_trsp(itr),d_tr_trsp(:,:,itr))
+             CALL histwrite_phy(o_dtr_sscav(itr),d_tr_sscav(:,:,itr))
+             CALL histwrite_phy(o_dtr_sat(itr),d_tr_sat(:,:,itr))
+             CALL histwrite_phy(o_dtr_uscav(itr),d_tr_uscav(:,:,itr))
              zx_tmp_fi2d=0.
              IF (vars_defined) THEN
                 DO k=1,klev
-                   zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+zmasse(:,k)*tr_seri(:,k,iq-nqo)
+                   zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+zmasse(:,k)*tr_seri(:,k,itr)
                 ENDDO
              ENDIF
-             CALL histwrite_phy(o_trac_cum(iq-nqo), zx_tmp_fi2d)
+             CALL histwrite_phy(o_trac_cum(itr), zx_tmp_fi2d)
            ENDDO
-         !ENDIF
-       ENDIF
 
        IF (.NOT.vars_defined) THEN
Index: LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/phytracr_spl_mod.F90
===================================================================
--- LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/phytracr_spl_mod.F90	(revision 4013)
+++ LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/phytracr_spl_mod.F90	(revision 4368)
@@ -820,4 +820,6 @@
 ! 1/ le call phytrac se fait avec nqmax-2 donc nous avons bien 
 ! les vrais traceurs (nbtr) dans phytrac (pas la vapeur ni eau liquide)
+!! AS : nqmax-2 devrait etre nqmax-3 apres introducton de H2Oi ; 
+!!   et c'est encore different avec le parser de DC ?
 !======================================================================
 #include "dimensions.h"
@@ -827,5 +829,5 @@
 #include "YOETHF.h"
 #include "paramet.h"
-#include "thermcell.h"
+#include "alpale.h"
 
 !======================================================================
@@ -1104,5 +1106,5 @@
       REAL, intent(in) ::  rlon(klon)       ! longitudes pour chaque point 
 !
-      INTEGER i, k, it, j, ig 
+      INTEGER i, k, iq, itr, j, ig 
 !
 ! DEFINITION OF DIAGNOSTIC VARIABLES
@@ -1260,7 +1262,10 @@
 
 #ifdef IOPHYS_DUST
-      do it=1,nbtr
-         write(str2,'(i2.2)') it
-         call iophys_ecrit('TRA'//str2,klev,'SOURCE','',tr_seri(:,:,it))
+      itr = 0
+      DO iq = 1, nqtot
+         IF(.NOT.tracers(iq)%isInPhysics) CYCLE
+         itr = itr+1
+         write(str2,'(i2.2)') itrr
+         call iophys_ecrit('TRA'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
       enddo
 #endif
@@ -1414,29 +1419,23 @@
         id_codu=-1
         id_scdu=-1
-       !print *,nbtr
-       do it=1,nbtr
-        print *, it, tname(it+nqo)
-        if (tname(it+nqo) == 'PREC' ) then
-            id_prec=it
-        endif
-        if (tname(it+nqo) == 'FINE' ) then
-            id_fine=it
-        endif
-        if (tname(it+nqo) == 'COSS' ) then
-            id_coss=it
-        endif
-        if (tname(it+nqo) == 'CODU' ) then
-            id_codu=it
-        endif
-        if (tname(it+nqo) == 'SCDU' ) then
-            id_scdu=it
-        endif
-       enddo
-       ! check consistency with dust emission scheme:
-       if (ok_chimeredust) then
+        itr = 0
+        do iq=1,nqtot
+          IF(.NOT.tracers(iq)%isInPhysics) CYCLE
+          itr = itr+1
+          print *, itr, TRIM(tracers(iq)%name)
+          SELECT CASE(tracers(iq)%name)
+            CASE('PREC'); id_prec=itr
+            CASE('FINE'); id_fine=itr
+            CASE('COSS'); id_coss=itr
+            CASE('CODU'); id_codu=itr
+            CASE('SCDU'); id_scdu=itr
+          END SELECT
+        enddo
+        ! check consistency with dust emission scheme:
+        if (ok_chimeredust) then
           if (.not.( id_scdu>0 .and. id_codu>0 .and. id_fine>0)) then
              call abort_gcm('phytracr_mod', 'pb in ok_chimdust 0',1)
           endif
-       else 
+        else 
           if (id_scdu>0) then 
        call abort_gcm('phytracr_mod', 'pb in ok_chimdust 1 SCDU',1)
@@ -1568,15 +1567,15 @@
 ! JE before put in zero
       IF (lminmax) THEN
-        DO it=1,nbtr
-        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan init phytracr')
-        ENDDO        
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'minmax init phytracr')
+        DO itr=1,nbtr
+        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan init phytracr')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'minmax init phytracr')
         ENDDO
         CALL minmaxsource(source_tr,qmin,qmax,'maxsource init phytracr')
       ENDIF
 ! JE   initializon to cero the tracers     
-!         DO it=1, nbtr
-!            tr_seri(:,:,it)=0.0
+!         DO itr=1,nbtr
+!            tr_seri(:,:,itr)=0.0
 !         ENDDO
 ! JE end     
@@ -1584,12 +1583,12 @@
 !        tr_seri(:,:,:)=0.0
 !
-!        DO it=1,nbtr
-!           trm_aux(it)=0.0
-!           src_aux(it)=0.0
-!           diag_trm(it)=0.0
-!           diag_drydep(it)=0.0
-!           diag_wetdep(it)=0.0
-!           diag_cvtdep(it)=0.0
-!           diag_emissn(it)=0.0
+!        DO itr=1,nbtr
+!           trm_aux(itr)=0.0
+!           src_aux(itr)=0.0
+!           diag_trm(itr)=0.0
+!           diag_drydep(itr)=0.0
+!           diag_wetdep(itr)=0.0
+!           diag_cvtdep(itr)=0.0
+!           diag_emissn(itr)=0.0
 !        ENDDO
 !        diag_g2part=0.0
@@ -1767,36 +1766,36 @@
 
 !
-      DO it=1, nbtr
+      DO itr=1,nbtr
        DO k=1,klev
         DO i=1,klon
-         d_tr_cv(i,k,it)=0.
-         d_tr_trsp(i,k,it)=0.
-         d_tr_sscav(i,k,it)=0.
-         d_tr_sat(i,k,it)=0.
-         d_tr_uscav(i,k,it)=0.
-         d_tr(i,k,it)=0.
-         d_tr_insc(i,k,it)=0.
-         d_tr_bcscav(i,k,it)=0.
-         d_tr_evapls(i,k,it)=0.
-         d_tr_ls(i,k,it)=0.
-         d_tr_cl(i,k,it)=0.
-         d_tr_th(i,k,it)=0.
+         d_tr_cv(i,k,itr)=0.
+         d_tr_trsp(i,k,itr)=0.
+         d_tr_sscav(i,k,itr)=0.
+         d_tr_sat(i,k,itr)=0.
+         d_tr_uscav(i,k,itr)=0.
+         d_tr(i,k,itr)=0.
+         d_tr_insc(i,k,itr)=0.
+         d_tr_bcscav(i,k,itr)=0.
+         d_tr_evapls(i,k,itr)=0.
+         d_tr_ls(i,k,itr)=0.
+         d_tr_cl(i,k,itr)=0.
+         d_tr_th(i,k,itr)=0.
   
-         d_tr_cv_o(i,k,it)=0.
-         d_tr_trsp_o(i,k,it)=0.
-         d_tr_sscav_o(i,k,it)=0.
-         d_tr_sat_o(i,k,it)=0.
-         d_tr_uscav_o(i,k,it)=0.
-
-
-         qDi(i,k,it)=0.
-         qPr(i,k,it)=0.
-         qPa(i,k,it)=0.
-         qMel(i,k,it)=0.
-         qTrdi(i,k,it)=0.
-         dtrcvMA(i,k,it)=0.
-         zmfd1a(i,k,it)=0.
-         zmfdam(i,k,it)=0.
-         zmfphi2(i,k,it)=0.
+         d_tr_cv_o(i,k,itr)=0.
+         d_tr_trsp_o(i,k,itr)=0.
+         d_tr_sscav_o(i,k,itr)=0.
+         d_tr_sat_o(i,k,itr)=0.
+         d_tr_uscav_o(i,k,itr)=0.
+
+
+         qDi(i,k,itr)=0.
+         qPr(i,k,itr)=0.
+         qPa(i,k,itr)=0.
+         qMel(i,k,itr)=0.
+         qTrdi(i,k,itr)=0.
+         dtrcvMA(i,k,itr)=0.
+         zmfd1a(i,k,itr)=0.
+         zmfdam(i,k,itr)=0.
+         zmfphi2(i,k,itr)=0.
         END DO
        END DO
@@ -1804,27 +1803,27 @@
 
 
-      DO it=1, nbtr
+      DO itr=1,nbtr
        DO i=1,klon
-          qPrls(i,it)=0.0
-          dtrconv(i,it)=0.0
+          qPrls(i,itr)=0.0
+          dtrconv(i,itr)=0.0
 !JE20140507<<
-          d_tr_dry(i,it)=0.0
-          flux_tr_dry(i,it)=0.0
+          d_tr_dry(i,itr)=0.0
+          flux_tr_dry(i,itr)=0.0
 !JE20140507>>
        ENDDO
       ENDDO
 
-      DO it=1, nbtr
+      DO itr=1,nbtr
       DO i=1, klon 
-        his_dh(i,it)=0.0
-        his_dhlsc(i,it)=0.0
-        his_dhcon(i,it)=0.0
-        his_dhbclsc(i,it)=0.0
-        his_dhbccon(i,it)=0.0
-        trm(i,it)=0.0
-        his_th(i,it)=0.0
-        his_dhkecv(i,it)=0.0
-        his_ds(i,it)=0.0
-        his_dhkelsc(i,it)=0.0
+        his_dh(i,itr)=0.0
+        his_dhlsc(i,itr)=0.0
+        his_dhcon(i,itr)=0.0
+        his_dhbclsc(i,itr)=0.0
+        his_dhbccon(i,itr)=0.0
+        trm(i,itr)=0.0
+        his_th(i,itr)=0.0
+        his_dhkecv(i,itr)=0.0
+        his_ds(i,itr)=0.0
+        his_dhkelsc(i,itr)=0.0
 
       ENDDO
@@ -2068,8 +2067,8 @@
 !=======================================================================
 !
-      DO it=1, nbtr
+      DO itr=1,nbtr
         DO j=1,klev
         DO i=1,klon
-           tmp_var(i,j)=tr_seri(i,j,it)
+           tmp_var(i,j)=tr_seri(i,j,itr)
         ENDDO
         ENDDO
@@ -2077,5 +2076,5 @@
         DO j=1,klev
         DO i=1,klon
-           tr_seri(i,j,it)=tmp_var(i,j)
+           tr_seri(i,j,itr)=tmp_var(i,j)
         ENDDO
         ENDDO
@@ -2094,9 +2093,9 @@
 !
       IF (lminmax) THEN
-        DO it=1,nbtr
-        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_avt_coarem')
+        DO itr=1,nbtr
+        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_avt_coarem')
         ENDDO        
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'avt coarem')
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'avt coarem')
         ENDDO
         CALL minmaxsource(source_tr,qmin,qmax,'src: avt coarem')
@@ -2131,12 +2130,12 @@
 !     .                                         MAXVAL(tr_seri(:,:,3))
 #ifdef IOPHYS_DUST
-      do it=1,nbtr
-         write(str2,'(i2.2)') it
-         call iophys_ecrit('sav'//str2,1,'SOURCE','',source_tr(:,it))
-         call iophys_ecrit('fav'//str2,1,'SOURCE','',source_tr(:,it))
+      do itr=1,nbtr
+         write(str2,'(i2.2)') itr
+         call iophys_ecrit('sav'//str2,1,'SOURCE','',source_tr(:,itr))
+         call iophys_ecrit('fav'//str2,1,'SOURCE','',source_tr(:,itr))
       enddo
-      do it=1,nbtr
-         write(str2,'(i2.2)') it
-         call iophys_ecrit('TRB'//str2,klev,'SOURCE','',tr_seri(:,:,it))
+      do itr=1,nbtr
+         write(str2,'(i2.2)') itr
+         call iophys_ecrit('TRB'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
       enddo
 #endif
@@ -2164,17 +2163,17 @@
 
 #ifdef IOPHYS_DUST
-      do it=1,nbtr
-         write(str2,'(i2.2)') it
-         call iophys_ecrit('sap'//str2,1,'SOURCE','',source_tr(:,it))
-         call iophys_ecrit('fap'//str2,1,'SOURCE','',source_tr(:,it))
+      do itr=1,nbtr
+         write(str2,'(i2.2)') itr
+         call iophys_ecrit('sap'//str2,1,'SOURCE','',source_tr(:,itr))
+         call iophys_ecrit('fap'//str2,1,'SOURCE','',source_tr(:,itr))
       enddo
 #endif
 
       IF (lminmax) THEN
-        DO it=1,nbtr
-        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after_coarem')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after coarem')
+        DO itr=1,nbtr
+        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after_coarem')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after coarem')
         ENDDO
         CALL minmaxsource(source_tr,qmin,qmax,'src: after coarem')
@@ -2248,9 +2247,9 @@
 !
       IF (lminmax) THEN
-        DO it=1,nbtr
-        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after precur')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after precur')
+        DO itr=1,nbtr
+        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after precur')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after precur')
         ENDDO
         CALL minmaxsource(source_tr,qmin,qmax,'src: after precur')
@@ -2262,8 +2261,8 @@
 #ifdef IOPHYS_DUST
 !
-      do it=1,nbtr
-         write(str2,'(i2.2)') it
-         call iophys_ecrit('tpr'//str2,1,'SOURCE','',source_tr(:,it))
-         call iophys_ecrit('fpr'//str2,1,'SOURCE','',flux_tr(:,it))
+      do itr=1,nbtr
+         write(str2,'(i2.2)') itr
+         call iophys_ecrit('tpr'//str2,1,'SOURCE','',source_tr(:,itr))
+         call iophys_ecrit('fpr'//str2,1,'SOURCE','',flux_tr(:,itr))
       enddo
 #endif
@@ -2282,13 +2281,13 @@
 !
       IF (lminmax) THEN
-        DO it=1,nbtr
-        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after_fineem')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after fineem')
+        DO itr=1,nbtr
+        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after_fineem')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after fineem')
         ENDDO
       IF (lcheckmass) THEN
-        DO it=1,nbtr
-         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,   &
+        DO itr=1,nbtr
+         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,   &
            pplay,t_seri,iscm3,'after fineem')                  
         ENDDO
@@ -2309,8 +2308,8 @@
 
 #ifdef IOPHYS_DUST
-      do it=1,nbtr
-         write(str2,'(i2.2)') it
-         call iophys_ecrit('t'//str2,1,'SOURCE','',source_tr(:,it))
-         call iophys_ecrit('f'//str2,1,'SOURCE','',flux_tr(:,it))
+      do itr=1,nbtr
+         write(str2,'(i2.2)') itr
+         call iophys_ecrit('t'//str2,1,'SOURCE','',source_tr(:,itr))
+         call iophys_ecrit('f'//str2,1,'SOURCE','',flux_tr(:,itr))
       enddo
 #endif
@@ -2325,6 +2324,6 @@
 !=======================================================================
 !
-!        DO it=1,nbtr
-!         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,
+!        DO itr=1,nbtr
+!         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,
 !     .      pplay,t_seri,iscm3,'')
 !        ENDDO
@@ -2337,8 +2336,8 @@
       ENDIF
 
-      DO it=1, nbtr
+      DO itr=1,nbtr
          DO j=1,klev
          DO i=1,klon
-           tmp_var(i,j)=tr_seri(i,j,it)
+           tmp_var(i,j)=tr_seri(i,j,itr)
          ENDDO 
          ENDDO
@@ -2346,5 +2345,5 @@
          DO j=1,klev
          DO i=1,klon
-           tr_seri(i,j,it)=tmp_var(i,j)
+           tr_seri(i,j,itr)=tmp_var(i,j)
          ENDDO 
          ENDDO
@@ -2353,13 +2352,13 @@
 !----------------------------
       IF (lminmax) THEN
-        DO it=1,nbtr
-        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_before_depo')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'before depo')
+        DO itr=1,nbtr
+        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_before_depo')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'before depo')
         ENDDO
       IF (lcheckmass) THEN
-        DO it=1,nbtr
-         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz, &
+        DO itr=1,nbtr
+         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz, &
            pplay,t_seri,iscm3,'before depo')
         ENDDO
@@ -2369,7 +2368,7 @@
 
 #ifdef IOPHYS_DUST
-      do it=1,nbtr
-         write(str2,'(i2.2)') it
-         call iophys_ecrit('TRC'//str2,klev,'SOURCE','',tr_seri(:,:,it))
+      do itr=1,nbtr
+         write(str2,'(i2.2)') itr
+         call iophys_ecrit('TRC'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
       enddo
 #endif
@@ -2381,13 +2380,13 @@
 !
       IF (lminmax) THEN
-        DO it=1,nbtr
-        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after_depo')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after depo')
+        DO itr=1,nbtr
+        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after_depo')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after depo')
         ENDDO
       IF (lcheckmass) THEN
-        DO it=1,nbtr
-         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,   &
+        DO itr=1,nbtr
+         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,   &
            pplay,t_seri,iscm3,'after depo')
         ENDDO
@@ -2411,7 +2410,7 @@
 
 #ifdef IOPHYS_DUST
-      do it=1,nbtr
-         write(str2,'(i2.2)') it
-         call iophys_ecrit('TRD'//str2,klev,'SOURCE','',tr_seri(:,:,it))
+      do itr=1,nbtr
+         write(str2,'(i2.2)') itr
+         call iophys_ecrit('TRD'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
       enddo
 #endif
@@ -2431,9 +2430,9 @@
       END DO
 !
-      DO it=1, nbtr
+      DO itr=1,nbtr
       DO j=1, klev
       DO i=1, klon
-        tmp_var(i,j)=tr_seri(i,j,it)
-        aux_var2(i)=source_tr(i,it)
+        tmp_var(i,j)=tr_seri(i,j,itr)
+        aux_var2(i)=source_tr(i,itr)
       ENDDO
       ENDDO
@@ -2446,22 +2445,22 @@
 !KE
       CALL cltrac(pdtphys, coefh,t_seri,tmp_var,aux_var2,paprs,pplay,  &
-                 delp,aux_var3,d_tr_dry,flux_tr_dry(:,it))
+                 delp,aux_var3,d_tr_dry,flux_tr_dry(:,itr))
       ENDIF
 
       DO i=1, klon
       DO j=1, klev
-        tr_seri(i,j,it)=tmp_var(i,j)
-        d_tr(i,j,it)=aux_var3(i,j)
-        d_tr_cl(i,j,it)=d_tr(i,j,it)
+        tr_seri(i,j,itr)=tmp_var(i,j)
+        d_tr(i,j,itr)=aux_var3(i,j)
+        d_tr_cl(i,j,itr)=d_tr(i,j,itr)
       ENDDO
       ENDDO
       DO k = 1, klev
       DO i = 1, klon
-         tr_seri(i,k,it) = tr_seri(i,k,it) + d_tr(i,k,it)
+         tr_seri(i,k,itr) = tr_seri(i,k,itr) + d_tr(i,k,itr)
       ENDDO
       ENDDO
       print *,' AFTER Cltrac'
       IF (lminmax) THEN
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after cltrac')
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after cltrac')
       ENDIF
       ENDDO !--end itr loop
@@ -2487,7 +2486,7 @@
       call iophys_ecrit('yv1',1,'yv1','',yv1)
       call iophys_ecrit('delp',klev,'delp','',delp)
-      do it=1,nbtr
-         write(str2,'(i2.2)') it
-         call iophys_ecrit('TRE'//str2,klev,'SOURCE','',tr_seri(:,:,it))
+      do itr=1,nbtr
+         write(str2,'(i2.2)') itr
+         call iophys_ecrit('TRE'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
       enddo
 #endif
@@ -2506,13 +2505,13 @@
       
        IF (lminmax) THEN
-        DO it=1,nbtr
-       CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_before therm')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'before therm')
+        DO itr=1,nbtr
+       CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_before therm')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'before therm')
         ENDDO
       IF (lcheckmass) THEN
-        DO it=1,nbtr
-         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,  &
+        DO itr=1,nbtr
+         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,  &
            pplay,t_seri,iscm3,'before therm')
         ENDDO
@@ -2521,11 +2520,11 @@
       ENDIF
 
-      DO it=1,nbtr
+      DO itr=1,nbtr
          DO k=1,klev
             DO i=1,klon
-               tmp_var3(i,k,it)=tr_seri(i,k,it)
-               d_tr_th(i,k,it)=0.
-               tr_seri(i,k,it)=MAX(tr_seri(i,k,it),0.)
-!JE: precursor >>1e10         tr_seri(i,k,it)=MIN(tr_seri(i,k,it),1.e10)
+               tmp_var3(i,k,itr)=tr_seri(i,k,itr)
+               d_tr_th(i,k,itr)=0.
+               tr_seri(i,k,itr)=MAX(tr_seri(i,k,itr),0.)
+!JE: precursor >>1e10         tr_seri(i,k,itr)=MIN(tr_seri(i,k,itr),1.e10)
             END DO
          END DO
@@ -2533,14 +2532,14 @@
 
 !JE  new implicit scheme 20140323
-      DO it=1,nbtr
+      DO itr=1,nbtr
         CALL thermcell_dq(klon,klev,1,pdtphys,fm_therm,entr_therm,  &
-                         zmasse,tr_seri(1:klon,1:klev,it),         &
-                         d_tr(1:klon,1:klev,it),ztra_th,0 )
+                         zmasse,tr_seri(1:klon,1:klev,itr),         &
+                         d_tr(1:klon,1:klev,itr),ztra_th,0 )
 
         DO k=1,klev
            DO i=1,klon
-              d_tr(i,k,it)=pdtphys*d_tr(i,k,it)
-              d_tr_th(i,k,it)=d_tr_th(i,k,it)+d_tr(i,k,it)
-              tr_seri(i,k,it)=MAX(tr_seri(i,k,it)+d_tr(i,k,it),0.)
+              d_tr(i,k,itr)=pdtphys*d_tr(i,k,itr)
+              d_tr_th(i,k,itr)=d_tr_th(i,k,itr)+d_tr(i,k,itr)
+              tr_seri(i,k,itr)=MAX(tr_seri(i,k,itr)+d_tr(i,k,itr),0.)
               END DO
         END DO
@@ -2550,15 +2549,15 @@
 ! old scheme explicit
 !       nsplit=10
-!       DO it=1,nbtr
+!       DO itr=1,nbtr
 !          DO isplit=1,nsplit
 !              CALL dqthermcell(klon,klev,pdtphys/nsplit, 
 !     .            fm_therm,entr_therm,zmasse, 
-!     .            tr_seri(1:klon,1:klev,it),
-!     .            d_tr(1:klon,1:klev,it),ztra_th)
+!     .            tr_seri(1:klon,1:klev,itr),
+!     .            d_tr(1:klon,1:klev,itr),ztra_th)
 !            DO k=1,klev
 !               DO i=1,klon
-!                  d_tr(i,k,it)=pdtphys*d_tr(i,k,it)/nsplit
-!                  d_tr_th(i,k,it)=d_tr_th(i,k,it)+d_tr(i,k,it)
-!                  tr_seri(i,k,it)=MAX(tr_seri(i,k,it)+d_tr(i,k,it),0.)
+!                  d_tr(i,k,itr)=pdtphys*d_tr(i,k,itr)/nsplit
+!                  d_tr_th(i,k,itr)=d_tr_th(i,k,itr)+d_tr(i,k,itr)
+!                  tr_seri(i,k,itr)=MAX(tr_seri(i,k,itr)+d_tr(i,k,itr),0.)
 !               END DO
 !            END DO
@@ -2567,13 +2566,13 @@
 !JE end modif 20140323
 
-      DO it=1,nbtr
+      DO itr=1,nbtr
          DO k=1,klev
             DO i=1,klon
-          tmp_var(i,k)=tr_seri(i,k,it)-tmp_var3(i,k,it)
+          tmp_var(i,k)=tr_seri(i,k,itr)-tmp_var3(i,k,itr)
             ENDDO
          ENDDO
        IF (lminmax) THEN
       IF (lcheckmass) THEN
-         CALL checkmass(tmp_var(:,:),RNAVO,masse(it),zdz,  &
+         CALL checkmass(tmp_var(:,:),RNAVO,masse(itr),zdz,  &
            pplay,t_seri,iscm3,'dtr therm ')
       ENDIF
@@ -2583,7 +2582,7 @@
          DO k=1,klev
             DO i=1,klon
-               his_th(i,it)=his_th(i,it)+    &
+               his_th(i,itr)=his_th(i,itr)+    &
                            (tmp_var(i,k))/RNAVO*   &
-                     masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys
+                     masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys
             END DO !klon
          END DO !klev
@@ -2591,13 +2590,13 @@
       END DO !it
        IF (lminmax) THEN
-        DO it=1,nbtr
-       CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after therm')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after therm')
+        DO itr=1,nbtr
+       CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after therm')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after therm')
         ENDDO
       IF (lcheckmass) THEN
-        DO it=1,nbtr
-         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,   &
+        DO itr=1,nbtr
+         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,   &
            pplay,t_seri,iscm3,'after therm')
         ENDDO
@@ -2624,8 +2623,8 @@
 
 
-      DO it=1,nbtr
+      DO itr=1,nbtr
       DO j=1,klev
       DO i=1,klon
-         tmp_var(i,j)=tr_seri(i,j,it)
+         tmp_var(i,j)=tr_seri(i,j,itr)
       ENDDO
       ENDDO
@@ -2633,5 +2632,5 @@
       DO j=1,klev
       DO i=1,klon
-         tr_seri(i,j,it)=tmp_var(i,j)
+         tr_seri(i,j,itr)=tmp_var(i,j)
       ENDDO
       ENDDO
@@ -2642,13 +2641,13 @@
 
       IF (lminmax) THEN
-        DO it=1,nbtr
-        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_before_sedi')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'before sedi')
+        DO itr=1,nbtr
+        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_before_sedi')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'before sedi')
         ENDDO
       IF (lcheckmass) THEN
-        DO it=1,nbtr
-         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,   &
+        DO itr=1,nbtr
+         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,   &
            pplay,t_seri,iscm3,'before sedi')
         ENDDO
@@ -2668,13 +2667,13 @@
 
       IF (lminmax) THEN
-        DO it=1,nbtr
-        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after_sedi')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after sedi')
+        DO itr=1,nbtr
+        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after_sedi')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after sedi')
         ENDDO
       IF (lcheckmass) THEN
-        DO it=1,nbtr
-         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,  &
+        DO itr=1,nbtr
+         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,  &
            pplay,t_seri,iscm3,'after sedi')
         ENDDO
@@ -2686,7 +2685,7 @@
 !=======================================================================
 #ifdef IOPHYS_DUST
-      do it=1,nbtr
-         write(str2,'(i2.2)') it
-         call iophys_ecrit('TRF'//str2,klev,'SOURCE','',tr_seri(:,:,it))
+      do itr=1,nbtr
+         write(str2,'(i2.2)') itr
+         call iophys_ecrit('TRF'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
       enddo
 #endif
@@ -2703,8 +2702,8 @@
       ENDIF
 
-      DO it=1, nbtr
+      DO itr=1,nbtr
          DO j=1,klev
          DO i=1,klon
-           tmp_var(i,j)=tr_seri(i,j,it)
+           tmp_var(i,j)=tr_seri(i,j,itr)
          ENDDO 
          ENDDO
@@ -2712,5 +2711,5 @@
          DO j=1,klev
          DO i=1,klon
-           tr_seri(i,j,it)=tmp_var(i,j)
+           tr_seri(i,j,itr)=tmp_var(i,j)
          ENDDO 
          ENDDO
@@ -2729,13 +2728,13 @@
 
       IF (lminmax) THEN
-        DO it=1,nbtr
-        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_beforegastopar')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'before gastopar')
+        DO itr=1,nbtr
+        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_beforegastopar')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'before gastopar')
         ENDDO
       IF (lcheckmass) THEN
-        DO it=1,nbtr
-         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,  &
+        DO itr=1,nbtr
+         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,  &
            pplay,t_seri,iscm3,'before gastopar')
         ENDDO
@@ -2749,13 +2748,13 @@
 !
       IF (lminmax) THEN
-        DO it=1,nbtr
-        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after_gastopar')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after gastopar')
+        DO itr=1,nbtr
+        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after_gastopar')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after gastopar')
         ENDDO
       IF (lcheckmass) THEN
-        DO it=1,nbtr
-         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,  &
+        DO itr=1,nbtr
+         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,  &
            pplay,t_seri,iscm3,'after gastopar')
         ENDDO
@@ -2780,7 +2779,7 @@
 
 #ifdef IOPHYS_DUST
-      do it=1,nbtr
-         write(str2,'(i2.2)') it
-         call iophys_ecrit('TRG'//str2,klev,'SOURCE','',tr_seri(:,:,it))
+      do itr=1,nbtr
+         write(str2,'(i2.2)') itr
+         call iophys_ecrit('TRG'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
       enddo
 #endif
@@ -2796,8 +2795,8 @@
 
 
-       DO it=1, nbtr
+       DO itr=1,nbtr
         DO j=1,klev
         DO i=1,klon
-           tmp_var(i,j)=tr_seri(i,j,it)
+           tmp_var(i,j)=tr_seri(i,j,itr)
         ENDDO
         ENDDO
@@ -2805,5 +2804,5 @@
         DO j=1,klev
         DO i=1,klon
-           tr_seri(i,j,it)=tmp_var(i,j)
+           tr_seri(i,j,itr)=tmp_var(i,j)
         ENDDO
         ENDDO
@@ -2818,13 +2817,13 @@
 
       IF (lminmax) THEN
-        DO it=1,nbtr
-        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_before_incloud')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'before incloud')
+        DO itr=1,nbtr
+        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_before_incloud')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'before incloud')
         ENDDO
       IF (lcheckmass) THEN
-        DO it=1,nbtr
-         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,  &
+        DO itr=1,nbtr
+         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,  &
            pplay,t_seri,iscm3,'before incloud')
         ENDDO
@@ -2859,13 +2858,13 @@
       print *,' BEFORE blcloud (after incloud)'
       IF (lminmax) THEN
-        DO it=1,nbtr
-        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_before_blcloud')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'before blcloud')
+        DO itr=1,nbtr
+        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_before_blcloud')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'before blcloud')
         ENDDO
       IF (lcheckmass) THEN
-        DO it=1,nbtr
-         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,   &
+        DO itr=1,nbtr
+         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,   &
            pplay,t_seri,iscm3,'before blcloud')
         ENDDO
@@ -2902,13 +2901,13 @@
 
       IF (lminmax) THEN
-        DO it=1,nbtr
-        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after_blcloud')
+        DO itr=1,nbtr
+        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after_blcloud')
         ENDDO                           
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after blcloud')
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after blcloud')
         ENDDO                                  
       IF (lcheckmass) THEN
-        DO it=1,nbtr
-         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,  &
+        DO itr=1,nbtr
+         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,  &
            pplay,t_seri,iscm3,'after blcloud')
         ENDDO
@@ -2920,8 +2919,8 @@
       ENDIF !--lessivage
 
-      DO it=1, nbtr
+      DO itr=1,nbtr
          DO j=1,klev
          DO i=1,klon
-           tmp_var(i,j)=tr_seri(i,j,it)
+           tmp_var(i,j)=tr_seri(i,j,itr)
          ENDDO 
          ENDDO
@@ -2929,5 +2928,5 @@
          DO j=1,klev
          DO i=1,klon
-           tr_seri(i,j,it)=tmp_var(i,j)
+           tr_seri(i,j,itr)=tmp_var(i,j)
          ENDDO 
          ENDDO
@@ -2955,7 +2954,7 @@
 !
 #ifdef IOPHYS_DUST
-      do it=1,nbtr
-         write(str2,'(i2.2)') it
-         call iophys_ecrit('TRH'//str2,klev,'SOURCE','',tr_seri(:,:,it))
+      do itr=1,nbtr
+         write(str2,'(i2.2)') itr
+         call iophys_ecrit('TRH'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
       enddo
 #endif
@@ -2972,13 +2971,13 @@
 
       IF (lminmax) THEN
-        DO it=1,nbtr
-        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_before_trconve')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'before trconve')
+        DO itr=1,nbtr
+        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_before_trconve')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'before trconve')
         ENDDO
       IF (lcheckmass) THEN
-        DO it=1,nbtr
-         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,  &
+        DO itr=1,nbtr
+         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,  &
            pplay,t_seri,iscm3,'before trconve')
         ENDDO
@@ -2997,6 +2996,6 @@
                   pen_d,pde_d,paprs,zdz,xconv,qmin,qmax,.false.,masse, &
                                                       dtrconv,tr_seri)
-         DO it=1, nbtr
-           d_tr_cv(:,:,it)=0.
+         DO itr=1,nbtr
+           d_tr_cv(:,:,itr)=0.
          ENDDO
 
@@ -3004,21 +3003,21 @@
 ! KE
          print *,'JE: KE in phytracr_spl'
-         DO it=1, nbtr
+         DO itr=1,nbtr
              DO k = 1, klev
               DO i = 1, klon
-               tmp_var3(i,k,it)=tr_seri(i,k,it)
+               tmp_var3(i,k,itr)=tr_seri(i,k,itr)
               END DO
              END DO
          ENDDO
 
-         DO it=1, nbtr
+         DO itr=1,nbtr
 !          routine for aerosols . otherwise, check cvltrorig
-         print *,'Check sum before cvltr it',it,SUM(tr_seri(:,:,it))
+         print *,'Check sum before cvltr itr)',itr,SUM(tr_seri(:,:,itr))
 !           IF (.FALSE.) THEN 
            CALL cvltr_spl(pdtphys, da, phi,phi2,d1a,dam, mp,ep,    &
             sigd,sij,wght_cvfd,clw,elij,epmlmMm,eplaMm,           &
             pmflxr,pmflxs,evapls,t_seri,wdtrainA,wdtrainM,          &
-!            paprs,it,tr_seri,upwd,dnwd,itop_con,ibas_con,        &
-            paprs,it,tmp_var3,upwd,dnwd,itop_con,ibas_con,        &
+!            paprs,itr,tr_seri,upwd,dnwd,itop_con,ibas_con,        &
+            paprs,itr,tmp_var3,upwd,dnwd,itop_con,ibas_con,        &
             henry,kk,zrho,ccntrAA_spla,ccntrENV_spla,coefcoli_spla, &
             id_prec,id_fine,id_coss, id_codu, id_scdu,              &
@@ -3032,5 +3031,5 @@
 !     .       sigd,sij,wght_cvfd,clw,elij,epmlmMm,eplaMm,
 !     .       pmflxr,pmflxs,evapls,t_seri,wdtrainA,wdtrainM,
-!     .       paprs,it,tmp_var3,upwd,dnwd,itop_con,ibas_con,
+!     .       paprs,itr,tmp_var3,upwd,dnwd,itop_con,ibas_con,
 !     .       d_tr_cv,d_tr_trsp,d_tr_sscav,d_tr_sat,d_tr_uscav,qDi,qPr,
 !     .       qPa,qMel,qTrdi,dtrcvMA,Mint,
@@ -3050,8 +3049,8 @@
 !             CALL checknanqfi(paprs(:,:),1.,-1.,'paprs ')
 !             CALL checknanqfi(pplay(:,:),1.,-1.,'pplay ')
-!             CALL checknanqfi(tmp_var3(:,:,it),1.,-1.,'tmp_var3 ')
+!             CALL checknanqfi(tmp_var3(:,:,itr),1.,-1.,'tmp_var3 ')
 !             CALL checknanqfi(upwd(:,:),1.,-1.,'upwd ')
 !             CALL checknanqfi(dnwd(:,:),1.,-1.,'dnwd ')
-!             CALL checknanqfi(d_tr_cv(:,:,it),1.,-1.,'d_tr_cv ')
+!             CALL checknanqfi(d_tr_cv(:,:,itr),1.,-1.,'d_tr_cv ')
 !             IF (.TRUE.) THEN
 !             CALL cvltr_noscav(it,pdtphys, da, phi,mp,wght_cvfd,paprs,
@@ -3060,7 +3059,7 @@
              DO k = 1, klev
               DO i = 1, klon
-!               tr_seri(i,k,it) = tr_seri(i,k,it) + d_tr_cv(i,k,it)
-               tr_seri(i,k,it)=(tmp_var3(i,k,it)+d_tr_cv(i,k,it))
-               tmp_var(i,k)=d_tr_cv(i,k,it)
+!               tr_seri(i,k,itr) = tr_seri(i,k,itr) + d_tr_cv(i,k,itr)
+               tr_seri(i,k,itr)=(tmp_var3(i,k,itr)+d_tr_cv(i,k,itr))
+               tmp_var(i,k)=d_tr_cv(i,k,itr)
 
               END DO
@@ -3071,7 +3070,7 @@
              DO k = 1, klev
               DO i = 1, klon
-               dtrconv(i,it)=0.0
-               his_dhkecv(i,it)=his_dhkecv(i,it)-tmp_var(i,k)  &
-                     /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys
+               dtrconv(i,itr)=0.0
+               his_dhkecv(i,itr)=his_dhkecv(i,itr)-tmp_var(i,k)  &
+                     /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys
               END DO
              END DO
@@ -3082,7 +3081,7 @@
              DO k = 1, klev
               DO i = 1, klon
-               dtrconv(i,it)=0.0
-               his_ds(i,it)=his_ds(i,it)-tmp_var(i,k)  &
-                     /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys
+               dtrconv(i,itr)=0.0
+               his_ds(i,itr)=his_ds(i,itr)-tmp_var(i,k)  &
+                     /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys
               END DO
              END DO
@@ -3090,12 +3089,12 @@
        IF (lminmax) THEN
 
-         print *,'Check sum after cvltr it',it,SUM(tr_seri(:,:,it))
-        CALL minmaxqfi2(d_tr_cv(:,:,it),qmin,qmax,'d_tr_cv:')
-        CALL minmaxqfi2(d_tr_trsp(:,:,it),qmin,qmax,'d_tr_trsp:')
-        CALL minmaxqfi2(d_tr_sscav(:,:,it),qmin,qmax,'d_tr_sscav:')
-        CALL minmaxqfi2(d_tr_sat(:,:,it),qmin,qmax,'d_tr_sat:')
-        CALL minmaxqfi2(d_tr_uscav(:,:,it),qmin,qmax,'d_tr_uscav:')
+         print *,'Check sum after cvltr itr)',itr,SUM(tr_seri(:,:,itr))
+        CALL minmaxqfi2(d_tr_cv(:,:,itr),qmin,qmax,'d_tr_cv:')
+        CALL minmaxqfi2(d_tr_trsp(:,:,itr),qmin,qmax,'d_tr_trsp:')
+        CALL minmaxqfi2(d_tr_sscav(:,:,itr),qmin,qmax,'d_tr_sscav:')
+        CALL minmaxqfi2(d_tr_sat(:,:,itr),qmin,qmax,'d_tr_sat:')
+        CALL minmaxqfi2(d_tr_uscav(:,:,itr),qmin,qmax,'d_tr_uscav:')
       IF (lcheckmass) THEN
-        CALL checkmass(d_tr_cv(:,:,it),RNAVO,masse(it),zdz,  &
+        CALL checkmass(d_tr_cv(:,:,itr),RNAVO,masse(itr),zdz,  &
            pplay,t_seri,.false.,'d_tr_cv:')
       ENDIF
@@ -3105,13 +3104,13 @@
         ENDIF ! iflag_conv
        IF (lminmax) THEN
-        DO it=1,nbtr
-        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after_trcon')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after trconv')
+        DO itr=1,nbtr
+        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after_trcon')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after trconv')
         ENDDO
       IF (lcheckmass) THEN
-        DO it=1,nbtr
-         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz, &
+        DO itr=1,nbtr
+         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz, &
            pplay,t_seri,iscm3,'after trconv')
         ENDDO
@@ -3158,7 +3157,7 @@
       call iophys_ecrit('wdtrainM',klev,'wdtrainM','',wdtrainM)
 
-      do it=1,nbtr
-         write(str2,'(i2.2)') it
-         call iophys_ecrit('TRI'//str2,klev,'SOURCE','',tr_seri(:,:,it))
+      do itr=1,nbtr
+         write(str2,'(i2.2)') itr
+         call iophys_ecrit('TRI'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
       enddo
 #endif
@@ -3174,13 +3173,13 @@
        print *,' BEFORE lsc_scav '
        IF (lminmax) THEN
-        DO it=1,nbtr
-       CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_before_lsc_scav')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'before lsc_scav')
+        DO itr=1,nbtr
+       CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_before_lsc_scav')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'before lsc_scav')
         ENDDO
       IF (lcheckmass) THEN
-        DO it=1,nbtr
-         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,  &
+        DO itr=1,nbtr
+         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,  &
            pplay,t_seri,iscm3,'before lsc_scav')
         ENDDO
@@ -3199,5 +3198,5 @@
       !IF (.false.) THEN  ! test #DFB (Binta) sans lsc_scav_spl
         print *,'JE iflag_lscav',iflag_lscav
-        DO it = 1, nbtr
+        DO itr=1,nbtr
 
 !       incloud scavenging and removal by large scale rain ! orig : ql_incl
@@ -3206,9 +3205,9 @@
 !         Liu (2001) proposed to use 1.5e-3 kg/kg
 
-!       CALL lsc_scav_orig(pdtphys,it,iflag_lscav,ql_incl,prfl,psfl,
+!       CALL lsc_scav_orig(pdtphys,itr,iflag_lscav,ql_incl,prfl,psfl,
 !     .               rneb,beta_fisrt, beta_v1,pplay,paprs,
 !     .               t_seri,tr_seri,d_tr_insc, 
 !     .               d_tr_bcscav,d_tr_evapls,qPrls)
-          CALL lsc_scav_spl(pdtphys,it,iflag_lscav,ql_incl,prfl,psfl,  &
+          CALL lsc_scav_spl(pdtphys,itr,iflag_lscav,ql_incl,prfl,psfl,  &
                     rneb,beta_fisrt, beta_v1,pplay,paprs,      &
                     t_seri,tr_seri,d_tr_insc,                  &
@@ -3220,8 +3219,8 @@
           DO k = 1, klev
            DO i = 1, klon
-                d_tr_ls(i,k,it)=d_tr_insc(i,k,it)+d_tr_bcscav(i,k,it) &
-                        +d_tr_evapls(i,k,it)
-                tr_seri(i,k,it)=tr_seri(i,k,it)+d_tr_ls(i,k,it)
-                         tmp_var(i,k)=d_tr_ls(i,k,it)
+                d_tr_ls(i,k,itr)=d_tr_insc(i,k,itr)+d_tr_bcscav(i,k,itr) &
+                        +d_tr_evapls(i,k,itr)
+                tr_seri(i,k,itr)=tr_seri(i,k,itr)+d_tr_ls(i,k,itr)
+                         tmp_var(i,k)=d_tr_ls(i,k,itr)
            ENDDO
           ENDDO
@@ -3231,6 +3230,6 @@
           DO k=1,klev
            DO i=1,klon
-            his_dhkelsc(i,it)=his_dhkelsc(i,it)-tmp_var(i,k)    &
-                     /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys
+            his_dhkelsc(i,itr)=his_dhkelsc(i,itr)-tmp_var(i,k)    &
+                     /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys
      
            END DO
@@ -3241,7 +3240,7 @@
       ELSE
         print *,'WARNING: NO lsc_scav, Please choose iflag_lscav=3 or 4'
-        DO it = 1, nbtr
+        DO itr=1,nbtr
           DO i=1,klon
-            his_dhkelsc(i,it)=0.0
+            his_dhkelsc(i,itr)=0.0
           END DO  ! klon
          END DO  !it=1,nbtr
@@ -3250,13 +3249,13 @@
        print *,' AFTER lsc_scav '
        IF (lminmax) THEN
-        DO it=1,nbtr
-       CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after_lsc_scav')
-        ENDDO
-        DO it=1,nbtr
-        CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after lsc_scav')
+        DO itr=1,nbtr
+       CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after_lsc_scav')
+        ENDDO
+        DO itr=1,nbtr
+        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after lsc_scav')
         ENDDO
       IF (lcheckmass) THEN
-        DO it=1,nbtr
-         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz, &
+        DO itr=1,nbtr
+         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz, &
            pplay,t_seri,iscm3,'after lsc_scav')
         ENDDO
@@ -3284,7 +3283,7 @@
 !=======================================================================
 #ifdef IOPHYS_DUST
-      do it=1,nbtr
-         write(str2,'(i2.2)') it
-         call iophys_ecrit('TRJ'//str2,klev,'SOURCE','',tr_seri(:,:,it))
+      do itr=1,nbtr
+         write(str2,'(i2.2)') itr
+         call iophys_ecrit('TRJ'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
       enddo
 #endif
@@ -3296,8 +3295,8 @@
 
   
-      DO it=1, nbtr
+      DO itr=1,nbtr
         DO j=1,klev
         DO i=1,klon
-           tmp_var(i,j)=tr_seri(i,j,it)
+           tmp_var(i,j)=tr_seri(i,j,itr)
         ENDDO
         ENDDO
@@ -3305,5 +3304,5 @@
         DO j=1,klev
         DO i=1,klon
-           tr_seri(i,j,it)=tmp_var(i,j)
+           tr_seri(i,j,itr)=tmp_var(i,j)
         ENDDO
         ENDDO
@@ -3313,9 +3312,9 @@
 !
 ! Computing burden in mg/m2
-      DO it=1, nbtr
+      DO itr=1,nbtr
       DO k=1, klev
       DO i=1, klon
-        trm(i,it)=trm(i,it)+tr_seri(i,k,it)*1.e6*zdz(i,k)*  &
-                 masse(it)*1.e3/RNAVO     !--mg S/m2
+        trm(i,itr)=trm(i,itr)+tr_seri(i,k,itr)*1.e6*zdz(i,k)*  &
+                 masse(itr)*1.e3/RNAVO     !--mg S/m2
       ENDDO
       ENDDO
@@ -3324,8 +3323,8 @@
 ! Computing Surface concentration in ug/m3
 !
-      DO it=1, nbtr
+      DO itr=1,nbtr
       DO i=1, klon
-        sconc_seri(i,it)=tr_seri(i,1,it)*1.e6* &
-                 masse(it)*1.e3/RNAVO     !--mg/m3 (tr_seri ist in g/cm3)
+        sconc_seri(i,itr)=tr_seri(i,1,itr)*1.e6* &
+                 masse(itr)*1.e3/RNAVO     !--mg/m3 (tr_seri ist in g/cm3)
       ENDDO
       ENDDO
@@ -3559,7 +3558,7 @@
 !======================================================================
 #ifdef IOPHYS_DUST
-      do it=1,nbtr
-         write(str2,'(i2.2)') it
-         call iophys_ecrit('TRK'//str2,klev,'SOURCE','',tr_seri(:,:,it))
+      do itr=1,nbtr
+         write(str2,'(i2.2)') itr
+         call iophys_ecrit('TRK'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
       enddo
 #endif
@@ -3571,8 +3570,8 @@
       ENDIF
 
-      DO it=1, nbtr
+      DO itr=1,nbtr
          DO j=1,klev
          DO i=1,klon
-           tmp_var(i,j)=tr_seri(i,j,it)
+           tmp_var(i,j)=tr_seri(i,j,itr)
          ENDDO 
          ENDDO
@@ -3580,5 +3579,5 @@
          DO j=1,klev
          DO i=1,klon
-           tr_seri(i,j,it)=tmp_var(i,j)
+           tr_seri(i,j,itr)=tmp_var(i,j)
          ENDDO 
          ENDDO
@@ -3729,8 +3728,8 @@
 !      prepare outputs cvltr
 
-      DO it=1, nbtr
+      DO itr=1,nbtr
         DO k=1,klev
         DO i=1,klon
-           tmp_var(i,k)=d_tr_cv(i,k,it)
+           tmp_var(i,k)=d_tr_cv(i,k,itr)
         ENDDO
         ENDDO
@@ -3738,13 +3737,13 @@
        DO k=1,klev
         DO i=1,klon
-          d_tr_cv_o(i,k,it)=tmp_var(i,k)  &
-                         /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys  
+          d_tr_cv_o(i,k,itr)=tmp_var(i,k)  &
+                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys  
         ENDDO
        ENDDO
       ENDDO
-      DO it=1, nbtr
+      DO itr=1,nbtr
         DO k=1,klev
         DO i=1,klon
-           tmp_var(i,k)=d_tr_trsp(i,k,it)
+           tmp_var(i,k)=d_tr_trsp(i,k,itr)
         ENDDO
         ENDDO
@@ -3752,13 +3751,13 @@
        DO k=1,klev
         DO i=1,klon
-          d_tr_trsp_o(i,k,it)=tmp_var(i,k)  &
-                         /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys  
+          d_tr_trsp_o(i,k,itr)=tmp_var(i,k)  &
+                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys  
         ENDDO
        ENDDO
       ENDDO
-      DO it=1, nbtr
+      DO itr=1,nbtr
         DO k=1,klev
         DO i=1,klon
-           tmp_var(i,k)=d_tr_sscav(i,k,it)
+           tmp_var(i,k)=d_tr_sscav(i,k,itr)
         ENDDO
         ENDDO
@@ -3766,13 +3765,13 @@
        DO k=1,klev
         DO i=1,klon
-          d_tr_sscav_o(i,k,it)=tmp_var(i,k)  &
-                         /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys  
+          d_tr_sscav_o(i,k,itr)=tmp_var(i,k)  &
+                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys  
         ENDDO
        ENDDO
       ENDDO
-      DO it=1, nbtr
+      DO itr=1,nbtr
         DO k=1,klev
         DO i=1,klon
-           tmp_var(i,k)=d_tr_sat(i,k,it)
+           tmp_var(i,k)=d_tr_sat(i,k,itr)
         ENDDO
         ENDDO
@@ -3780,13 +3779,13 @@
        DO k=1,klev
         DO i=1,klon
-          d_tr_sat_o(i,k,it)=tmp_var(i,k)   &
-                         /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys  
+          d_tr_sat_o(i,k,itr)=tmp_var(i,k)   &
+                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys  
         ENDDO
        ENDDO
       ENDDO
-      DO it=1, nbtr
+      DO itr=1,nbtr
         DO k=1,klev
         DO i=1,klon
-           tmp_var(i,k)=d_tr_uscav(i,k,it)
+           tmp_var(i,k)=d_tr_uscav(i,k,itr)
         ENDDO
         ENDDO
@@ -3794,6 +3793,6 @@
        DO k=1,klev
         DO i=1,klon
-          d_tr_uscav_o(i,k,it)=tmp_var(i,k)  &
-                         /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys  
+          d_tr_uscav_o(i,k,itr)=tmp_var(i,k)  &
+                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys  
         ENDDO
        ENDDO
@@ -3801,8 +3800,8 @@
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-      DO it=1, nbtr
+      DO itr=1,nbtr
         DO k=1,klev
         DO i=1,klon
-           tmp_var(i,k)=d_tr_insc(i,k,it)
+           tmp_var(i,k)=d_tr_insc(i,k,itr)
         ENDDO
         ENDDO
@@ -3810,6 +3809,6 @@
        DO k=1,klev
         DO i=1,klon
-          d_tr_insc_o(i,k,it)=tmp_var(i,k)  &
-                         /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys  
+          d_tr_insc_o(i,k,itr)=tmp_var(i,k)  &
+                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys  
         ENDDO
        ENDDO
@@ -3817,8 +3816,8 @@
      
 
-      DO it=1, nbtr
+      DO itr=1,nbtr
         DO k=1,klev
         DO i=1,klon
-           tmp_var(i,k)=d_tr_bcscav(i,k,it)
+           tmp_var(i,k)=d_tr_bcscav(i,k,itr)
         ENDDO
         ENDDO
@@ -3826,6 +3825,6 @@
        DO k=1,klev
         DO i=1,klon
-          d_tr_bcscav_o(i,k,it)=tmp_var(i,k)  &
-                         /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys  
+          d_tr_bcscav_o(i,k,itr)=tmp_var(i,k)  &
+                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys  
         ENDDO
        ENDDO
@@ -3833,8 +3832,8 @@
 
 
-      DO it=1, nbtr
+      DO itr=1,nbtr
         DO k=1,klev
         DO i=1,klon
-           tmp_var(i,k)=d_tr_evapls(i,k,it)
+           tmp_var(i,k)=d_tr_evapls(i,k,itr)
         ENDDO
         ENDDO
@@ -3842,6 +3841,6 @@
        DO k=1,klev
         DO i=1,klon
-          d_tr_evapls_o(i,k,it)=tmp_var(i,k)  &
-                         /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys  
+          d_tr_evapls_o(i,k,itr)=tmp_var(i,k)  &
+                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys  
         ENDDO
        ENDDO
@@ -3849,8 +3848,8 @@
 
 
-      DO it=1, nbtr
+      DO itr=1,nbtr
         DO k=1,klev
         DO i=1,klon
-           tmp_var(i,k)=d_tr_ls(i,k,it)
+           tmp_var(i,k)=d_tr_ls(i,k,itr)
         ENDDO
         ENDDO
@@ -3858,6 +3857,6 @@
        DO k=1,klev
         DO i=1,klon
-          d_tr_ls_o(i,k,it)=tmp_var(i,k)  &
-                         /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys  
+          d_tr_ls_o(i,k,itr)=tmp_var(i,k)  &
+                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys  
         ENDDO
        ENDDO
@@ -3865,8 +3864,8 @@
 
 
-      DO it=1, nbtr
+      DO itr=1,nbtr
         DO k=1,klev
         DO i=1,klon
-           tmp_var(i,k)=d_tr_dyn(i,k,it)
+           tmp_var(i,k)=d_tr_dyn(i,k,itr)
         ENDDO
         ENDDO
@@ -3874,6 +3873,6 @@
        DO k=1,klev
         DO i=1,klon
-          d_tr_dyn_o(i,k,it)=tmp_var(i,k)  &
-                         /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys  
+          d_tr_dyn_o(i,k,itr)=tmp_var(i,k)  &
+                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys  
         ENDDO
        ENDDO
@@ -3881,8 +3880,8 @@
 
 
-      DO it=1, nbtr
+      DO itr=1,nbtr
         DO k=1,klev
         DO i=1,klon
-           tmp_var(i,k)=d_tr_cl(i,k,it)
+           tmp_var(i,k)=d_tr_cl(i,k,itr)
         ENDDO
         ENDDO
@@ -3890,6 +3889,6 @@
        DO k=1,klev
         DO i=1,klon
-          d_tr_cl_o(i,k,it)=tmp_var(i,k)  &
-                         /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys  
+          d_tr_cl_o(i,k,itr)=tmp_var(i,k)  &
+                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys  
         ENDDO
        ENDDO
@@ -3897,8 +3896,8 @@
 
 
-      DO it=1, nbtr
+      DO itr=1,nbtr
         DO k=1,klev
         DO i=1,klon
-           tmp_var(i,k)=d_tr_th(i,k,it)
+           tmp_var(i,k)=d_tr_th(i,k,itr)
         ENDDO
         ENDDO
@@ -3906,6 +3905,6 @@
        DO k=1,klev
         DO i=1,klon
-          d_tr_th_o(i,k,it)=tmp_var(i,k)  &
-                         /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys  
+          d_tr_th_o(i,k,itr)=tmp_var(i,k)  &
+                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys  
         ENDDO
        ENDDO
@@ -3914,9 +3913,9 @@
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-     DO it=1,nbtr
-      WRITE(str2,'(i2.2)') it
+     DO itr=1,nbtr
+      WRITE(str2,'(i2.2)') itr
        DO i=1, klon                                                        
-        his_dh(i,it)= his_dhlsc(i,it)+his_dhcon(i,it)+               &
-                   his_dhbclsc(i,it)+his_dhbccon(i,it)
+        his_dh(i,itr)= his_dhlsc(i,itr)+his_dhcon(i,itr)+               &
+                   his_dhbclsc(i,itr)+his_dhbccon(i,itr)
 
        ENDDO
Index: LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/splaeropt_5wv_rrtm.F90
===================================================================
--- LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/splaeropt_5wv_rrtm.F90	(revision 4013)
+++ LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/splaeropt_5wv_rrtm.F90	(revision 4368)
@@ -9,5 +9,5 @@
   USE DIMPHY
   USE aero_mod
-  USE infotrac_phy
+  USE infotrac_phy, ONLY: nqtot, nbtr, tracers
   USE phys_local_var_mod, ONLY: od550aer,od865aer,ec550aer,od550lt1aer
   !
@@ -34,5 +34,5 @@
   LOGICAL :: soluble
   
-  INTEGER :: i, k, m, itr, irh, aerindex
+  INTEGER :: i, k, m, iq, itr, irh, aerindex
   INTEGER :: spsol, spinsol, la
   INTEGER :: RH_num(klon,klev)
@@ -112,27 +112,16 @@
   ENDDO
 
-  DO itr=1,nbtr    !--loop over tracers  
-
-    IF (tname(itr+nqo)=='PREC') THEN       !--fine mode accumulation mode
-      CYCLE
-    ELSE IF (tname(itr+nqo)=='FINE') THEN  !--fine mode accumulation mode
-      soluble=.TRUE.
-      spsol=1
-      aerindex=1
-    ELSE IF (tname(itr+nqo)=='COSS') THEN  !--coarse mode sea salt
-      soluble=.TRUE.
-      spsol=2
-      aerindex=2
-    ELSE IF (tname(itr+nqo)=='CODU') THEN  !--coarse mode dust
-      soluble=.FALSE.
-      spinsol=1
-      aerindex=3
-    ELSE IF (tname(itr+nqo)=='SCDU') THEN  !--super coarse mode dust
-      soluble=.FALSE.
-      spinsol=2
-      aerindex=4
-    ELSE
-       CALL abort_physic(modname,'I cannot do aerosol optics for '//tname(itr+nqo),1)
-    ENDIF
+  itr = 0
+  DO iq = 1, nqtot
+    IF(.NOT.tracers(iq)%isInPhysics) CYCLE
+    itr = itr+1
+    SELECT CASE(tracers(iq)%name)
+      CASE('PREC'); CYCLE                                  !--precursor
+      CASE('FINE'); soluble=.TRUE.;  spsol=1; aerindex=1   !--fine mode accumulation mode
+      CASE('COSS'); soluble=.TRUE.;  spsol=2; aerindex=2   !--coarse mode sea salt
+      CASE('CODU'); soluble=.FALSE.; spinsol=1; aerindex=3   !--coarse mode dust
+      CASE('SCDU'); soluble=.FALSE.; spinsol=2; aerindex=4   !--super coarse mode dust
+      CASE DEFAULT; CALL abort_physic(modname,'I cannot do aerosol optics for '//tracers(iq)%name,1)
+    END SELECT
 
     DO la=1,las
Index: LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/splaeropt_6bands_rrtm.F90
===================================================================
--- LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/splaeropt_6bands_rrtm.F90	(revision 4013)
+++ LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/splaeropt_6bands_rrtm.F90	(revision 4368)
@@ -8,5 +8,5 @@
   USE dimphy
   USE aero_mod
-  USE infotrac_phy
+  USE infotrac_phy, ONLY: nqtot, nbtr, tracers
   USE phys_local_var_mod, ONLY: abs550aer
 
@@ -35,5 +35,5 @@
   !
   LOGICAL :: soluble
-  INTEGER :: i, k, irh, itr, inu
+  INTEGER :: i, k, irh, iq, itr, inu
   INTEGER :: aerindex, spsol, spinsol
   INTEGER :: RH_num(klon,klev)
@@ -165,27 +165,16 @@
   cg_ae(:,:,:,:)=0.
     
-  DO itr=1, nbtr
-
-    IF (tname(itr+nqo)=='PREC') THEN       !--precursor
-      CYCLE
-    ELSE IF (tname(itr+nqo)=='FINE') THEN  !--fine mode accumulation mode
-      soluble=.TRUE.
-      spsol=1
-      aerindex=1
-    ELSE IF (tname(itr+nqo)=='COSS') THEN  !--coarse mode sea salt
-      soluble=.TRUE.
-      spsol=2
-      aerindex=2
-    ELSE IF (tname(itr+nqo)=='CODU') THEN  !--coarse mode dust
-      soluble=.FALSE.
-      spinsol=1
-      aerindex=3
-    ELSE IF (tname(itr+nqo)=='SCDU') THEN  !--super coarse mode dust
-      soluble=.FALSE.
-      spinsol=2
-      aerindex=4
-    ELSE
-       CALL abort_physic(modname,'I cannot do aerosol optics for '//tname(itr+nqo),1)
-    ENDIF
+  itr = 0
+  DO iq = 1, nqtot
+    IF(.NOT.tracers(iq)%isInPhysics) CYCLE
+    itr = itr+1
+    SELECT CASE(tracers(iq)%name)
+      CASE('PREC'); CYCLE                                  !--precursor
+      CASE('FINE'); soluble=.TRUE.;  spsol=1; aerindex=1   !--fine mode accumulation mode
+      CASE('COSS'); soluble=.TRUE.;  spsol=2; aerindex=2   !--coarse mode sea salt
+      CASE('CODU'); soluble=.FALSE.; spinsol=1; aerindex=3   !--coarse mode dust
+      CASE('SCDU'); soluble=.FALSE.; spinsol=2; aerindex=4   !--super coarse mode dust
+      CASE DEFAULT; CALL abort_physic(modname,'I cannot do aerosol optics for '//tracers(iq)%name,1)
+    END SELECT
 
     IF (soluble) THEN ! For aerosol soluble components
Index: LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/splaeropt_lw_rrtm.F90
===================================================================
--- LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/splaeropt_lw_rrtm.F90	(revision 4013)
+++ LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/splaeropt_lw_rrtm.F90	(revision 4368)
@@ -10,5 +10,5 @@
   USE dimphy
   USE aero_mod
-  USE infotrac_phy
+  USE infotrac_phy, ONLY: nqtot, nbtr, tracers
   USE phys_state_var_mod, ONLY : tau_aero_lw_rrtm
   USE YOERAD, ONLY : NLW
@@ -30,5 +30,5 @@
   INTEGER, PARAMETER :: naero=naero_soluble+naero_insoluble
   !
-  INTEGER inu, itr, spinsol
+  INTEGER inu, itr, iq, spinsol
   CHARACTER*20 modname
   !
@@ -54,19 +54,15 @@
     tau_aero_lw_rrtm = 0.0
     !
-    DO itr=1,nbtr
-      !
-      IF (tname(itr+nqo)=='PREC') THEN       !--precursor
-        CYCLE
-      ELSE IF (tname(itr+nqo)=='FINE') THEN  !--fine mode accumulation mode
-        CYCLE
-      ELSE IF (tname(itr+nqo)=='COSS') THEN  !--coarse mode sea salt
-        CYCLE
-      ELSE IF (tname(itr+nqo)=='CODU') THEN  !--coarse mode dust
-        spinsol=1
-      ELSE IF (tname(itr+nqo)=='SCDU') THEN  !--super coarse mode dust
-        spinsol=2
-      ELSE
-         CALL abort_physic(modname,'I cannot do aerosol optics for '//tname(itr+nqo),1)
-      ENDIF
+    
+    itr = 0
+    DO iq = 1, nqtot
+      IF(.NOT.tracers(iq)%isInPhysics) CYCLE
+      itr = itr+1
+      SELECT CASE(tracers(iq)%name)
+        CASE('PREC','FINE','COSS'); CYCLE                  !--precursor or fine/coarde accumulation mode
+        CASE('CODU'); spinsol=1                            !--coarse mode dust
+        CASE('SCDU'); spinsol=2                            !--super coarse mode dust
+        CASE DEFAULT; CALL abort_physic(modname,'I cannot do aerosol optics for '//tracers(iq)%name,1)
+      END SELECT
       !
       DO inu=1,NLW
Index: LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/splaerosol_optic_rrtm.F90
===================================================================
--- LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/splaerosol_optic_rrtm.F90	(revision 4013)
+++ LMDZ6/branches/Ocean_skin/libf/phylmd/Dust/splaerosol_optic_rrtm.F90	(revision 4368)
@@ -13,5 +13,5 @@
   USE dimphy
   USE aero_mod
-  USE infotrac_phy
+  USE infotrac_phy, ONLY: nbtr, nqtot, tracers
   USE YOMCST, ONLY: RD, RG
 
@@ -40,5 +40,5 @@
   REAL, DIMENSION(klon,klev,nwave,naero_tot), INTENT(OUT)  :: tau3d_aero
 
-  INTEGER i, k, itr
+  INTEGER i, k, iq, itr
   REAL, DIMENSION(klon,klev) :: zdm, zdh
   REAL zrho, pdel
@@ -50,6 +50,9 @@
   mass_solu_aero_pi(:,:) = 0.0
   !
-  DO itr=1,nbtr
-    IF (tname(itr+nqo)=='FINE') THEN
+  itr = 0
+  DO iq = 1, nqtot
+    IF(.NOT.tracers(iq)%isInPhysics) CYCLE
+    itr = itr+1
+    IF(tracers(iq)%name/='FINE') THEN
       mass_solu_aero(:,:)    = tr_seri(:,:,itr)
       mass_solu_aero_pi(:,:) = tr_seri(:,:,itr)
