Changeset 4157


Ignore:
Timestamp:
May 18, 2022, 8:10:04 PM (2 years ago)
Author:
asima
Message:

Adjustments to changes in tracer treatment made by D. Cugnet :

replacing "it" by "itr"

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/Dust/phytracr_spl_mod.F90

    r4071 r4157  
    820820! 1/ le call phytrac se fait avec nqmax-2 donc nous avons bien
    821821! les vrais traceurs (nbtr) dans phytrac (pas la vapeur ni eau liquide)
     822!! AS : nqmax-2 devrait etre nqmax-3 apres introducton de H2Oi ;
     823!!   et c'est encore different avec le parser de DC ?
    822824!======================================================================
    823825#include "dimensions.h"
     
    12641266         IF(.NOT.tracers(iq)%isInPhysics) CYCLE
    12651267         itr = itr+1
    1266          write(str2,'(i2.2)') itr
     1268         write(str2,'(i2.2)') itrr
    12671269         call iophys_ecrit('TRA'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
    12681270      enddo
     
    15741576      ENDIF
    15751577! JE   initializon to cero the tracers     
    1576 !         DO it=1, nbtr
    1577 !            tr_seri(:,:,it)=0.0
     1578!         DO itr=1,nbtr
     1579!            tr_seri(:,:,itr)=0.0
    15781580!         ENDDO
    15791581! JE end     
     
    15811583!        tr_seri(:,:,:)=0.0
    15821584!
    1583 !        DO it=1,nbtr
    1584 !           trm_aux(it)=0.0
    1585 !           src_aux(it)=0.0
    1586 !           diag_trm(it)=0.0
    1587 !           diag_drydep(it)=0.0
    1588 !           diag_wetdep(it)=0.0
    1589 !           diag_cvtdep(it)=0.0
    1590 !           diag_emissn(it)=0.0
     1585!        DO itr=1,nbtr
     1586!           trm_aux(itr)=0.0
     1587!           src_aux(itr)=0.0
     1588!           diag_trm(itr)=0.0
     1589!           diag_drydep(itr)=0.0
     1590!           diag_wetdep(itr)=0.0
     1591!           diag_cvtdep(itr)=0.0
     1592!           diag_emissn(itr)=0.0
    15911593!        ENDDO
    15921594!        diag_g2part=0.0
     
    17641766
    17651767!
    1766       DO it=1, nbtr
     1768      DO itr=1,nbtr
    17671769       DO k=1,klev
    17681770        DO i=1,klon
    1769          d_tr_cv(i,k,it)=0.
    1770          d_tr_trsp(i,k,it)=0.
    1771          d_tr_sscav(i,k,it)=0.
    1772          d_tr_sat(i,k,it)=0.
    1773          d_tr_uscav(i,k,it)=0.
    1774          d_tr(i,k,it)=0.
    1775          d_tr_insc(i,k,it)=0.
    1776          d_tr_bcscav(i,k,it)=0.
    1777          d_tr_evapls(i,k,it)=0.
    1778          d_tr_ls(i,k,it)=0.
    1779          d_tr_cl(i,k,it)=0.
    1780          d_tr_th(i,k,it)=0.
     1771         d_tr_cv(i,k,itr)=0.
     1772         d_tr_trsp(i,k,itr)=0.
     1773         d_tr_sscav(i,k,itr)=0.
     1774         d_tr_sat(i,k,itr)=0.
     1775         d_tr_uscav(i,k,itr)=0.
     1776         d_tr(i,k,itr)=0.
     1777         d_tr_insc(i,k,itr)=0.
     1778         d_tr_bcscav(i,k,itr)=0.
     1779         d_tr_evapls(i,k,itr)=0.
     1780         d_tr_ls(i,k,itr)=0.
     1781         d_tr_cl(i,k,itr)=0.
     1782         d_tr_th(i,k,itr)=0.
    17811783 
    1782          d_tr_cv_o(i,k,it)=0.
    1783          d_tr_trsp_o(i,k,it)=0.
    1784          d_tr_sscav_o(i,k,it)=0.
    1785          d_tr_sat_o(i,k,it)=0.
    1786          d_tr_uscav_o(i,k,it)=0.
    1787 
    1788 
    1789          qDi(i,k,it)=0.
    1790          qPr(i,k,it)=0.
    1791          qPa(i,k,it)=0.
    1792          qMel(i,k,it)=0.
    1793          qTrdi(i,k,it)=0.
    1794          dtrcvMA(i,k,it)=0.
    1795          zmfd1a(i,k,it)=0.
    1796          zmfdam(i,k,it)=0.
    1797          zmfphi2(i,k,it)=0.
     1784         d_tr_cv_o(i,k,itr)=0.
     1785         d_tr_trsp_o(i,k,itr)=0.
     1786         d_tr_sscav_o(i,k,itr)=0.
     1787         d_tr_sat_o(i,k,itr)=0.
     1788         d_tr_uscav_o(i,k,itr)=0.
     1789
     1790
     1791         qDi(i,k,itr)=0.
     1792         qPr(i,k,itr)=0.
     1793         qPa(i,k,itr)=0.
     1794         qMel(i,k,itr)=0.
     1795         qTrdi(i,k,itr)=0.
     1796         dtrcvMA(i,k,itr)=0.
     1797         zmfd1a(i,k,itr)=0.
     1798         zmfdam(i,k,itr)=0.
     1799         zmfphi2(i,k,itr)=0.
    17981800        END DO
    17991801       END DO
     
    18011803
    18021804
    1803       DO it=1, nbtr
     1805      DO itr=1,nbtr
    18041806       DO i=1,klon
    1805           qPrls(i,it)=0.0
    1806           dtrconv(i,it)=0.0
     1807          qPrls(i,itr)=0.0
     1808          dtrconv(i,itr)=0.0
    18071809!JE20140507<<
    1808           d_tr_dry(i,it)=0.0
    1809           flux_tr_dry(i,it)=0.0
     1810          d_tr_dry(i,itr)=0.0
     1811          flux_tr_dry(i,itr)=0.0
    18101812!JE20140507>>
    18111813       ENDDO
    18121814      ENDDO
    18131815
    1814       DO it=1, nbtr
     1816      DO itr=1,nbtr
    18151817      DO i=1, klon
    1816         his_dh(i,it)=0.0
    1817         his_dhlsc(i,it)=0.0
    1818         his_dhcon(i,it)=0.0
    1819         his_dhbclsc(i,it)=0.0
    1820         his_dhbccon(i,it)=0.0
    1821         trm(i,it)=0.0
    1822         his_th(i,it)=0.0
    1823         his_dhkecv(i,it)=0.0
    1824         his_ds(i,it)=0.0
    1825         his_dhkelsc(i,it)=0.0
     1818        his_dh(i,itr)=0.0
     1819        his_dhlsc(i,itr)=0.0
     1820        his_dhcon(i,itr)=0.0
     1821        his_dhbclsc(i,itr)=0.0
     1822        his_dhbccon(i,itr)=0.0
     1823        trm(i,itr)=0.0
     1824        his_th(i,itr)=0.0
     1825        his_dhkecv(i,itr)=0.0
     1826        his_ds(i,itr)=0.0
     1827        his_dhkelsc(i,itr)=0.0
    18261828
    18271829      ENDDO
     
    20652067!=======================================================================
    20662068!
    2067       DO it=1, nbtr
     2069      DO itr=1,nbtr
    20682070        DO j=1,klev
    20692071        DO i=1,klon
    2070            tmp_var(i,j)=tr_seri(i,j,it)
     2072           tmp_var(i,j)=tr_seri(i,j,itr)
    20712073        ENDDO
    20722074        ENDDO
     
    20742076        DO j=1,klev
    20752077        DO i=1,klon
    2076            tr_seri(i,j,it)=tmp_var(i,j)
     2078           tr_seri(i,j,itr)=tmp_var(i,j)
    20772079        ENDDO
    20782080        ENDDO
     
    20912093!
    20922094      IF (lminmax) THEN
    2093         DO it=1,nbtr
    2094         CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_avt_coarem')
     2095        DO itr=1,nbtr
     2096        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_avt_coarem')
    20952097        ENDDO       
    2096         DO it=1,nbtr
    2097         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'avt coarem')
     2098        DO itr=1,nbtr
     2099        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'avt coarem')
    20982100        ENDDO
    20992101        CALL minmaxsource(source_tr,qmin,qmax,'src: avt coarem')
     
    21282130!     .                                         MAXVAL(tr_seri(:,:,3))
    21292131#ifdef IOPHYS_DUST
    2130       do it=1,nbtr
    2131          write(str2,'(i2.2)') it
    2132          call iophys_ecrit('sav'//str2,1,'SOURCE','',source_tr(:,it))
    2133          call iophys_ecrit('fav'//str2,1,'SOURCE','',source_tr(:,it))
     2132      do itr=1,nbtr
     2133         write(str2,'(i2.2)') itr
     2134         call iophys_ecrit('sav'//str2,1,'SOURCE','',source_tr(:,itr))
     2135         call iophys_ecrit('fav'//str2,1,'SOURCE','',source_tr(:,itr))
    21342136      enddo
    2135       do it=1,nbtr
    2136          write(str2,'(i2.2)') it
    2137          call iophys_ecrit('TRB'//str2,klev,'SOURCE','',tr_seri(:,:,it))
     2137      do itr=1,nbtr
     2138         write(str2,'(i2.2)') itr
     2139         call iophys_ecrit('TRB'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
    21382140      enddo
    21392141#endif
     
    21612163
    21622164#ifdef IOPHYS_DUST
    2163       do it=1,nbtr
    2164          write(str2,'(i2.2)') it
    2165          call iophys_ecrit('sap'//str2,1,'SOURCE','',source_tr(:,it))
    2166          call iophys_ecrit('fap'//str2,1,'SOURCE','',source_tr(:,it))
     2165      do itr=1,nbtr
     2166         write(str2,'(i2.2)') itr
     2167         call iophys_ecrit('sap'//str2,1,'SOURCE','',source_tr(:,itr))
     2168         call iophys_ecrit('fap'//str2,1,'SOURCE','',source_tr(:,itr))
    21672169      enddo
    21682170#endif
    21692171
    21702172      IF (lminmax) THEN
    2171         DO it=1,nbtr
    2172         CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after_coarem')
    2173         ENDDO
    2174         DO it=1,nbtr
    2175         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after coarem')
     2173        DO itr=1,nbtr
     2174        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after_coarem')
     2175        ENDDO
     2176        DO itr=1,nbtr
     2177        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after coarem')
    21762178        ENDDO
    21772179        CALL minmaxsource(source_tr,qmin,qmax,'src: after coarem')
     
    22452247!
    22462248      IF (lminmax) THEN
    2247         DO it=1,nbtr
    2248         CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after precur')
    2249         ENDDO
    2250         DO it=1,nbtr
    2251         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after precur')
     2249        DO itr=1,nbtr
     2250        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after precur')
     2251        ENDDO
     2252        DO itr=1,nbtr
     2253        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after precur')
    22522254        ENDDO
    22532255        CALL minmaxsource(source_tr,qmin,qmax,'src: after precur')
     
    22592261#ifdef IOPHYS_DUST
    22602262!
    2261       do it=1,nbtr
    2262          write(str2,'(i2.2)') it
    2263          call iophys_ecrit('tpr'//str2,1,'SOURCE','',source_tr(:,it))
    2264          call iophys_ecrit('fpr'//str2,1,'SOURCE','',flux_tr(:,it))
     2263      do itr=1,nbtr
     2264         write(str2,'(i2.2)') itr
     2265         call iophys_ecrit('tpr'//str2,1,'SOURCE','',source_tr(:,itr))
     2266         call iophys_ecrit('fpr'//str2,1,'SOURCE','',flux_tr(:,itr))
    22652267      enddo
    22662268#endif
     
    22792281!
    22802282      IF (lminmax) THEN
    2281         DO it=1,nbtr
    2282         CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after_fineem')
    2283         ENDDO
    2284         DO it=1,nbtr
    2285         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after fineem')
     2283        DO itr=1,nbtr
     2284        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after_fineem')
     2285        ENDDO
     2286        DO itr=1,nbtr
     2287        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after fineem')
    22862288        ENDDO
    22872289      IF (lcheckmass) THEN
    2288         DO it=1,nbtr
    2289          CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,   &
     2290        DO itr=1,nbtr
     2291         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,   &
    22902292           pplay,t_seri,iscm3,'after fineem')                 
    22912293        ENDDO
     
    23062308
    23072309#ifdef IOPHYS_DUST
    2308       do it=1,nbtr
    2309          write(str2,'(i2.2)') it
    2310          call iophys_ecrit('t'//str2,1,'SOURCE','',source_tr(:,it))
    2311          call iophys_ecrit('f'//str2,1,'SOURCE','',flux_tr(:,it))
     2310      do itr=1,nbtr
     2311         write(str2,'(i2.2)') itr
     2312         call iophys_ecrit('t'//str2,1,'SOURCE','',source_tr(:,itr))
     2313         call iophys_ecrit('f'//str2,1,'SOURCE','',flux_tr(:,itr))
    23122314      enddo
    23132315#endif
     
    23222324!=======================================================================
    23232325!
    2324 !        DO it=1,nbtr
    2325 !         CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,
     2326!        DO itr=1,nbtr
     2327!         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,
    23262328!     .      pplay,t_seri,iscm3,'')
    23272329!        ENDDO
     
    23342336      ENDIF
    23352337
    2336       DO it=1, nbtr
     2338      DO itr=1,nbtr
    23372339         DO j=1,klev
    23382340         DO i=1,klon
    2339            tmp_var(i,j)=tr_seri(i,j,it)
     2341           tmp_var(i,j)=tr_seri(i,j,itr)
    23402342         ENDDO
    23412343         ENDDO
     
    23432345         DO j=1,klev
    23442346         DO i=1,klon
    2345            tr_seri(i,j,it)=tmp_var(i,j)
     2347           tr_seri(i,j,itr)=tmp_var(i,j)
    23462348         ENDDO
    23472349         ENDDO
     
    23502352!----------------------------
    23512353      IF (lminmax) THEN
    2352         DO it=1,nbtr
    2353         CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_before_depo')
    2354         ENDDO
    2355         DO it=1,nbtr
    2356         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'before depo')
     2354        DO itr=1,nbtr
     2355        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_before_depo')
     2356        ENDDO
     2357        DO itr=1,nbtr
     2358        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'before depo')
    23572359        ENDDO
    23582360      IF (lcheckmass) THEN
    2359         DO it=1,nbtr
    2360          CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz, &
     2361        DO itr=1,nbtr
     2362         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz, &
    23612363           pplay,t_seri,iscm3,'before depo')
    23622364        ENDDO
     
    23662368
    23672369#ifdef IOPHYS_DUST
    2368       do it=1,nbtr
    2369          write(str2,'(i2.2)') it
    2370          call iophys_ecrit('TRC'//str2,klev,'SOURCE','',tr_seri(:,:,it))
     2370      do itr=1,nbtr
     2371         write(str2,'(i2.2)') itr
     2372         call iophys_ecrit('TRC'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
    23712373      enddo
    23722374#endif
     
    23782380!
    23792381      IF (lminmax) THEN
    2380         DO it=1,nbtr
    2381         CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after_depo')
    2382         ENDDO
    2383         DO it=1,nbtr
    2384         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after depo')
     2382        DO itr=1,nbtr
     2383        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after_depo')
     2384        ENDDO
     2385        DO itr=1,nbtr
     2386        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after depo')
    23852387        ENDDO
    23862388      IF (lcheckmass) THEN
    2387         DO it=1,nbtr
    2388          CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,   &
     2389        DO itr=1,nbtr
     2390         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,   &
    23892391           pplay,t_seri,iscm3,'after depo')
    23902392        ENDDO
     
    24082410
    24092411#ifdef IOPHYS_DUST
    2410       do it=1,nbtr
    2411          write(str2,'(i2.2)') it
    2412          call iophys_ecrit('TRD'//str2,klev,'SOURCE','',tr_seri(:,:,it))
     2412      do itr=1,nbtr
     2413         write(str2,'(i2.2)') itr
     2414         call iophys_ecrit('TRD'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
    24132415      enddo
    24142416#endif
     
    24282430      END DO
    24292431!
    2430       DO it=1, nbtr
     2432      DO itr=1,nbtr
    24312433      DO j=1, klev
    24322434      DO i=1, klon
    2433         tmp_var(i,j)=tr_seri(i,j,it)
    2434         aux_var2(i)=source_tr(i,it)
     2435        tmp_var(i,j)=tr_seri(i,j,itr)
     2436        aux_var2(i)=source_tr(i,itr)
    24352437      ENDDO
    24362438      ENDDO
     
    24432445!KE
    24442446      CALL cltrac(pdtphys, coefh,t_seri,tmp_var,aux_var2,paprs,pplay,  &
    2445                  delp,aux_var3,d_tr_dry,flux_tr_dry(:,it))
     2447                 delp,aux_var3,d_tr_dry,flux_tr_dry(:,itr))
    24462448      ENDIF
    24472449
    24482450      DO i=1, klon
    24492451      DO j=1, klev
    2450         tr_seri(i,j,it)=tmp_var(i,j)
    2451         d_tr(i,j,it)=aux_var3(i,j)
    2452         d_tr_cl(i,j,it)=d_tr(i,j,it)
     2452        tr_seri(i,j,itr)=tmp_var(i,j)
     2453        d_tr(i,j,itr)=aux_var3(i,j)
     2454        d_tr_cl(i,j,itr)=d_tr(i,j,itr)
    24532455      ENDDO
    24542456      ENDDO
    24552457      DO k = 1, klev
    24562458      DO i = 1, klon
    2457          tr_seri(i,k,it) = tr_seri(i,k,it) + d_tr(i,k,it)
     2459         tr_seri(i,k,itr) = tr_seri(i,k,itr) + d_tr(i,k,itr)
    24582460      ENDDO
    24592461      ENDDO
    24602462      print *,' AFTER Cltrac'
    24612463      IF (lminmax) THEN
    2462         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after cltrac')
     2464        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after cltrac')
    24632465      ENDIF
    24642466      ENDDO !--end itr loop
     
    24842486      call iophys_ecrit('yv1',1,'yv1','',yv1)
    24852487      call iophys_ecrit('delp',klev,'delp','',delp)
    2486       do it=1,nbtr
    2487          write(str2,'(i2.2)') it
    2488          call iophys_ecrit('TRE'//str2,klev,'SOURCE','',tr_seri(:,:,it))
     2488      do itr=1,nbtr
     2489         write(str2,'(i2.2)') itr
     2490         call iophys_ecrit('TRE'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
    24892491      enddo
    24902492#endif
     
    25032505     
    25042506       IF (lminmax) THEN
    2505         DO it=1,nbtr
    2506        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_before therm')
    2507         ENDDO
    2508         DO it=1,nbtr
    2509         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'before therm')
     2507        DO itr=1,nbtr
     2508       CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_before therm')
     2509        ENDDO
     2510        DO itr=1,nbtr
     2511        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'before therm')
    25102512        ENDDO
    25112513      IF (lcheckmass) THEN
    2512         DO it=1,nbtr
    2513          CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,  &
     2514        DO itr=1,nbtr
     2515         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,  &
    25142516           pplay,t_seri,iscm3,'before therm')
    25152517        ENDDO
     
    25182520      ENDIF
    25192521
    2520       DO it=1,nbtr
     2522      DO itr=1,nbtr
    25212523         DO k=1,klev
    25222524            DO i=1,klon
    2523                tmp_var3(i,k,it)=tr_seri(i,k,it)
    2524                d_tr_th(i,k,it)=0.
    2525                tr_seri(i,k,it)=MAX(tr_seri(i,k,it),0.)
    2526 !JE: precursor >>1e10         tr_seri(i,k,it)=MIN(tr_seri(i,k,it),1.e10)
     2525               tmp_var3(i,k,itr)=tr_seri(i,k,itr)
     2526               d_tr_th(i,k,itr)=0.
     2527               tr_seri(i,k,itr)=MAX(tr_seri(i,k,itr),0.)
     2528!JE: precursor >>1e10         tr_seri(i,k,itr)=MIN(tr_seri(i,k,itr),1.e10)
    25272529            END DO
    25282530         END DO
     
    25302532
    25312533!JE  new implicit scheme 20140323
    2532       DO it=1,nbtr
     2534      DO itr=1,nbtr
    25332535        CALL thermcell_dq(klon,klev,1,pdtphys,fm_therm,entr_therm,  &
    2534                          zmasse,tr_seri(1:klon,1:klev,it),         &
    2535                          d_tr(1:klon,1:klev,it),ztra_th,0 )
     2536                         zmasse,tr_seri(1:klon,1:klev,itr),         &
     2537                         d_tr(1:klon,1:klev,itr),ztra_th,0 )
    25362538
    25372539        DO k=1,klev
    25382540           DO i=1,klon
    2539               d_tr(i,k,it)=pdtphys*d_tr(i,k,it)
    2540               d_tr_th(i,k,it)=d_tr_th(i,k,it)+d_tr(i,k,it)
    2541               tr_seri(i,k,it)=MAX(tr_seri(i,k,it)+d_tr(i,k,it),0.)
     2541              d_tr(i,k,itr)=pdtphys*d_tr(i,k,itr)
     2542              d_tr_th(i,k,itr)=d_tr_th(i,k,itr)+d_tr(i,k,itr)
     2543              tr_seri(i,k,itr)=MAX(tr_seri(i,k,itr)+d_tr(i,k,itr),0.)
    25422544              END DO
    25432545        END DO
     
    25472549! old scheme explicit
    25482550!       nsplit=10
    2549 !       DO it=1,nbtr
     2551!       DO itr=1,nbtr
    25502552!          DO isplit=1,nsplit
    25512553!              CALL dqthermcell(klon,klev,pdtphys/nsplit,
    25522554!     .            fm_therm,entr_therm,zmasse,
    2553 !     .            tr_seri(1:klon,1:klev,it),
    2554 !     .            d_tr(1:klon,1:klev,it),ztra_th)
     2555!     .            tr_seri(1:klon,1:klev,itr),
     2556!     .            d_tr(1:klon,1:klev,itr),ztra_th)
    25552557!            DO k=1,klev
    25562558!               DO i=1,klon
    2557 !                  d_tr(i,k,it)=pdtphys*d_tr(i,k,it)/nsplit
    2558 !                  d_tr_th(i,k,it)=d_tr_th(i,k,it)+d_tr(i,k,it)
    2559 !                  tr_seri(i,k,it)=MAX(tr_seri(i,k,it)+d_tr(i,k,it),0.)
     2559!                  d_tr(i,k,itr)=pdtphys*d_tr(i,k,itr)/nsplit
     2560!                  d_tr_th(i,k,itr)=d_tr_th(i,k,itr)+d_tr(i,k,itr)
     2561!                  tr_seri(i,k,itr)=MAX(tr_seri(i,k,itr)+d_tr(i,k,itr),0.)
    25602562!               END DO
    25612563!            END DO
     
    25642566!JE end modif 20140323
    25652567
    2566       DO it=1,nbtr
     2568      DO itr=1,nbtr
    25672569         DO k=1,klev
    25682570            DO i=1,klon
    2569           tmp_var(i,k)=tr_seri(i,k,it)-tmp_var3(i,k,it)
     2571          tmp_var(i,k)=tr_seri(i,k,itr)-tmp_var3(i,k,itr)
    25702572            ENDDO
    25712573         ENDDO
    25722574       IF (lminmax) THEN
    25732575      IF (lcheckmass) THEN
    2574          CALL checkmass(tmp_var(:,:),RNAVO,masse(it),zdz,  &
     2576         CALL checkmass(tmp_var(:,:),RNAVO,masse(itr),zdz,  &
    25752577           pplay,t_seri,iscm3,'dtr therm ')
    25762578      ENDIF
     
    25802582         DO k=1,klev
    25812583            DO i=1,klon
    2582                his_th(i,it)=his_th(i,it)+    &
     2584               his_th(i,itr)=his_th(i,itr)+    &
    25832585                           (tmp_var(i,k))/RNAVO*   &
    2584                      masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys
     2586                     masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys
    25852587            END DO !klon
    25862588         END DO !klev
     
    25882590      END DO !it
    25892591       IF (lminmax) THEN
    2590         DO it=1,nbtr
    2591        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after therm')
    2592         ENDDO
    2593         DO it=1,nbtr
    2594         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after therm')
     2592        DO itr=1,nbtr
     2593       CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after therm')
     2594        ENDDO
     2595        DO itr=1,nbtr
     2596        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after therm')
    25952597        ENDDO
    25962598      IF (lcheckmass) THEN
    2597         DO it=1,nbtr
    2598          CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,   &
     2599        DO itr=1,nbtr
     2600         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,   &
    25992601           pplay,t_seri,iscm3,'after therm')
    26002602        ENDDO
     
    26212623
    26222624
    2623       DO it=1,nbtr
     2625      DO itr=1,nbtr
    26242626      DO j=1,klev
    26252627      DO i=1,klon
    2626          tmp_var(i,j)=tr_seri(i,j,it)
     2628         tmp_var(i,j)=tr_seri(i,j,itr)
    26272629      ENDDO
    26282630      ENDDO
     
    26302632      DO j=1,klev
    26312633      DO i=1,klon
    2632          tr_seri(i,j,it)=tmp_var(i,j)
     2634         tr_seri(i,j,itr)=tmp_var(i,j)
    26332635      ENDDO
    26342636      ENDDO
     
    26392641
    26402642      IF (lminmax) THEN
    2641         DO it=1,nbtr
    2642         CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_before_sedi')
    2643         ENDDO
    2644         DO it=1,nbtr
    2645         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'before sedi')
     2643        DO itr=1,nbtr
     2644        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_before_sedi')
     2645        ENDDO
     2646        DO itr=1,nbtr
     2647        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'before sedi')
    26462648        ENDDO
    26472649      IF (lcheckmass) THEN
    2648         DO it=1,nbtr
    2649          CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,   &
     2650        DO itr=1,nbtr
     2651         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,   &
    26502652           pplay,t_seri,iscm3,'before sedi')
    26512653        ENDDO
     
    26652667
    26662668      IF (lminmax) THEN
    2667         DO it=1,nbtr
    2668         CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after_sedi')
    2669         ENDDO
    2670         DO it=1,nbtr
    2671         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after sedi')
     2669        DO itr=1,nbtr
     2670        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after_sedi')
     2671        ENDDO
     2672        DO itr=1,nbtr
     2673        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after sedi')
    26722674        ENDDO
    26732675      IF (lcheckmass) THEN
    2674         DO it=1,nbtr
    2675          CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,  &
     2676        DO itr=1,nbtr
     2677         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,  &
    26762678           pplay,t_seri,iscm3,'after sedi')
    26772679        ENDDO
     
    26832685!=======================================================================
    26842686#ifdef IOPHYS_DUST
    2685       do it=1,nbtr
    2686          write(str2,'(i2.2)') it
    2687          call iophys_ecrit('TRF'//str2,klev,'SOURCE','',tr_seri(:,:,it))
     2687      do itr=1,nbtr
     2688         write(str2,'(i2.2)') itr
     2689         call iophys_ecrit('TRF'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
    26882690      enddo
    26892691#endif
     
    27002702      ENDIF
    27012703
    2702       DO it=1, nbtr
     2704      DO itr=1,nbtr
    27032705         DO j=1,klev
    27042706         DO i=1,klon
    2705            tmp_var(i,j)=tr_seri(i,j,it)
     2707           tmp_var(i,j)=tr_seri(i,j,itr)
    27062708         ENDDO
    27072709         ENDDO
     
    27092711         DO j=1,klev
    27102712         DO i=1,klon
    2711            tr_seri(i,j,it)=tmp_var(i,j)
     2713           tr_seri(i,j,itr)=tmp_var(i,j)
    27122714         ENDDO
    27132715         ENDDO
     
    27262728
    27272729      IF (lminmax) THEN
    2728         DO it=1,nbtr
    2729         CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_beforegastopar')
    2730         ENDDO
    2731         DO it=1,nbtr
    2732         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'before gastopar')
     2730        DO itr=1,nbtr
     2731        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_beforegastopar')
     2732        ENDDO
     2733        DO itr=1,nbtr
     2734        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'before gastopar')
    27332735        ENDDO
    27342736      IF (lcheckmass) THEN
    2735         DO it=1,nbtr
    2736          CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,  &
     2737        DO itr=1,nbtr
     2738         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,  &
    27372739           pplay,t_seri,iscm3,'before gastopar')
    27382740        ENDDO
     
    27462748!
    27472749      IF (lminmax) THEN
    2748         DO it=1,nbtr
    2749         CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after_gastopar')
    2750         ENDDO
    2751         DO it=1,nbtr
    2752         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after gastopar')
     2750        DO itr=1,nbtr
     2751        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after_gastopar')
     2752        ENDDO
     2753        DO itr=1,nbtr
     2754        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after gastopar')
    27532755        ENDDO
    27542756      IF (lcheckmass) THEN
    2755         DO it=1,nbtr
    2756          CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,  &
     2757        DO itr=1,nbtr
     2758         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,  &
    27572759           pplay,t_seri,iscm3,'after gastopar')
    27582760        ENDDO
     
    27772779
    27782780#ifdef IOPHYS_DUST
    2779       do it=1,nbtr
    2780          write(str2,'(i2.2)') it
    2781          call iophys_ecrit('TRG'//str2,klev,'SOURCE','',tr_seri(:,:,it))
     2781      do itr=1,nbtr
     2782         write(str2,'(i2.2)') itr
     2783         call iophys_ecrit('TRG'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
    27822784      enddo
    27832785#endif
     
    27932795
    27942796
    2795        DO it=1, nbtr
     2797       DO itr=1,nbtr
    27962798        DO j=1,klev
    27972799        DO i=1,klon
    2798            tmp_var(i,j)=tr_seri(i,j,it)
     2800           tmp_var(i,j)=tr_seri(i,j,itr)
    27992801        ENDDO
    28002802        ENDDO
     
    28022804        DO j=1,klev
    28032805        DO i=1,klon
    2804            tr_seri(i,j,it)=tmp_var(i,j)
     2806           tr_seri(i,j,itr)=tmp_var(i,j)
    28052807        ENDDO
    28062808        ENDDO
     
    28152817
    28162818      IF (lminmax) THEN
    2817         DO it=1,nbtr
    2818         CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_before_incloud')
    2819         ENDDO
    2820         DO it=1,nbtr
    2821         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'before incloud')
     2819        DO itr=1,nbtr
     2820        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_before_incloud')
     2821        ENDDO
     2822        DO itr=1,nbtr
     2823        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'before incloud')
    28222824        ENDDO
    28232825      IF (lcheckmass) THEN
    2824         DO it=1,nbtr
    2825          CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,  &
     2826        DO itr=1,nbtr
     2827         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,  &
    28262828           pplay,t_seri,iscm3,'before incloud')
    28272829        ENDDO
     
    28562858      print *,' BEFORE blcloud (after incloud)'
    28572859      IF (lminmax) THEN
    2858         DO it=1,nbtr
    2859         CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_before_blcloud')
    2860         ENDDO
    2861         DO it=1,nbtr
    2862         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'before blcloud')
     2860        DO itr=1,nbtr
     2861        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_before_blcloud')
     2862        ENDDO
     2863        DO itr=1,nbtr
     2864        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'before blcloud')
    28632865        ENDDO
    28642866      IF (lcheckmass) THEN
    2865         DO it=1,nbtr
    2866          CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,   &
     2867        DO itr=1,nbtr
     2868         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,   &
    28672869           pplay,t_seri,iscm3,'before blcloud')
    28682870        ENDDO
     
    28992901
    29002902      IF (lminmax) THEN
    2901         DO it=1,nbtr
    2902         CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after_blcloud')
     2903        DO itr=1,nbtr
     2904        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after_blcloud')
    29032905        ENDDO                           
    2904         DO it=1,nbtr
    2905         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after blcloud')
     2906        DO itr=1,nbtr
     2907        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after blcloud')
    29062908        ENDDO                                 
    29072909      IF (lcheckmass) THEN
    2908         DO it=1,nbtr
    2909          CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,  &
     2910        DO itr=1,nbtr
     2911         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,  &
    29102912           pplay,t_seri,iscm3,'after blcloud')
    29112913        ENDDO
     
    29172919      ENDIF !--lessivage
    29182920
    2919       DO it=1, nbtr
     2921      DO itr=1,nbtr
    29202922         DO j=1,klev
    29212923         DO i=1,klon
    2922            tmp_var(i,j)=tr_seri(i,j,it)
     2924           tmp_var(i,j)=tr_seri(i,j,itr)
    29232925         ENDDO
    29242926         ENDDO
     
    29262928         DO j=1,klev
    29272929         DO i=1,klon
    2928            tr_seri(i,j,it)=tmp_var(i,j)
     2930           tr_seri(i,j,itr)=tmp_var(i,j)
    29292931         ENDDO
    29302932         ENDDO
     
    29522954!
    29532955#ifdef IOPHYS_DUST
    2954       do it=1,nbtr
    2955          write(str2,'(i2.2)') it
    2956          call iophys_ecrit('TRH'//str2,klev,'SOURCE','',tr_seri(:,:,it))
     2956      do itr=1,nbtr
     2957         write(str2,'(i2.2)') itr
     2958         call iophys_ecrit('TRH'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
    29572959      enddo
    29582960#endif
     
    29692971
    29702972      IF (lminmax) THEN
    2971         DO it=1,nbtr
    2972         CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_before_trconve')
    2973         ENDDO
    2974         DO it=1,nbtr
    2975         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'before trconve')
     2973        DO itr=1,nbtr
     2974        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_before_trconve')
     2975        ENDDO
     2976        DO itr=1,nbtr
     2977        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'before trconve')
    29762978        ENDDO
    29772979      IF (lcheckmass) THEN
    2978         DO it=1,nbtr
    2979          CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,  &
     2980        DO itr=1,nbtr
     2981         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,  &
    29802982           pplay,t_seri,iscm3,'before trconve')
    29812983        ENDDO
     
    29942996                  pen_d,pde_d,paprs,zdz,xconv,qmin,qmax,.false.,masse, &
    29952997                                                      dtrconv,tr_seri)
    2996          DO it=1, nbtr
    2997            d_tr_cv(:,:,it)=0.
     2998         DO itr=1,nbtr
     2999           d_tr_cv(:,:,itr)=0.
    29983000         ENDDO
    29993001
     
    30013003! KE
    30023004         print *,'JE: KE in phytracr_spl'
    3003          DO it=1, nbtr
     3005         DO itr=1,nbtr
    30043006             DO k = 1, klev
    30053007              DO i = 1, klon
    3006                tmp_var3(i,k,it)=tr_seri(i,k,it)
     3008               tmp_var3(i,k,itr)=tr_seri(i,k,itr)
    30073009              END DO
    30083010             END DO
    30093011         ENDDO
    30103012
    3011          DO it=1, nbtr
     3013         DO itr=1,nbtr
    30123014!          routine for aerosols . otherwise, check cvltrorig
    3013          print *,'Check sum before cvltr it',it,SUM(tr_seri(:,:,it))
     3015         print *,'Check sum before cvltr itr)',itr,SUM(tr_seri(:,:,itr))
    30143016!           IF (.FALSE.) THEN
    30153017           CALL cvltr_spl(pdtphys, da, phi,phi2,d1a,dam, mp,ep,    &
    30163018            sigd,sij,wght_cvfd,clw,elij,epmlmMm,eplaMm,           &
    30173019            pmflxr,pmflxs,evapls,t_seri,wdtrainA,wdtrainM,          &
    3018 !            paprs,it,tr_seri,upwd,dnwd,itop_con,ibas_con,        &
    3019             paprs,it,tmp_var3,upwd,dnwd,itop_con,ibas_con,        &
     3020!            paprs,itr,tr_seri,upwd,dnwd,itop_con,ibas_con,        &
     3021            paprs,itr,tmp_var3,upwd,dnwd,itop_con,ibas_con,        &
    30203022            henry,kk,zrho,ccntrAA_spla,ccntrENV_spla,coefcoli_spla, &
    30213023            id_prec,id_fine,id_coss, id_codu, id_scdu,              &
     
    30293031!     .       sigd,sij,wght_cvfd,clw,elij,epmlmMm,eplaMm,
    30303032!     .       pmflxr,pmflxs,evapls,t_seri,wdtrainA,wdtrainM,
    3031 !     .       paprs,it,tmp_var3,upwd,dnwd,itop_con,ibas_con,
     3033!     .       paprs,itr,tmp_var3,upwd,dnwd,itop_con,ibas_con,
    30323034!     .       d_tr_cv,d_tr_trsp,d_tr_sscav,d_tr_sat,d_tr_uscav,qDi,qPr,
    30333035!     .       qPa,qMel,qTrdi,dtrcvMA,Mint,
     
    30473049!             CALL checknanqfi(paprs(:,:),1.,-1.,'paprs ')
    30483050!             CALL checknanqfi(pplay(:,:),1.,-1.,'pplay ')
    3049 !             CALL checknanqfi(tmp_var3(:,:,it),1.,-1.,'tmp_var3 ')
     3051!             CALL checknanqfi(tmp_var3(:,:,itr),1.,-1.,'tmp_var3 ')
    30503052!             CALL checknanqfi(upwd(:,:),1.,-1.,'upwd ')
    30513053!             CALL checknanqfi(dnwd(:,:),1.,-1.,'dnwd ')
    3052 !             CALL checknanqfi(d_tr_cv(:,:,it),1.,-1.,'d_tr_cv ')
     3054!             CALL checknanqfi(d_tr_cv(:,:,itr),1.,-1.,'d_tr_cv ')
    30533055!             IF (.TRUE.) THEN
    30543056!             CALL cvltr_noscav(it,pdtphys, da, phi,mp,wght_cvfd,paprs,
     
    30573059             DO k = 1, klev
    30583060              DO i = 1, klon
    3059 !               tr_seri(i,k,it) = tr_seri(i,k,it) + d_tr_cv(i,k,it)
    3060                tr_seri(i,k,it)=(tmp_var3(i,k,it)+d_tr_cv(i,k,it))
    3061                tmp_var(i,k)=d_tr_cv(i,k,it)
     3061!               tr_seri(i,k,itr) = tr_seri(i,k,itr) + d_tr_cv(i,k,itr)
     3062               tr_seri(i,k,itr)=(tmp_var3(i,k,itr)+d_tr_cv(i,k,itr))
     3063               tmp_var(i,k)=d_tr_cv(i,k,itr)
    30623064
    30633065              END DO
     
    30683070             DO k = 1, klev
    30693071              DO i = 1, klon
    3070                dtrconv(i,it)=0.0
    3071                his_dhkecv(i,it)=his_dhkecv(i,it)-tmp_var(i,k)  &
    3072                      /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys
     3072               dtrconv(i,itr)=0.0
     3073               his_dhkecv(i,itr)=his_dhkecv(i,itr)-tmp_var(i,k)  &
     3074                     /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys
    30733075              END DO
    30743076             END DO
     
    30793081             DO k = 1, klev
    30803082              DO i = 1, klon
    3081                dtrconv(i,it)=0.0
    3082                his_ds(i,it)=his_ds(i,it)-tmp_var(i,k)  &
    3083                      /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys
     3083               dtrconv(i,itr)=0.0
     3084               his_ds(i,itr)=his_ds(i,itr)-tmp_var(i,k)  &
     3085                     /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys
    30843086              END DO
    30853087             END DO
     
    30873089       IF (lminmax) THEN
    30883090
    3089          print *,'Check sum after cvltr it',it,SUM(tr_seri(:,:,it))
    3090         CALL minmaxqfi2(d_tr_cv(:,:,it),qmin,qmax,'d_tr_cv:')
    3091         CALL minmaxqfi2(d_tr_trsp(:,:,it),qmin,qmax,'d_tr_trsp:')
    3092         CALL minmaxqfi2(d_tr_sscav(:,:,it),qmin,qmax,'d_tr_sscav:')
    3093         CALL minmaxqfi2(d_tr_sat(:,:,it),qmin,qmax,'d_tr_sat:')
    3094         CALL minmaxqfi2(d_tr_uscav(:,:,it),qmin,qmax,'d_tr_uscav:')
     3091         print *,'Check sum after cvltr itr)',itr,SUM(tr_seri(:,:,itr))
     3092        CALL minmaxqfi2(d_tr_cv(:,:,itr),qmin,qmax,'d_tr_cv:')
     3093        CALL minmaxqfi2(d_tr_trsp(:,:,itr),qmin,qmax,'d_tr_trsp:')
     3094        CALL minmaxqfi2(d_tr_sscav(:,:,itr),qmin,qmax,'d_tr_sscav:')
     3095        CALL minmaxqfi2(d_tr_sat(:,:,itr),qmin,qmax,'d_tr_sat:')
     3096        CALL minmaxqfi2(d_tr_uscav(:,:,itr),qmin,qmax,'d_tr_uscav:')
    30953097      IF (lcheckmass) THEN
    3096         CALL checkmass(d_tr_cv(:,:,it),RNAVO,masse(it),zdz,  &
     3098        CALL checkmass(d_tr_cv(:,:,itr),RNAVO,masse(itr),zdz,  &
    30973099           pplay,t_seri,.false.,'d_tr_cv:')
    30983100      ENDIF
     
    31023104        ENDIF ! iflag_conv
    31033105       IF (lminmax) THEN
    3104         DO it=1,nbtr
    3105         CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after_trcon')
    3106         ENDDO
    3107         DO it=1,nbtr
    3108         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after trconv')
     3106        DO itr=1,nbtr
     3107        CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after_trcon')
     3108        ENDDO
     3109        DO itr=1,nbtr
     3110        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after trconv')
    31093111        ENDDO
    31103112      IF (lcheckmass) THEN
    3111         DO it=1,nbtr
    3112          CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz, &
     3113        DO itr=1,nbtr
     3114         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz, &
    31133115           pplay,t_seri,iscm3,'after trconv')
    31143116        ENDDO
     
    31553157      call iophys_ecrit('wdtrainM',klev,'wdtrainM','',wdtrainM)
    31563158
    3157       do it=1,nbtr
    3158          write(str2,'(i2.2)') it
    3159          call iophys_ecrit('TRI'//str2,klev,'SOURCE','',tr_seri(:,:,it))
     3159      do itr=1,nbtr
     3160         write(str2,'(i2.2)') itr
     3161         call iophys_ecrit('TRI'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
    31603162      enddo
    31613163#endif
     
    31713173       print *,' BEFORE lsc_scav '
    31723174       IF (lminmax) THEN
    3173         DO it=1,nbtr
    3174        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_before_lsc_scav')
    3175         ENDDO
    3176         DO it=1,nbtr
    3177         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'before lsc_scav')
     3175        DO itr=1,nbtr
     3176       CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_before_lsc_scav')
     3177        ENDDO
     3178        DO itr=1,nbtr
     3179        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'before lsc_scav')
    31783180        ENDDO
    31793181      IF (lcheckmass) THEN
    3180         DO it=1,nbtr
    3181          CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz,  &
     3182        DO itr=1,nbtr
     3183         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz,  &
    31823184           pplay,t_seri,iscm3,'before lsc_scav')
    31833185        ENDDO
     
    31963198      !IF (.false.) THEN  ! test #DFB (Binta) sans lsc_scav_spl
    31973199        print *,'JE iflag_lscav',iflag_lscav
    3198         DO it = 1, nbtr
     3200        DO itr=1,nbtr
    31993201
    32003202!       incloud scavenging and removal by large scale rain ! orig : ql_incl
     
    32033205!         Liu (2001) proposed to use 1.5e-3 kg/kg
    32043206
    3205 !       CALL lsc_scav_orig(pdtphys,it,iflag_lscav,ql_incl,prfl,psfl,
     3207!       CALL lsc_scav_orig(pdtphys,itr,iflag_lscav,ql_incl,prfl,psfl,
    32063208!     .               rneb,beta_fisrt, beta_v1,pplay,paprs,
    32073209!     .               t_seri,tr_seri,d_tr_insc,
    32083210!     .               d_tr_bcscav,d_tr_evapls,qPrls)
    3209           CALL lsc_scav_spl(pdtphys,it,iflag_lscav,ql_incl,prfl,psfl,  &
     3211          CALL lsc_scav_spl(pdtphys,itr,iflag_lscav,ql_incl,prfl,psfl,  &
    32103212                    rneb,beta_fisrt, beta_v1,pplay,paprs,      &
    32113213                    t_seri,tr_seri,d_tr_insc,                  &
     
    32173219          DO k = 1, klev
    32183220           DO i = 1, klon
    3219                 d_tr_ls(i,k,it)=d_tr_insc(i,k,it)+d_tr_bcscav(i,k,it) &
    3220                         +d_tr_evapls(i,k,it)
    3221                 tr_seri(i,k,it)=tr_seri(i,k,it)+d_tr_ls(i,k,it)
    3222                          tmp_var(i,k)=d_tr_ls(i,k,it)
     3221                d_tr_ls(i,k,itr)=d_tr_insc(i,k,itr)+d_tr_bcscav(i,k,itr) &
     3222                        +d_tr_evapls(i,k,itr)
     3223                tr_seri(i,k,itr)=tr_seri(i,k,itr)+d_tr_ls(i,k,itr)
     3224                         tmp_var(i,k)=d_tr_ls(i,k,itr)
    32233225           ENDDO
    32243226          ENDDO
     
    32283230          DO k=1,klev
    32293231           DO i=1,klon
    3230             his_dhkelsc(i,it)=his_dhkelsc(i,it)-tmp_var(i,k)    &
    3231                      /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys
     3232            his_dhkelsc(i,itr)=his_dhkelsc(i,itr)-tmp_var(i,k)    &
     3233                     /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys
    32323234     
    32333235           END DO
     
    32383240      ELSE
    32393241        print *,'WARNING: NO lsc_scav, Please choose iflag_lscav=3 or 4'
    3240         DO it = 1, nbtr
     3242        DO itr=1,nbtr
    32413243          DO i=1,klon
    3242             his_dhkelsc(i,it)=0.0
     3244            his_dhkelsc(i,itr)=0.0
    32433245          END DO  ! klon
    32443246         END DO  !it=1,nbtr
     
    32473249       print *,' AFTER lsc_scav '
    32483250       IF (lminmax) THEN
    3249         DO it=1,nbtr
    3250        CALL checknanqfi(tr_seri(:,:,it),qmin,qmax,'nan_after_lsc_scav')
    3251         ENDDO
    3252         DO it=1,nbtr
    3253         CALL minmaxqfi2(tr_seri(:,:,it),qmin,qmax,'after lsc_scav')
     3251        DO itr=1,nbtr
     3252       CALL checknanqfi(tr_seri(:,:,itr),qmin,qmax,'nan_after_lsc_scav')
     3253        ENDDO
     3254        DO itr=1,nbtr
     3255        CALL minmaxqfi2(tr_seri(:,:,itr),qmin,qmax,'after lsc_scav')
    32543256        ENDDO
    32553257      IF (lcheckmass) THEN
    3256         DO it=1,nbtr
    3257          CALL checkmass(tr_seri(:,:,it),RNAVO,masse(it),zdz, &
     3258        DO itr=1,nbtr
     3259         CALL checkmass(tr_seri(:,:,itr),RNAVO,masse(itr),zdz, &
    32583260           pplay,t_seri,iscm3,'after lsc_scav')
    32593261        ENDDO
     
    32813283!=======================================================================
    32823284#ifdef IOPHYS_DUST
    3283       do it=1,nbtr
    3284          write(str2,'(i2.2)') it
    3285          call iophys_ecrit('TRJ'//str2,klev,'SOURCE','',tr_seri(:,:,it))
     3285      do itr=1,nbtr
     3286         write(str2,'(i2.2)') itr
     3287         call iophys_ecrit('TRJ'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
    32863288      enddo
    32873289#endif
     
    32933295
    32943296 
    3295       DO it=1, nbtr
     3297      DO itr=1,nbtr
    32963298        DO j=1,klev
    32973299        DO i=1,klon
    3298            tmp_var(i,j)=tr_seri(i,j,it)
     3300           tmp_var(i,j)=tr_seri(i,j,itr)
    32993301        ENDDO
    33003302        ENDDO
     
    33023304        DO j=1,klev
    33033305        DO i=1,klon
    3304            tr_seri(i,j,it)=tmp_var(i,j)
     3306           tr_seri(i,j,itr)=tmp_var(i,j)
    33053307        ENDDO
    33063308        ENDDO
     
    33103312!
    33113313! Computing burden in mg/m2
    3312       DO it=1, nbtr
     3314      DO itr=1,nbtr
    33133315      DO k=1, klev
    33143316      DO i=1, klon
    3315         trm(i,it)=trm(i,it)+tr_seri(i,k,it)*1.e6*zdz(i,k)*  &
    3316                  masse(it)*1.e3/RNAVO     !--mg S/m2
     3317        trm(i,itr)=trm(i,itr)+tr_seri(i,k,itr)*1.e6*zdz(i,k)*  &
     3318                 masse(itr)*1.e3/RNAVO     !--mg S/m2
    33173319      ENDDO
    33183320      ENDDO
     
    33213323! Computing Surface concentration in ug/m3
    33223324!
    3323       DO it=1, nbtr
     3325      DO itr=1,nbtr
    33243326      DO i=1, klon
    3325         sconc_seri(i,it)=tr_seri(i,1,it)*1.e6* &
    3326                  masse(it)*1.e3/RNAVO     !--mg/m3 (tr_seri ist in g/cm3)
     3327        sconc_seri(i,itr)=tr_seri(i,1,itr)*1.e6* &
     3328                 masse(itr)*1.e3/RNAVO     !--mg/m3 (tr_seri ist in g/cm3)
    33273329      ENDDO
    33283330      ENDDO
     
    35563558!======================================================================
    35573559#ifdef IOPHYS_DUST
    3558       do it=1,nbtr
    3559          write(str2,'(i2.2)') it
    3560          call iophys_ecrit('TRK'//str2,klev,'SOURCE','',tr_seri(:,:,it))
     3560      do itr=1,nbtr
     3561         write(str2,'(i2.2)') itr
     3562         call iophys_ecrit('TRK'//str2,klev,'SOURCE','',tr_seri(:,:,itr))
    35613563      enddo
    35623564#endif
     
    35683570      ENDIF
    35693571
    3570       DO it=1, nbtr
     3572      DO itr=1,nbtr
    35713573         DO j=1,klev
    35723574         DO i=1,klon
    3573            tmp_var(i,j)=tr_seri(i,j,it)
     3575           tmp_var(i,j)=tr_seri(i,j,itr)
    35743576         ENDDO
    35753577         ENDDO
     
    35773579         DO j=1,klev
    35783580         DO i=1,klon
    3579            tr_seri(i,j,it)=tmp_var(i,j)
     3581           tr_seri(i,j,itr)=tmp_var(i,j)
    35803582         ENDDO
    35813583         ENDDO
     
    37263728!      prepare outputs cvltr
    37273729
    3728       DO it=1, nbtr
     3730      DO itr=1,nbtr
    37293731        DO k=1,klev
    37303732        DO i=1,klon
    3731            tmp_var(i,k)=d_tr_cv(i,k,it)
     3733           tmp_var(i,k)=d_tr_cv(i,k,itr)
    37323734        ENDDO
    37333735        ENDDO
     
    37353737       DO k=1,klev
    37363738        DO i=1,klon
    3737           d_tr_cv_o(i,k,it)=tmp_var(i,k)  &
    3738                          /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys 
     3739          d_tr_cv_o(i,k,itr)=tmp_var(i,k)  &
     3740                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys 
    37393741        ENDDO
    37403742       ENDDO
    37413743      ENDDO
    3742       DO it=1, nbtr
     3744      DO itr=1,nbtr
    37433745        DO k=1,klev
    37443746        DO i=1,klon
    3745            tmp_var(i,k)=d_tr_trsp(i,k,it)
     3747           tmp_var(i,k)=d_tr_trsp(i,k,itr)
    37463748        ENDDO
    37473749        ENDDO
     
    37493751       DO k=1,klev
    37503752        DO i=1,klon
    3751           d_tr_trsp_o(i,k,it)=tmp_var(i,k)  &
    3752                          /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys 
     3753          d_tr_trsp_o(i,k,itr)=tmp_var(i,k)  &
     3754                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys 
    37533755        ENDDO
    37543756       ENDDO
    37553757      ENDDO
    3756       DO it=1, nbtr
     3758      DO itr=1,nbtr
    37573759        DO k=1,klev
    37583760        DO i=1,klon
    3759            tmp_var(i,k)=d_tr_sscav(i,k,it)
     3761           tmp_var(i,k)=d_tr_sscav(i,k,itr)
    37603762        ENDDO
    37613763        ENDDO
     
    37633765       DO k=1,klev
    37643766        DO i=1,klon
    3765           d_tr_sscav_o(i,k,it)=tmp_var(i,k)  &
    3766                          /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys 
     3767          d_tr_sscav_o(i,k,itr)=tmp_var(i,k)  &
     3768                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys 
    37673769        ENDDO
    37683770       ENDDO
    37693771      ENDDO
    3770       DO it=1, nbtr
     3772      DO itr=1,nbtr
    37713773        DO k=1,klev
    37723774        DO i=1,klon
    3773            tmp_var(i,k)=d_tr_sat(i,k,it)
     3775           tmp_var(i,k)=d_tr_sat(i,k,itr)
    37743776        ENDDO
    37753777        ENDDO
     
    37773779       DO k=1,klev
    37783780        DO i=1,klon
    3779           d_tr_sat_o(i,k,it)=tmp_var(i,k)   &
    3780                          /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys 
     3781          d_tr_sat_o(i,k,itr)=tmp_var(i,k)   &
     3782                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys 
    37813783        ENDDO
    37823784       ENDDO
    37833785      ENDDO
    3784       DO it=1, nbtr
     3786      DO itr=1,nbtr
    37853787        DO k=1,klev
    37863788        DO i=1,klon
    3787            tmp_var(i,k)=d_tr_uscav(i,k,it)
     3789           tmp_var(i,k)=d_tr_uscav(i,k,itr)
    37883790        ENDDO
    37893791        ENDDO
     
    37913793       DO k=1,klev
    37923794        DO i=1,klon
    3793           d_tr_uscav_o(i,k,it)=tmp_var(i,k)  &
    3794                          /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys 
     3795          d_tr_uscav_o(i,k,itr)=tmp_var(i,k)  &
     3796                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys 
    37953797        ENDDO
    37963798       ENDDO
     
    37983800!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    37993801     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    3800       DO it=1, nbtr
     3802      DO itr=1,nbtr
    38013803        DO k=1,klev
    38023804        DO i=1,klon
    3803            tmp_var(i,k)=d_tr_insc(i,k,it)
     3805           tmp_var(i,k)=d_tr_insc(i,k,itr)
    38043806        ENDDO
    38053807        ENDDO
     
    38073809       DO k=1,klev
    38083810        DO i=1,klon
    3809           d_tr_insc_o(i,k,it)=tmp_var(i,k)  &
    3810                          /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys 
     3811          d_tr_insc_o(i,k,itr)=tmp_var(i,k)  &
     3812                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys 
    38113813        ENDDO
    38123814       ENDDO
     
    38143816     
    38153817
    3816       DO it=1, nbtr
     3818      DO itr=1,nbtr
    38173819        DO k=1,klev
    38183820        DO i=1,klon
    3819            tmp_var(i,k)=d_tr_bcscav(i,k,it)
     3821           tmp_var(i,k)=d_tr_bcscav(i,k,itr)
    38203822        ENDDO
    38213823        ENDDO
     
    38233825       DO k=1,klev
    38243826        DO i=1,klon
    3825           d_tr_bcscav_o(i,k,it)=tmp_var(i,k)  &
    3826                          /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys 
     3827          d_tr_bcscav_o(i,k,itr)=tmp_var(i,k)  &
     3828                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys 
    38273829        ENDDO
    38283830       ENDDO
     
    38303832
    38313833
    3832       DO it=1, nbtr
     3834      DO itr=1,nbtr
    38333835        DO k=1,klev
    38343836        DO i=1,klon
    3835            tmp_var(i,k)=d_tr_evapls(i,k,it)
     3837           tmp_var(i,k)=d_tr_evapls(i,k,itr)
    38363838        ENDDO
    38373839        ENDDO
     
    38393841       DO k=1,klev
    38403842        DO i=1,klon
    3841           d_tr_evapls_o(i,k,it)=tmp_var(i,k)  &
    3842                          /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys 
     3843          d_tr_evapls_o(i,k,itr)=tmp_var(i,k)  &
     3844                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys 
    38433845        ENDDO
    38443846       ENDDO
     
    38463848
    38473849
    3848       DO it=1, nbtr
     3850      DO itr=1,nbtr
    38493851        DO k=1,klev
    38503852        DO i=1,klon
    3851            tmp_var(i,k)=d_tr_ls(i,k,it)
     3853           tmp_var(i,k)=d_tr_ls(i,k,itr)
    38523854        ENDDO
    38533855        ENDDO
     
    38553857       DO k=1,klev
    38563858        DO i=1,klon
    3857           d_tr_ls_o(i,k,it)=tmp_var(i,k)  &
    3858                          /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys 
     3859          d_tr_ls_o(i,k,itr)=tmp_var(i,k)  &
     3860                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys 
    38593861        ENDDO
    38603862       ENDDO
     
    38623864
    38633865
    3864       DO it=1, nbtr
     3866      DO itr=1,nbtr
    38653867        DO k=1,klev
    38663868        DO i=1,klon
    3867            tmp_var(i,k)=d_tr_dyn(i,k,it)
     3869           tmp_var(i,k)=d_tr_dyn(i,k,itr)
    38683870        ENDDO
    38693871        ENDDO
     
    38713873       DO k=1,klev
    38723874        DO i=1,klon
    3873           d_tr_dyn_o(i,k,it)=tmp_var(i,k)  &
    3874                          /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys 
     3875          d_tr_dyn_o(i,k,itr)=tmp_var(i,k)  &
     3876                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys 
    38753877        ENDDO
    38763878       ENDDO
     
    38783880
    38793881
    3880       DO it=1, nbtr
     3882      DO itr=1,nbtr
    38813883        DO k=1,klev
    38823884        DO i=1,klon
    3883            tmp_var(i,k)=d_tr_cl(i,k,it)
     3885           tmp_var(i,k)=d_tr_cl(i,k,itr)
    38843886        ENDDO
    38853887        ENDDO
     
    38873889       DO k=1,klev
    38883890        DO i=1,klon
    3889           d_tr_cl_o(i,k,it)=tmp_var(i,k)  &
    3890                          /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys 
     3891          d_tr_cl_o(i,k,itr)=tmp_var(i,k)  &
     3892                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys 
    38913893        ENDDO
    38923894       ENDDO
     
    38943896
    38953897
    3896       DO it=1, nbtr
     3898      DO itr=1,nbtr
    38973899        DO k=1,klev
    38983900        DO i=1,klon
    3899            tmp_var(i,k)=d_tr_th(i,k,it)
     3901           tmp_var(i,k)=d_tr_th(i,k,itr)
    39003902        ENDDO
    39013903        ENDDO
     
    39033905       DO k=1,klev
    39043906        DO i=1,klon
    3905           d_tr_th_o(i,k,it)=tmp_var(i,k)  &
    3906                          /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys 
     3907          d_tr_th_o(i,k,itr)=tmp_var(i,k)  &
     3908                         /RNAVO*masse(itr)*1.e3*1.e6*zdz(i,k)/pdtphys 
    39073909        ENDDO
    39083910       ENDDO
     
    39113913!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    39123914
    3913      DO it=1,nbtr
    3914       WRITE(str2,'(i2.2)') it
     3915     DO itr=1,nbtr
     3916      WRITE(str2,'(i2.2)') itr
    39153917       DO i=1, klon                                                       
    3916         his_dh(i,it)= his_dhlsc(i,it)+his_dhcon(i,it)+               &
    3917                    his_dhbclsc(i,it)+his_dhbccon(i,it)
     3918        his_dh(i,itr)= his_dhlsc(i,itr)+his_dhcon(i,itr)+               &
     3919                   his_dhbclsc(i,itr)+his_dhbccon(i,itr)
    39183920
    39193921       ENDDO
Note: See TracChangeset for help on using the changeset viewer.