Ignore:
Timestamp:
Jul 24, 2024, 4:23:34 PM (4 months ago)
Author:
abarral
Message:

rename modules properly lmdz_*
move some unused files to obsolete/
(lint) uppercase fortran keywords

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/cv30_routines.F90

    r5116 r5117  
    191191  REAL ph(len, nd+1)
    192192#ifdef ISO
    193   real xt(ntraciso,len,nd)     
     193  REAL xt(ntraciso,len,nd)
    194194#endif
    195195
     
    198198  REAL tnk(len), qnk(len), gznk(len), plcl(len)
    199199#ifdef ISO
    200   real xtnk(ntraciso,len)     
     200  REAL xtnk(ntraciso,len)
    201201#endif
    202202
     
    204204  INTEGER i, k
    205205#ifdef ISO
    206         integer ixt
     206        INTEGER ixt
    207207#endif
    208208  INTEGER ihmin(len)
     
    225225  ! @       do 200 k=2,nlp
    226226  ! @         do 190 i=1,len
    227   ! @          if((hm(i,k).lt.work(i)).and.
     227  ! @          if((hm(i,k).lt.work(i)).AND.
    228228  ! @      &      (hm(i,k).lt.hm(i,k-1)))THEN
    229229  ! @            work(i)=hm(i,k)
     
    250250  ! @       do 240 k=minorig+1,nl
    251251  ! @         do 230 i=1,len
    252   ! @          if((hm(i,k).gt.work(i)).and.(k.le.ihmin(i)))THEN
     252  ! @          if((hm(i,k).gt.work(i)).AND.(k.le.ihmin(i)))THEN
    253253  ! @            work(i)=hm(i,k)
    254254  ! @            nk(i)=k
     
    270270  ! -------------------------------------------------------------------
    271271  DO i = 1, len
    272     IF (((t(i,nk(i))<250.0) .OR. (q(i,nk(i))<=0.0)) & ! @      &       .or.(
     272    IF (((t(i,nk(i))<250.0) .OR. (q(i,nk(i))<=0.0)) & ! @      &       .OR.(
    273273                                                      ! p(i,ihmin(i)).lt.400.0
    274274                                                      ! )  )
     
    320320  ! @      do 290 k=minorig,nl
    321321  ! @        do 280 i=1,len
    322   ! @          if((k.ge.(nk(i)+1)).and.(p(i,k).lt.plcl(i)))
     322  ! @          if((k.ge.(nk(i)+1)).AND.(p(i,k).lt.plcl(i)))
    323323  ! @     &    icb(i)=min(icb(i),k)
    324324  ! @ 280    continue
     
    326326  ! @c
    327327  ! @      do 300 i=1,len
    328   ! @        if((icb(i).ge.nlm).and.(iflag(i).eq.0))iflag(i)=9
     328  ! @        if((icb(i).ge.nlm).AND.(iflag(i).EQ.0))iflag(i)=9
    329329  ! @ 300  continue
    330330
     
    343343
    344344  DO i = 1, len
    345     ! @        if((icb(i).ge.nlm).and.(iflag(i).eq.0))iflag(i)=9
     345    ! @        if((icb(i).ge.nlm).AND.(iflag(i).EQ.0))iflag(i)=9
    346346    IF ((icb(i)==nlm) .AND. (iflag(i)==0)) iflag(i) = 9
    347347  END DO
     
    377377USE isotopes_routines_mod, ONLY: condiso_liq_ice_vectall_trac
    378378#ifdef ISOVERIF
    379     use isotopes_verif_mod, ONLY: iso_verif_traceur
    380 #endif
    381 #endif
    382 #ifdef ISOVERIF
    383     use isotopes_verif_mod, ONLY: errmax,errmaxrel,Tmin_verif, &
     379    USE isotopes_verif_mod, ONLY: iso_verif_traceur
     380#endif
     381#endif
     382#ifdef ISOVERIF
     383    USE isotopes_verif_mod, ONLY: errmax,errmaxrel,Tmin_verif, &
    384384        iso_verif_egalite_choix, iso_verif_noNaN,iso_verif_aberrant, &
    385385        iso_verif_egalite,iso_verif_egalite_choix_nostop,iso_verif_positif_nostop, &
     
    414414  REAL plcl(len) ! convect3
    415415#ifdef ISO
    416       real xt(ntraciso,len,nd)
     416      REAL xt(ntraciso,len,nd)
    417417#endif
    418418
     
    420420  REAL tp(len, nd), tvp(len, nd), clw(len, nd)
    421421#ifdef ISO
    422       real xtclw(ntraciso,len,nd)
    423       real tg_save(len,nd)
     422      REAL xtclw(ntraciso,len,nd)
     423      REAL tg_save(len,nd)
    424424#endif
    425425
     
    433433  REAL cpinv(len) ! convect3
    434434#ifdef ISO
    435       integer ixt
    436       real zfice(len),zxtliq(ntraciso,len),zxtice(ntraciso,len)
    437       real q_k(len),clw_k(len),tg_k(len),xt_k(ntraciso,len)
     435      INTEGER ixt
     436      REAL zfice(len),zxtliq(ntraciso,len),zxtice(ntraciso,len)
     437      REAL q_k(len),clw_k(len),tg_k(len),xt_k(ntraciso,len)
    438438!#ifdef ISOVERIF     
    439439!      integer iso_verif_positif_nostop
     
    618618              'cv30_routines 654')
    619619        enddo
    620         if (iso_HDO.gt.0) THEN
     620        IF (iso_HDO.gt.0) THEN
    621621         do i=1,len
    622           if (qnk(i).gt.ridicule) THEN
     622          IF (qnk(i).gt.ridicule) THEN
    623623           CALL iso_verif_aberrant(xt_k(iso_hdo,i)/qnk(i), &
    624624                  'cv30_routines 576')
     
    649649            WRITE(*,*) 'cv30_routine undilute 1 598: apres condiso'
    650650         
    651           if (iso_eau.gt.0) THEN
     651          IF (iso_eau.gt.0) THEN
    652652            do i=1,len
    653653              CALL iso_verif_egalite_choix(xtclw(iso_eau,i,icbs(i)), &
     
    785785#ifdef ISOVERIF
    786786        WRITE(*,*) 'cv30_routines 739: avant condiso'
    787         if (iso_HDO.gt.0) THEN
     787        IF (iso_HDO.gt.0) THEN
    788788         do i=1,len
    789789           CALL iso_verif_aberrant(xt_k(iso_hdo,i)/qnk(i), &
     
    815815!WRITE(*,*) 'DEBUG ISO B'
    816816          do i=1,len
    817             if (iso_eau.gt.0) THEN
     817            IF (iso_eau.gt.0) THEN
    818818             CALL iso_verif_egalite_choix(xtclw(iso_eau,i,icb(i)+1), &
    819819                 clw(i,icb(i)+1),'cv30_routines 708',errmax,errmaxrel)
     
    897897  ! oct3       ath  = th(i,icb(i)-1) - dttrig
    898898  ! oct3
    899   ! oct3       if (tdif.lt.dtcrit .or. ath.gt.ath1) THEN
     899  ! oct3       if (tdif.lt.dtcrit .OR. ath.gt.ath1) THEN
    900900  ! oct3         do 60 k=1,nl
    901901  ! oct3            sig(i,k) = beta*sig(i,k) - 2.*alpha*tdif*tdif
     
    947947  USE lmdz_print_control, ONLY: lunout
    948948#ifdef ISO
    949     use infotrac_phy, ONLY: ntraciso=>ntiso
    950     use isotopes_mod, ONLY: essai_convergence, iso_eau,iso_HDO
    951 #ifdef ISOVERIF
    952     use isotopes_verif_mod, ONLY: errmax,errmaxrel,Tmin_verif, &
     949    USE infotrac_phy, ONLY: ntraciso=>ntiso
     950    USE isotopes_mod, ONLY: essai_convergence, iso_eau,iso_HDO
     951#ifdef ISOVERIF
     952    USE isotopes_verif_mod, ONLY: errmax,errmaxrel,Tmin_verif, &
    953953        iso_verif_egalite_choix, iso_verif_noNaN,iso_verif_aberrant, &
    954954        iso_verif_egalite,iso_verif_egalite_choix_nostop,iso_verif_positif_nostop, &
     
    975975#ifdef ISO
    976976      !integer niso
    977       real xt1(ntraciso,len,nd), xtclw1(ntraciso,len,nd)
    978       real xtnk1(ntraciso,len)
     977      REAL xt1(ntraciso,len,nd), xtclw1(ntraciso,len,nd)
     978      REAL xtnk1(ntraciso,len)
    979979#endif
    980980
     
    992992  REAL tra(nloc, nd, ntra)
    993993#ifdef ISO
    994       real xt(ntraciso,nloc,nd), xtclw(ntraciso,nloc,nd)
    995       real xtnk(ntraciso,nloc)
     994      REAL xt(ntraciso,nloc,nd), xtclw(ntraciso,nloc,nd)
     995      REAL xtnk(ntraciso,nloc)
    996996#endif
    997997
     
    999999  INTEGER i, k, nn, j
    10001000#ifdef ISO
    1001       integer ixt
     1001      INTEGER ixt
    10021002#endif
    10031003
     
    10091009        do k=1,nd
    10101010          do i=1,nloc
    1011             if (essai_convergence) THEN
     1011            IF (essai_convergence) THEN
    10121012            else
    10131013              q(i,k)=0.0
     
    10631063  ! nn=0
    10641064  ! do 101 i=1,len
    1065   ! IF(iflag1(i).eq.0)THEN
     1065  ! IF(iflag1(i).EQ.0)THEN
    10661066  ! nn=nn+1
    10671067  ! tra(nn,k,j)=tra1(i,k,j)
    1068   ! endif
     1068  ! END IF
    10691069  ! 101  continue
    10701070  ! 111  continue
     
    11011101#ifdef ISO
    11021102#ifdef ISOVERIF
    1103        if (iso_eau.gt.0) THEN
     1103       IF (iso_eau.gt.0) THEN
    11041104        do k = 1, nd
    11051105         do i = 1, nloc 
     
    11331133    ! epmax_cape: ajout arguments
    11341134#ifdef ISO
    1135 use infotrac_phy, ONLY: ntraciso=>ntiso
     1135USE infotrac_phy, ONLY: ntraciso=>ntiso
    11361136USE isotopes_mod, ONLY: pxtmelt,pxtice,pxtmin,pxtmax,cond_temp_env, iso_eau,iso_HDO
    11371137USE isotopes_routines_mod, ONLY: condiso_liq_ice_vectall
     
    11431143#endif
    11441144#ifdef ISOVERIF
    1145     use isotopes_verif_mod, ONLY: errmax,errmaxrel,Tmin_verif,Tmax_verif, &
     1145    USE isotopes_verif_mod, ONLY: errmax,errmaxrel,Tmin_verif,Tmax_verif, &
    11461146        iso_verif_egalite_choix, iso_verif_noNaN,iso_verif_aberrant, &
    11471147        iso_verif_egalite,iso_verif_egalite_choix_nostop,iso_verif_positif_nostop, &
     
    11971197
    11981198#ifdef ISO
    1199       real xt(ntraciso,nloc,nd), xtclw(ntraciso,nloc,nd)
    1200       real xtnk(ntraciso,nloc)
     1199      REAL xt(ntraciso,nloc,nd), xtclw(ntraciso,nloc,nd)
     1200      REAL xtnk(ntraciso,nloc)
    12011201!      real xtep(ntraciso,nloc,nd) ! le 7 mai: on supprime xtep, car pas besoin
    12021202!      la chute de precip ne fractionne pas.
    1203       integer ixt
    1204       real zfice(nloc),zxtliq(ntraciso,nloc),zxtice(ntraciso,nloc)
    1205       real clw_k(nloc),tg_k(nloc)
     1203      INTEGER ixt
     1204      REAL zfice(nloc),zxtliq(ntraciso,nloc),zxtice(ntraciso,nloc)
     1205      REAL clw_k(nloc),tg_k(nloc)
    12061206#ifdef ISOVERIF     
    1207       real qg_save(nloc,nd) ! inout
     1207      REAL qg_save(nloc,nd) ! inout
    12081208      !integer iso_verif_positif_nostop
    12091209#endif     
     
    13271327#ifdef ISOVERIF
    13281328        !WRITE(*,*) 'cv30_routine 1259: avant condiso'
    1329         if (iso_HDO.gt.0) THEN
     1329        IF (iso_HDO.gt.0) THEN
    13301330         do i=1,ncum
    13311331           CALL iso_verif_aberrant(xtnk(iso_hdo,i)/qnk(i), &
     
    13331333         enddo       
    13341334        endif !if (iso_HDO.gt.0) THEN
    1335         if (iso_eau.gt.0) THEN
     1335        IF (iso_eau.gt.0) THEN
    13361336         do i=1,ncum
    13371337           CALL iso_verif_egalite(xtnk(iso_eau,i),qnk(i), &
     
    13401340        endif !if (iso_HDO.gt.0) THEN
    13411341        do i=1,ncum
    1342          if ((iso_verif_positif_nostop(qnk(i)-clw_k(i), &
    1343              'cv30_routines 1275').eq.1).or. &
     1342         IF ((iso_verif_positif_nostop(qnk(i)-clw_k(i), &
     1343             'cv30_routines 1275').EQ.1).OR. &
    13441344             (iso_verif_positif_nostop(tg_k(i)-Tmin_verif, &
    1345              'cv30_routines 1297a').eq.1).or.  &
     1345             'cv30_routines 1297a').EQ.1).OR.  &
    13461346             (iso_verif_positif_nostop(Tmax_verif-tg_k(i), &
    1347              'cv30_routines 1297b').eq.1)) THEN
     1347             'cv30_routines 1297b').EQ.1)) THEN
    13481348          WRITE(*,*) 'i,k,qnk,clw_k=',i,k,qnk(i),clw_k(i)
    13491349          WRITE(*,*) 'tg,t,qg=',tg_k(i),t(i,k),qg_save(i,k)
     
    13761376        enddo !do i=1,ncum
    13771377#ifdef ISOVERIF
    1378         if (iso_eau.gt.0) THEN
     1378        IF (iso_eau.gt.0) THEN
    13791379          do i=1,ncum       
    13801380           CALL iso_verif_egalite_choix(xtclw(iso_eau,i,k), &
     
    15161516  ! inb(i)=k+1
    15171517  ! capem(i)=cape(i)
    1518   ! endif
    1519   ! endif
     1518  ! END IF
     1519  ! END IF
    15201520  ! 520    continue
    15211521  ! 530  continue
     
    15431543  ! capem(i)=cape(i)
    15441544  ! byp(i)=(tvp(i,k+1)-tv(i,k+1))*dph(i,k+1)/p(i,k+1)
    1545   ! endif
    1546   ! endif
     1545  ! END IF
     1546  ! END IF
    15471547  ! 520    continue
    15481548  ! 530  continue
     
    15661566  ! ori        do 520 i=1,ncum
    15671567  ! ori          IF(cape(i).lt.0.0)lcape(i)=.FALSE.
    1568   ! ori          if((k.ge.(icb(i)+1)).and.lcape(i))THEN
     1568  ! ori          if((k.ge.(icb(i)+1)).AND.lcape(i))THEN
    15691569  ! ori            by=(tvp(i,k)-tv(i,k))*dph(i,k)/p(i,k)
    15701570  ! ori            byp(i)=(tvp(i,k+1)-tv(i,k+1))*dph(i,k+1)/p(i,k+1)
     
    18281828
    18291829#ifdef ISO
    1830 use infotrac_phy, ONLY: ntraciso=>ntiso,niso,itZonIso
     1830USE infotrac_phy, ONLY: ntraciso=>ntiso,niso,itZonIso
    18311831USE isotopes_mod, ONLY: pxtmelt,pxtice,pxtmin,pxtmax, iso_eau,iso_HDO, &
    18321832        ridicule
    18331833USE isotopes_routines_mod, ONLY: condiso_liq_ice_vectall
    18341834#ifdef ISOVERIF
    1835     use isotopes_verif_mod, ONLY: errmax,errmaxrel,Tmin_verif,deltalim, &
     1835    USE isotopes_verif_mod, ONLY: errmax,errmaxrel,Tmin_verif,deltalim, &
    18361836        iso_verif_egalite_choix,iso_verif_aberrant_choix, iso_verif_noNaN, &
    18371837        iso_verif_aberrant, &
     
    18411841#endif
    18421842#ifdef ISOTRAC
    1843     use isotrac_mod, ONLY: option_tmin,option_traceurs,seuil_tag_tmin, &
     1843    USE isotrac_mod, ONLY: option_tmin,option_traceurs,seuil_tag_tmin, &
    18441844&       option_cond,index_zone,izone_cond,index_iso
    1845     use isotrac_routines_mod, ONLY: iso_recolorise_condensation
    1846     use isotopes_routines_mod, ONLY: condiso_liq_ice_vectall_trac
    1847 #ifdef ISOVERIF
    1848     use isotopes_verif_mod, ONLY: iso_verif_trac17_q_deltad,iso_verif_traceur, &
     1845    USE isotrac_routines_mod, ONLY: iso_recolorise_condensation
     1846    USE isotopes_routines_mod, ONLY: condiso_liq_ice_vectall_trac
     1847#ifdef ISOVERIF
     1848    USE isotopes_verif_mod, ONLY: iso_verif_trac17_q_deltad,iso_verif_traceur, &
    18491849&       iso_verif_traceur_justmass
    18501850#endif
     
    18751875  REAL m(nloc, na) ! input of convect3
    18761876#ifdef ISO
    1877       real xt(ntraciso,nloc,na), xtclw(ntraciso,nloc,na)
    1878       real tg_save(nloc,nd)
    1879       real xtnk(ntraciso,nloc)
     1877      REAL xt(ntraciso,nloc,na), xtclw(ntraciso,nloc,na)
     1878      REAL tg_save(nloc,nd)
     1879      REAL xtnk(ntraciso,nloc)
    18801880!      real xtep(ntraciso,nloc,na)
    18811881#endif
     
    18891889  REAL sigij(nloc, nd, nd)
    18901890#ifdef ISO
    1891       real xtent(ntraciso,nloc,nd,nd)
    1892       real xtelij(ntraciso,nloc,nd,nd)     
     1891      REAL xtent(ntraciso,nloc,nd,nd)
     1892      REAL xtelij(ntraciso,nloc,nd,nd)
    18931893#endif
    18941894
     
    19051905  LOGICAL lwork(nloc)
    19061906#ifdef ISO
    1907       integer ixt
    1908       real xtrti(ntraciso,nloc)
    1909       real xtres(ntraciso)
     1907      INTEGER ixt
     1908      REAL xtrti(ntraciso,nloc)
     1909      REAL xtres(ntraciso)
    19101910      ! on ajoute la dimension nloc a xtrti pour verifs dans les tags: 5 fev
    19111911      ! 2010
    1912       real zfice(nloc),zxtliq(ntraciso,nloc),zxtice(ntraciso,nloc)
     1912      REAL zfice(nloc),zxtliq(ntraciso,nloc),zxtice(ntraciso,nloc)
    19131913!      real xt_reduit(ntraciso)
    1914 !      logical negation
     1914!      LOGICAL negation
    19151915!#ifdef ISOVERIF
    19161916!       integer iso_verif_positif_nostop
     
    19241924#ifdef ISOVERIF
    19251925      WRITE(*,*) 'cv30_routines 1820: entree dans cv3_mixing'
    1926       if (iso_eau.gt.0) THEN
     1926      IF (iso_eau.gt.0) THEN
    19271927      CALL iso_verif_egalite_vect2D( &
    19281928                 xtclw,clw, &
     
    20512051         zfice(il) = 1.0-(t(il,j)-pxtice)/(pxtmelt-pxtice)
    20522052         zfice(il) = MIN(MAX(zfice(il),0.0),1.0)       
    2053          IF( (i.ge.icb(il)).and.(i.le.inb(il)).and. &
    2054             (j.ge.(icb(il)-1)).and.(j.le.inb(il)))THEN
     2053         IF( (i.ge.icb(il)).AND.(i.le.inb(il)).AND. &
     2054            (j.ge.(icb(il)-1)).AND.(j.le.inb(il)))THEN
    20552055          do ixt=1,ntraciso
    20562056!           xtrti(ixt)=xt(ixt,il,1)-xtep(ixt,il,i)*xtclw(ixt,il,i) ! le 7 mai: on supprime xtep
    20572057           xtrti(ixt,il)=xt(ixt,il,1)-ep(il,i)*xtclw(ixt,il,i)     
    20582058          enddo
    2059           IF(sij(il,i,j).gt.0.0.and.sij(il,i,j).lt.0.95)THEN
     2059          IF(sij(il,i,j).gt.0.0.AND.sij(il,i,j).lt.0.95)THEN
    20602060! temperature of condensation (within mixtures):
    20612061!          tcond(il)=t(il,j) 
     
    20692069                             +(1.-sij(il,i,j))*xtrti(ixt,il)
    20702070          enddo !do ixt = 1, ntraciso
    2071          endif  !IF(sij(il,i,j).gt.0.0.and.sij(il,i,j).lt.0.95)THEN
    2072         endif !IF( (i.ge.icb(il)).and.(i.le.inb(il)).and.
     2071         endif  !IF(sij(il,i,j).gt.0.0.AND.sij(il,i,j).lt.0.95)THEN
     2072        endif !IF( (i.ge.icb(il)).AND.(i.le.inb(il)).AND.
    20732073       enddo  !do il=1,ncum
    20742074
     
    20832083        do il=1,ncum
    20842084          CALL iso_verif_traceur(xt(1,il,i),'cv30_routines 1967')
    2085           IF( (i.ge.icb(il)).and.(i.le.inb(il)).and. &
    2086             (j.ge.(icb(il)-1)).and.(j.le.inb(il)))THEN
     2085          IF( (i.ge.icb(il)).AND.(i.le.inb(il)).AND. &
     2086            (j.ge.(icb(il)-1)).AND.(j.le.inb(il)))THEN
    20872087          CALL iso_verif_traceur(xtrti(1,il),'cv30_routines 1968')
    2088           endif !IF( (i.ge.icb(il)).and.(i.le.inb(il)).and.
     2088          endif !IF( (i.ge.icb(il)).AND.(i.le.inb(il)).AND.
    20892089          CALL iso_verif_traceur(xtent(1,il,i,j),'cv30_routines 1969')
    20902090         
     
    20992099
    21002100#ifdef ISOVERIF
    2101         if ((j.eq.15).and.(i.eq.15)) THEN
     2101        IF ((j.EQ.15).AND.(i.EQ.15)) THEN
    21022102        il=2722
    2103         if (il.le.ncum) THEN
     2103        IF (il.le.ncum) THEN
    21042104                WRITE(*,*) 'cv30_routines tmp 2194, il,i,j=',il,i,j
    21052105                WRITE(*,*) 'qent,elij=',qent(il,i,j),elij(il,i,j)
     
    21162116!        WRITE(*,*) 'cv30_routines tmp 1987,option_traceurs=',
    21172117!     :           option_traceurs
    2118         if (option_tmin.ge.1) THEN
     2118        IF (option_tmin.ge.1) THEN
    21192119        do il=1,ncum   
    21202120!        WRITE(*,*) 'cv3 tmp 1991 il,i,j,xtent(:,il,i,j),',
     
    21232123        ! colorier la vapeur residuelle selon temperature de
    21242124        ! condensation, et le condensat en un tag spEcifique
    2125           if ((elij(il,i,j).gt.0.0).and.(qent(il,i,j).gt.0.0)) THEN
    2126             if (option_traceurs.eq.17) THEN
     2125          IF ((elij(il,i,j).gt.0.0).AND.(qent(il,i,j).gt.0.0)) THEN
     2126            IF (option_traceurs.EQ.17) THEN
    21272127             CALL iso_recolorise_condensation(qent(il,i,j),elij(il,i,j), &
    21282128                 xtent(1,il,i,j),xtelij(1,il,i,j),t(1,j), &
    21292129                 0.0,xtres, &
    21302130                 seuil_tag_tmin)
    2131             else !if (option_traceurs.eq.17) THEN
     2131            else !if (option_traceurs.EQ.17) THEN
    21322132!             WRITE(*,*) 'cv3 2002: il,i,j  =',il,i,j
    21332133             CALL iso_recolorise_condensation(qent(il,i,j),elij(il,i,j), &
    21342134                 xtent(1,il,i,j),xtelij(1,il,i,j),rs(il,j),0.0,xtres, &
    21352135                 seuil_tag_tmin)
    2136             endif !if (option_traceurs.eq.17) THEN
     2136            endif !if (option_traceurs.EQ.17) THEN
    21372137            do ixt=1+niso,ntraciso
    21382138               xtent(ixt,il,i,j)=xtres(ixt)
     
    21552155!        WRITE(*,*) 'cv30_routines 2050: avant condiso'
    21562156        do il=1,ncum
    2157         if ((i.ge.icb(il)).and.(i.le.inb(il)).and. &
    2158             (j.ge.(icb(il)-1)).and.(j.le.inb(il))) THEN
    2159         if (sij(il,i,j).gt.0.0.and.sij(il,i,j).lt.0.95) THEN
    2160         if (iso_eau.gt.0) THEN
     2157        IF ((i.ge.icb(il)).AND.(i.le.inb(il)).AND. &
     2158            (j.ge.(icb(il)-1)).AND.(j.le.inb(il))) THEN
     2159        IF (sij(il,i,j).gt.0.0.AND.sij(il,i,j).lt.0.95) THEN
     2160        IF (iso_eau.gt.0) THEN
    21612161          CALL iso_verif_egalite_choix(xtent(iso_eau,il,i,j), &
    21622162              qent(il,i,j),'cv30_routines 1889',errmax,errmaxrel)
     
    21642164              elij(il,i,j),'cv30_routines 1890',errmax,errmaxrel)
    21652165        endif
    2166         if (iso_HDO.gt.0) THEN
     2166        IF (iso_HDO.gt.0) THEN
    21672167          CALL iso_verif_aberrant_choix(xt(iso_HDO,il,i),rr(il,i), &
    21682168                  ridicule,deltalim,'cv30_routines 1997')
     
    21822182#endif       
    21832183
    2184         endif !IF(sij(il,i,j).gt.0.0.and.sij(il,i,j).lt.0.95)THEN
    2185         endif !IF( (i.ge.icb(il)).and.(i.le.inb(il)).and.
     2184        endif !IF(sij(il,i,j).gt.0.0.AND.sij(il,i,j).lt.0.95)THEN
     2185        endif !IF( (i.ge.icb(il)).AND.(i.le.inb(il)).AND.
    21862186        enddo !do il=1,ncum
    21872187#endif
     
    21962196    ! do j=minorig,nl
    21972197    ! do il=1,ncum
    2198     ! IF( (i.ge.icb(il)).and.(i.le.inb(il)).and.
    2199     ! :       (j.ge.(icb(il)-1)).and.(j.le.inb(il)))THEN
     2198    ! IF( (i.ge.icb(il)).AND.(i.le.inb(il)).AND.
     2199    ! :       (j.ge.(icb(il)-1)).AND.(j.le.inb(il)))THEN
    22002200    ! traent(il,i,j,k)=sij(il,i,j)*tra(il,i,k)
    22012201    ! :            +(1.-sij(il,i,j))*tra(il,nk(il),k)
    2202     ! endif
     2202    ! END IF
    22032203    ! enddo
    22042204    ! enddo
     
    22162216    DO il = 1, ncum
    22172217      IF ((i>=icb(il)) .AND. (i<=inb(il)) .AND. (nent(il,i)==0)) THEN
    2218         ! @      IF(nent(il,i).eq.0)THEN
     2218        ! @      IF(nent(il,i).EQ.0)THEN
    22192219        ment(il, i, i) = m(il, i)
    22202220        qent(il, i, i) = rr(il, nk(il)) - ep(il, i)*clw(il, i)
     
    22332233
    22342234#ifdef ISOVERIF
    2235        if (iso_eau.gt.0) THEN
     2235       IF (iso_eau.gt.0) THEN
    22362236         CALL iso_verif_egalite_choix(xtelij(iso_eau,il,i,i), &
    22372237               elij(il,i,i),'cv30_mixing 2117',errmax,errmaxrel)
     
    22402240
    22412241#ifdef ISOTRAC         
    2242         if (option_tmin.ge.1) THEN
     2242        IF (option_tmin.ge.1) THEN
    22432243        ! colorier la vapeur residuelle selon temperature de
    22442244        ! condensation, et le condensat en un tag specifique
    22452245!        WRITE(*,*) 'cv3 tmp 2095 il,i,j,xtent(:,il,i,j)=',
    22462246!     :            il,i,j,xtent(:,il,i,j)
    2247           if ((elij(il,i,i).gt.0.0).and.(qent(il,i,i).gt.0.0)) THEN
    2248             if (option_traceurs.eq.17) THEN
     2247          IF ((elij(il,i,i).gt.0.0).AND.(qent(il,i,i).gt.0.0)) THEN
     2248            IF (option_traceurs.EQ.17) THEN
    22492249             CALL iso_recolorise_condensation(qent(il,i,i), &
    22502250                 elij(il,i,i), &
     
    22522252                 xtres, &
    22532253                 seuil_tag_tmin)
    2254             else !if (option_traceurs.eq.17) THEN
     2254            else !if (option_traceurs.EQ.17) THEN
    22552255             CALL iso_recolorise_condensation(qent(il,i,i), &
    22562256                 elij(il,i,i), &
     
    22582258                 xtres, &
    22592259                 seuil_tag_tmin)
    2260             endif !if (option_traceurs.eq.17) THEN
     2260            endif !if (option_traceurs.EQ.17) THEN
    22612261            do ixt=1+niso,ntraciso
    22622262              xtent(ixt,il,i,i)=xtres(ixt)
     
    22882288  ! do i=minorig+1,nl
    22892289  ! do il=1,ncum
    2290   ! if (i.ge.icb(il) .and. i.le.inb(il) .and. nent(il,i).eq.0) THEN
     2290  ! if (i.ge.icb(il) .AND. i.le.inb(il) .AND. nent(il,i).EQ.0) THEN
    22912291  ! traent(il,i,i,j)=tra(il,nk(il),j)
    2292   ! endif
     2292  ! END IF
    22932293  ! enddo
    22942294  ! enddo
     
    24662466
    24672467#ifdef ISOVERIF
    2468       if (iso_eau.gt.0) THEN
     2468      IF (iso_eau.gt.0) THEN
    24692469        CALL iso_verif_egalite_choix(xtelij(iso_eau,il,i,i), &
    24702470               elij(il,i,i),'cv30_mixing 2354',errmax,errmaxrel)
     
    24732473
    24742474#ifdef ISOTRAC         
    2475         if (option_tmin.ge.1) THEN
     2475        IF (option_tmin.ge.1) THEN
    24762476        ! colorier la vapeur residuelle selon temperature de
    24772477        ! condensation, et le condensat en un tag specifique
    24782478!        WRITE(*,*) 'cv3 tmp 2314 il,i,j,xtent(:,il,i,j)=',
    24792479!     :            il,i,j,xtent(:,il,i,j)
    2480           if ((elij(il,i,i).gt.0.0).and.(qent(il,i,i).gt.0.0)) THEN
    2481             if (option_traceurs.eq.17) THEN
     2480          IF ((elij(il,i,i).gt.0.0).AND.(qent(il,i,i).gt.0.0)) THEN
     2481            IF (option_traceurs.EQ.17) THEN
    24822482              CALL iso_recolorise_condensation(qent(il,i,i), &
    24832483                 elij(il,i,i), &
     
    24852485                 xtres, &
    24862486                 seuil_tag_tmin)
    2487             else !if (option_traceurs.eq.17) THEN
     2487            else !if (option_traceurs.EQ.17) THEN
    24882488              CALL iso_recolorise_condensation(qent(il,i,i), &
    24892489                 elij(il,i,i), &
     
    24912491                 xtres, &
    24922492                 seuil_tag_tmin)
    2493             endif ! if (option_traceurs.eq.17) THEN
     2493            endif ! if (option_traceurs.EQ.17) THEN
    24942494            do ixt=1+niso,ntraciso
    24952495              xtent(ixt,il,i,i)=xtres(ixt)
     
    25172517    ! do j=1,ntra
    25182518    ! do il=1,ncum
    2519     ! if ( i.ge.icb(il) .and. i.le.inb(il) .and. lwork(il)
    2520     ! :     .and. csum(il,i).lt.m(il,i) ) THEN
     2519    ! if ( i.ge.icb(il) .AND. i.le.inb(il) .AND. lwork(il)
     2520    ! :     .AND. csum(il,i).lt.m(il,i) ) THEN
    25212521    ! traent(il,i,i,j)=tra(il,nk(il),j)
    2522     ! endif
     2522    ! END IF
    25232523    ! enddo
    25242524    ! enddo
     
    25602560       do jm = 1, nd
    25612561        do il = 1, ncum
    2562           if (iso_eau.gt.0) THEN
     2562          IF (iso_eau.gt.0) THEN
    25632563            CALL iso_verif_egalite_choix(xtelij(iso_eau,il,im,jm), &
    25642564               elij(il,im,jm),'cv30_mixing 2110',errmax,errmaxrel)
     
    25792579#ifdef ISOTRAC
    25802580        ! seulement a la fin on taggue le condensat
    2581         if (option_cond.ge.1) THEN
     2581        IF (option_cond.ge.1) THEN
    25822582         do im = 1, nd
    25832583         do jm = 1, nd
     
    25852585           ! colorier le condensat en un tag specifique
    25862586           do ixt=niso+1,ntraciso
    2587              if (index_zone(ixt).eq.izone_cond) THEN
     2587             IF (index_zone(ixt).EQ.izone_cond) THEN
    25882588                xtelij(ixt,il,im,jm)=xtelij(index_iso(ixt),il,im,jm)
    2589              else !if (index_zone(ixt).eq.izone_cond) THEN
     2589             else !if (index_zone(ixt).EQ.izone_cond) THEN
    25902590                xtelij(ixt,il,im,jm)=0.0
    2591              endif !if (index_zone(ixt).eq.izone_cond) THEN
     2591             endif !if (index_zone(ixt).EQ.izone_cond) THEN
    25922592           enddo !do ixt=1,ntraciso     
    25932593#ifdef ISOVERIF
     
    26042604           ! colorier le condensat en un tag specifique
    26052605           do ixt=niso+1,ntraciso
    2606              if (index_zone(ixt).eq.izone_cond) THEN
     2606             IF (index_zone(ixt).EQ.izone_cond) THEN
    26072607                xtclw(ixt,il,im)=xtclw(index_iso(ixt),il,im)
    2608              else !if (index_zone(ixt).eq.izone_cond) THEN
     2608             else !if (index_zone(ixt).EQ.izone_cond) THEN
    26092609                xtclw(ixt,il,im)=0.0
    2610              endif !if (index_zone(ixt).eq.izone_cond) THEN
     2610             endif !if (index_zone(ixt).EQ.izone_cond) THEN
    26112611           enddo !do ixt=1,ntraciso     
    26122612#ifdef ISOVERIF
     
    26152615        CALL iso_verif_traceur(xtclw(1,il,im), &
    26162616                'condiso_liq_ice_vectiso_trac 358')
    2617         if (iso_verif_positif_nostop(xtclw(itZonIso( &
     2617        IF (iso_verif_positif_nostop(xtclw(itZonIso( &
    26182618                 izone_cond,iso_eau),i,k)-xtclw(iso_eau,i,k) &
    2619                  ,'cv30_routines 909').eq.1) THEN
     2619                 ,'cv30_routines 909').EQ.1) THEN
    26202620               WRITE(*,*) 'i,k=',i,k
    26212621               WRITE(*,*) 'xtclw=',xtclw(:,i,k)
     
    26282628         enddo !do im = 1, nd
    26292629!         WRITE(*,*) 'xtclw(:,1,2)=',xtclw(:,1,2)
    2630         endif !if (option_tmin.eq.1) THEN
     2630        endif !if (option_tmin.EQ.1) THEN
    26312631#endif
    26322632#endif
     
    26462646                )
    26472647#ifdef ISO
    2648     use infotrac_phy, ONLY: ntraciso=>ntiso, niso
    2649     use isotopes_mod, ONLY: essai_convergence, iso_eau,iso_HDO,ridicule
    2650     use isotopes_routines_mod, ONLY: appel_stewart_vectall,appel_stewart_debug
    2651 #ifdef ISOVERIF
    2652     use isotopes_verif_mod, ONLY: errmax,errmaxrel, &
     2648    USE infotrac_phy, ONLY: ntraciso=>ntiso, niso
     2649    USE isotopes_mod, ONLY: essai_convergence, iso_eau,iso_HDO,ridicule
     2650    USE isotopes_routines_mod, ONLY: appel_stewart_vectall,appel_stewart_debug
     2651#ifdef ISOVERIF
     2652    USE isotopes_verif_mod, ONLY: errmax,errmaxrel, &
    26532653        iso_verif_egalite_choix, iso_verif_noNaN,iso_verif_aberrant, &
    26542654        iso_verif_egalite,iso_verif_egalite_choix_nostop,iso_verif_positif_nostop, &
     
    26572657#endif
    26582658#ifdef ISOTRAC
    2659     use isotrac_mod, ONLY: option_cond,izone_cond
    2660     use infotrac_phy, ONLY: itZonIso
    2661 #ifdef ISOVERIF
    2662     use isotopes_verif_mod, ONLY: iso_verif_traceur_justmass, &
     2659    USE isotrac_mod, ONLY: option_cond,izone_cond
     2660    USE infotrac_phy, ONLY: itZonIso
     2661#ifdef ISOVERIF
     2662    USE isotopes_verif_mod, ONLY: iso_verif_traceur_justmass, &
    26632663&       iso_verif_traceur
    2664     use isotrac_routines_mod, ONLY: iso_verif_traceur_pbidouille
     2664    USE isotrac_routines_mod, ONLY: iso_verif_traceur_pbidouille
    26652665#endif
    26662666#endif
     
    26872687  REAL m(nloc, na), ment(nloc, na, na), elij(nloc, na, na)
    26882688#ifdef ISO
    2689       real xt(ntraciso,nloc,nd), xtclw(ntraciso,nloc,na)
    2690       real xtelij(ntraciso,nloc,na,na)
     2689      REAL xt(ntraciso,nloc,nd), xtclw(ntraciso,nloc,na)
     2690      REAL xtelij(ntraciso,nloc,na,na)
    26912691!      real xtep(ntraciso,nloc,na) ! le 7 mai: on supprime xtep
    26922692#endif
     
    27042704
    27052705#ifdef ISO
    2706       real xtp(ntraciso,nloc,na)
    2707       real xtwater(ntraciso,nloc,na), xtevap(ntraciso,nloc,na)
    2708       real xtwdtraina(ntraciso,nloc,na)
     2706      REAL xtp(ntraciso,nloc,na)
     2707      REAL xtwater(ntraciso,nloc,na), xtevap(ntraciso,nloc,na)
     2708      REAL xtwdtraina(ntraciso,nloc,na)
    27092709#endif
    27102710
     
    27212721
    27222722#ifdef ISO
    2723       integer ixt
    2724       real xtawat(ntraciso)
     2723      INTEGER ixt
     2724      REAL xtawat(ntraciso)
    27252725  REAL xtwdtrain(ntraciso,nloc)
    2726 !      logical negation
    2727       real rpprec(nloc,na)
     2726!      LOGICAL negation
     2727      REAL rpprec(nloc,na)
    27282728!#ifdef ISOVERIF
    27292729!      integer iso_verif_aberrant_nostop
     
    28522852!--debug:
    28532853#ifdef ISOVERIF
    2854             if (iso_eau.gt.0) THEN
     2854            IF (iso_eau.gt.0) THEN
    28552855              CALL iso_verif_egalite_choix(xtwdtrain(iso_eau,il), &
    28562856                 wdtrain(il),'cv30_routines 2313',errmax,errmaxrel)
     
    28862886#ifdef ISO
    28872887! precip mixed drafts computed from: xtawat/xtelij = awat/elij           
    2888             if (elij(il,j,i).ne.0.0) THEN
     2888            IF (elij(il,j,i).NE.0.0) THEN
    28892889             do ixt=1,ntraciso
    28902890               xtawat(ixt)=xtelij(ixt,il,j,i)*(awat/elij(il,j,i))
     
    28992899
    29002900#ifdef ISOVERIF
    2901               if (iso_eau.gt.0) THEN
     2901              IF (iso_eau.gt.0) THEN
    29022902                  CALL iso_verif_egalite_choix(xtawat(iso_eau), &
    29032903                 awat,'cv30_routines 2391',errmax,errmaxrel)
     
    29282928!--debug:
    29292929#ifdef ISOVERIF
    2930               if (iso_eau.gt.0) THEN
     2930              IF (iso_eau.gt.0) THEN
    29312931                  CALL iso_verif_egalite_choix(xtwdtrain(iso_eau,il), &
    29322932                 wdtrain(il),'cv30_routines 2366',errmax,errmaxrel)
     
    29342934#ifdef ISOTRAC
    29352935        CALL iso_verif_traceur(xtwdtrain(1,il),'cv30_routine 2540')
    2936         if (option_cond.ge.1) THEN
     2936        IF (option_cond.ge.1) THEN
    29372937           ! on verifie que tout le detrainement est tagge condensat
    2938            if (iso_verif_positif_nostop( &
     2938           IF (iso_verif_positif_nostop( &
    29392939                xtwdtrain(itZonIso(izone_cond,iso_eau),il) &
    29402940                -xtwdtrain(iso_eau,il), &
    2941                 'cv30_routines 2795').eq.1) THEN
     2941                'cv30_routines 2795').EQ.1) THEN
    29422942          WRITE(*,*) 'xtwdtrain(:,il)=',xtwdtrain(:,il)
    29432943          WRITE(*,*) 'xtelij(:,il,j,i)=',xtelij(:,il,j,i)
     
    31213121          END IF
    31223122
    3123         END IF ! i.eq.1
     3123        END IF ! i.EQ.1
    31243124
    31253125        ! ***       find mixing ratio of precipitating downdraft     ***
     
    31913191!        WRITE(*,*) 'cv30_routines 2842 tmp: appel de appel_stewart'
    31923192      do il=1,ncum
    3193        if (i.le.inb(il) .and. lwork(il)) THEN
    3194          if (iso_eau.gt.0) THEN
     3193       IF (i.le.inb(il) .AND. lwork(il)) THEN
     3194         IF (iso_eau.gt.0) THEN
    31953195            CALL iso_verif_egalite_choix(xt(iso_eau,il,i), &
    31963196              rr(il,i),'appel_stewart 262, cas 1.1',errmax,errmaxrel)
     
    32083208#endif
    32093209
    3210         if (1.eq.0) THEN
     3210        IF (1.EQ.0) THEN
    32113211        ! appel de appel_stewart_vectorise
    32123212        CALL appel_stewart_vectall(lwork,ncum, &
     
    32203220                na,nd,nloc,cvflag_grav,ginv,1e-16)
    32213221
    3222         else !if (1.eq.0) THEN
     3222        else !if (1.EQ.0) THEN
    32233223          ! truc simple sans fractionnement
    32243224          ! juste pour debuggage
     
    32263226                evap,water,rpprec,rr,wdtrain, &
    32273227                xtevap,xtwater,xtp,xt,xtwdtrain)
    3228         endif ! if (1.eq.0) THEN
     3228        endif ! if (1.EQ.0) THEN
    32293229#ifdef ISOVERIF
    32303230!        WRITE(*,*) 'cv30_routines 2864 tmp: sortie de appel_stewart'
    32313231! verif des outputs de appel stewart
    32323232       do il=1,ncum
    3233         if (i.le.inb(il) .and. lwork(il)) THEN
     3233        IF (i.le.inb(il) .AND. lwork(il)) THEN
    32343234         do ixt=1,ntraciso       
    32353235          CALL iso_verif_noNAN(xtp(ixt,il,i),'cv30_unsat 3382')
     
    32373237          CALL iso_verif_noNAN(xtevap(ixt,il,i),'cv30_unsat 2661')
    32383238         enddo 
    3239          if (iso_eau.gt.0) THEN
     3239         IF (iso_eau.gt.0) THEN
    32403240          CALL iso_verif_egalite_choix(xtp(iso_eau,il,i), &
    32413241                 rpprec(il,i),'cv30_unsat 2736',errmax,errmaxrel)
     
    32473247                 evap(il,i),'cv30_unsat 2751',errmax,errmaxrel)
    32483248         endif !if (iso_eau.gt.0) THEN
    3249          if ((iso_HDO.gt.0).and. &
     3249         IF ((iso_HDO.gt.0).AND. &
    32503250                 (rp(il,i).gt.ridicule)) THEN
    32513251           CALL iso_verif_aberrant(xtp(iso_HDO,il,i)/rpprec(il,i), &
    32523252                        'cv3unsat 2756')
    3253            endif !if ((iso_HDO.gt.0).and.
     3253           endif !if ((iso_HDO.gt.0).AND.
    32543254#ifdef ISOTRAC
    3255 !        if (il.eq.602) THEN
     3255!        if (il.EQ.602) THEN
    32563256!        WRITE(*,*) 'cv30_routine tmp: il,i=',il,i
    32573257!        WRITE(*,*) 'xtp(iso_eau:ntraciso:3,il,i)=',
     
    32723272!        endif !if (option_tmin.ge.1) THEN
    32733273#endif             
    3274         endif !if (i.le.inb(il) .and. lwork(il)) THEN
     3274        endif !if (i.le.inb(il) .AND. lwork(il)) THEN
    32753275       enddo !do il=1,ncum
    32763276#endif
     
    32783278! equivalent isotopique de rp(il,i)=amin1(rp(il,i),rs(il,i))
    32793279       do il=1,ncum
    3280         if (i.lt.inb(il) .and. lwork(il)) THEN
    3281          if (rpprec(il,i).gt.rs(il,i)) THEN
    3282             if (rs(il,i).le.0) THEN
     3280        IF (i.lt.inb(il) .AND. lwork(il)) THEN
     3281         IF (rpprec(il,i).gt.rs(il,i)) THEN
     3282            IF (rs(il,i).le.0) THEN
    32833283                WRITE(*,*) 'cv3unsat 2640'
    32843284                stop
     
    32923292           CALL iso_verif_noNaN(xtp(ixt,il,i),'cv3unsat 2641')
    32933293           enddo !do ixt=1,niso
    3294            if (iso_eau.gt.0) THEN
     3294           IF (iso_eau.gt.0) THEN
    32953295!             WRITE(*,*) 'xtp(iso_eau,il,i)=',xtp(iso_eau,il,i)
    32963296             CALL iso_verif_egalite_choix(xtp(iso_eau,il,i),rp(il,i), &
     
    32993299                  rs(il,i),'cv3unsat 2654',errmax,errmaxrel)
    33003300           endif 
    3301            if ((iso_HDO.gt.0).and. &
     3301           IF ((iso_HDO.gt.0).AND. &
    33023302                 (rp(il,i).gt.ridicule)) THEN
    3303              if (iso_verif_aberrant_nostop(xtp(iso_HDO,il,i)/rp(il,i), &
    3304                         'cv3unsat 2658').eq.1) THEN
     3303             IF (iso_verif_aberrant_nostop(xtp(iso_HDO,il,i)/rp(il,i), &
     3304                        'cv3unsat 2658').EQ.1) THEN
    33053305                WRITE(*,*) 'rpprec(il,i),rs(il,i),rp(il,i)=', &
    33063306                         rpprec(il,i),rs(il,i),rp(il,i)
     
    33273327      do i=1,nl !nl
    33283328        do il=1,ncum
    3329         if (iso_eau.gt.0) THEN
     3329        IF (iso_eau.gt.0) THEN
    33303330!            WRITE(*,*) 'cv30_routines 2767:i,il,lwork(il),inb(il)=',
    33313331!     :           i,il,lwork(il),inb(il)
     
    33423342!        if (iso_verif_traceur_choix_nostop(xtwater(1,il,i),
    33433343!     :       'cv30_routine 2982 unsat',errmax,
    3344 !     :       errmaxrel,ridicule_trac,deltalimtrac).eq.1) THEN
     3344!     :       errmaxrel,ridicule_trac,deltalimtrac).EQ.1) THEN
    33453345!              WRITE(*,*) 'il,i,inb(il),lwork(il)=',
    33463346!     :           il,i,inb(il),lwork(il)
     
    33763376                          )
    33773377#ifdef ISO
    3378     use infotrac_phy, ONLY: ntraciso=>ntiso, niso, nzone, itZonIso
    3379     use isotopes_mod, ONLY: essai_convergence,ridicule,iso_eau,iso_HDO,iso_O18
    3380 #ifdef ISOVERIF
    3381     use isotopes_verif_mod, ONLY: errmax,errmaxrel, &
     3378    USE infotrac_phy, ONLY: ntraciso=>ntiso, niso, nzone, itZonIso
     3379    USE isotopes_mod, ONLY: essai_convergence,ridicule,iso_eau,iso_HDO,iso_O18
     3380#ifdef ISOVERIF
     3381    USE isotopes_verif_mod, ONLY: errmax,errmaxrel, &
    33823382        iso_verif_egalite_choix, iso_verif_noNaN,iso_verif_aberrant, &
    33833383        iso_verif_egalite,iso_verif_egalite_choix_nostop,iso_verif_positif_nostop, &
     
    33883388#endif
    33893389#ifdef ISOTRAC
    3390         use isotrac_mod, ONLY: option_traceurs, &
     3390        USE isotrac_mod, ONLY: option_traceurs, &
    33913391        izone_revap,izone_poubelle,izone_ddft
    33923392#ifdef ISOVERIF
    3393     use isotopes_verif_mod, ONLY: iso_verif_traceur_choix_nostop,deltalimtrac, &
     3393    USE isotopes_verif_mod, ONLY: iso_verif_traceur_choix_nostop,deltalimtrac, &
    33943394&       iso_verif_tracpos_choix_nostop,iso_verif_traceur,iso_verif_traceur_justmass
    3395     use isotrac_mod, ONLY: ridicule_trac
     3395    USE isotrac_mod, ONLY: ridicule_trac
    33963396#endif
    33973397#endif
     
    34243424  REAL tv(nloc, nd), tvp(nloc, nd)
    34253425#ifdef ISO
    3426       real xt(ntraciso,nloc,nd)
     3426      REAL xt(ntraciso,nloc,nd)
    34273427!      real xtep(ntraciso,nloc,na) ! le 7 mai: on supprime xtep
    3428       real xtclw(ntraciso,nloc,na), xtp(ntraciso,nloc,na)
    3429       real xtwater(ntraciso,nloc,na), xtevap(ntraciso,nloc,na)
    3430       real xtent(ntraciso,nloc,na,na), xtelij(ntraciso,nloc,na,na)
     3428      REAL xtclw(ntraciso,nloc,na), xtp(ntraciso,nloc,na)
     3429      REAL xtwater(ntraciso,nloc,na), xtevap(ntraciso,nloc,na)
     3430      REAL xtent(ntraciso,nloc,na,na), xtelij(ntraciso,nloc,na,na)
    34313431#ifdef ISOVERIF     
    34323432      CHARACTER (LEN=20) :: modname='cv30_compress'
     
    34493449  REAL wd(nloc) ! gust
    34503450#ifdef ISO
    3451       real xtprecip(ntraciso,nloc), fxt(ntraciso,nloc,nd)
    3452       real xtVprecip(ntraciso,nloc,nd+1)
     3451      REAL xtprecip(ntraciso,nloc), fxt(ntraciso,nloc,nd)
     3452      REAL xtVprecip(ntraciso,nloc,nd+1)
    34533453#endif
    34543454
     
    34663466  REAL siga(nloc, nd), sax(nloc, nd), mac(nloc, nd) ! cld
    34673467#ifdef ISO
    3468       integer ixt
    3469       real xtbx(ntraciso), xtawat(ntraciso)
     3468      INTEGER ixt
     3469      REAL xtbx(ntraciso), xtawat(ntraciso)
    34703470      ! cam debug
    34713471      ! pour l'homogeneisation sous le nuage:
    3472       real frsum(nloc), bxtsum(ntraciso,nloc), fxtsum(ntraciso,nloc)
     3472      REAL frsum(nloc), bxtsum(ntraciso,nloc), fxtsum(ntraciso,nloc)
    34733473      ! correction dans calcul tendance liee a Am:
    3474       real dq_tmp,k_tmp,dx_tmp,R_tmp,dqreste_tmp,dxreste_tmp,kad_tmp
    3475       logical correction_excess_aberrant
     3474      REAL dq_tmp,k_tmp,dx_tmp,R_tmp,dqreste_tmp,dxreste_tmp,kad_tmp
     3475      LOGICAL correction_excess_aberrant
    34763476      parameter (correction_excess_aberrant=.FALSE.)
    34773477        ! correction qui permettait d'eviter deltas et dexcess aberrants. Mais
     
    34793479#ifdef DIAGISO
    34803480        ! diagnostiques juste: tendance des differents processus
    3481       real fxt_detrainement(ntraciso,nloc,nd)
    3482       real fxt_fluxmasse(ntraciso,nloc,nd)
    3483       real fxt_evapprecip(ntraciso,nloc,nd)
    3484       real fxt_ddft(ntraciso,nloc,nd)
    3485       real fq_detrainement(nloc,nd)
    3486       real q_detrainement(nloc,nd)
    3487       real xt_detrainement(ntraciso,nloc,nd)
    3488       real f_detrainement(nloc,nd)
    3489       real fq_fluxmasse(nloc,nd)
    3490       real fq_evapprecip(nloc,nd)
    3491       real fq_ddft(nloc,nd)
     3481      REAL fxt_detrainement(ntraciso,nloc,nd)
     3482      REAL fxt_fluxmasse(ntraciso,nloc,nd)
     3483      REAL fxt_evapprecip(ntraciso,nloc,nd)
     3484      REAL fxt_ddft(ntraciso,nloc,nd)
     3485      REAL fq_detrainement(nloc,nd)
     3486      REAL q_detrainement(nloc,nd)
     3487      REAL xt_detrainement(ntraciso,nloc,nd)
     3488      REAL f_detrainement(nloc,nd)
     3489      REAL fq_fluxmasse(nloc,nd)
     3490      REAL fq_evapprecip(nloc,nd)
     3491      REAL fq_ddft(nloc,nd)
    34923492#endif     
    34933493!#ifdef ISOVERIF
     
    34983498!      integer iso_verif_traceur_choix_nostop
    34993499!      integer iso_verif_tracpos_choix_nostop
    3500       real xtnew(ntraciso)
     3500      REAL xtnew(ntraciso)
    35013501!      real conversion(niso)
    3502       real fxtYe(niso)
    3503       real fxtqe(niso)
    3504       real fxtXe(niso)
    3505       real fxt_revap(niso)
    3506       real Xe(niso)
    3507       integer ixt_revap,izone
    3508       integer ixt_poubelle, ixt_ddft,iiso
     3502      REAL fxtYe(niso)
     3503      REAL fxtqe(niso)
     3504      REAL fxtXe(niso)
     3505      REAL fxt_revap(niso)
     3506      REAL Xe(niso)
     3507      INTEGER ixt_revap,izone
     3508      INTEGER ixt_poubelle, ixt_ddft,iiso
    35093509#endif
    35103510#endif
     
    35963596         ! cam verif
    35973597#ifdef ISOVERIF
    3598           if (iso_eau.gt.0) THEN
     3598          IF (iso_eau.gt.0) THEN
    35993599!              WRITE(*,*) 'cv30_yield 2952: '//
    36003600!     :           'il,water(il,1),xtwater(iso_eau,il,1)='
     
    36123612        CALL iso_verif_traceur(xtwater(1,il,1), &
    36133613             'cv30_routine 3146')
    3614         if (iso_verif_traceur_choix_nostop(xtprecip(1,il), &
     3614        IF (iso_verif_traceur_choix_nostop(xtprecip(1,il), &
    36153615                 'cv30_routine 3147',errmax*1e2, &
    3616              errmaxrel,ridicule_trac,deltalimtrac).eq.1) THEN
     3616             errmaxrel,ridicule_trac,deltalimtrac).EQ.1) THEN
    36173617          WRITE(*,*) 'il,inb(il)=',il,inb(il)
    36183618          WRITE(*,*) 'xtwater(:,il,1)=',xtwater(:,il,1)
     
    36333633         ! cam verif
    36343634#ifdef ISOVERIF         
    3635           if (iso_eau.gt.0) THEN
     3635          IF (iso_eau.gt.0) THEN
    36363636              CALL iso_verif_egalite_choix(xtprecip(iso_eau,il), &
    36373637                 precip(il),'cv30_routines 3139', &
     
    37953795        ! calcule R_tmp.
    37963796        dq_tmp=0.01*grav*am(il)*(rr(il,2)-rr(il,1))*work(il)*delt ! utile ci-dessous
    3797         if ((dq_tmp/rr(il,1).lt.-0.9).and.correction_excess_aberrant) THEN
     3797        IF ((dq_tmp/rr(il,1).lt.-0.9).AND.correction_excess_aberrant) THEN
    37983798                ! nouvelle formulation ou on fait d'abord entrer k*q2 et ensuite
    37993799                ! seulement on fait sortir k*q1 sans changement de composition
     
    38103810                       + dx_tmp/delt
    38113811#ifdef ISOVERIF
    3812                 if (ixt.eq.iso_HDO) THEN
     3812                IF (ixt.EQ.iso_HDO) THEN
    38133813                WRITE(*,*) 'cv30_routines 3888: il=',il
    38143814                WRITE(*,*) 'dq_tmp,rr(il,1)=',dq_tmp,rr(il,1)
     
    38243824                WRITE(*,*) 'formule classique: fxt_Am=',0.01*grav*am(il)*(xt(ixt,il,2)-xt(ixt,il,1))*work(il)
    38253825                WRITE(*,*) 'donnerait dxt=',0.01*grav*am(il)*(xt(ixt,il,2)-xt(ixt,il,1))*work(il)*delt
    3826                 endif !if (ixt.eq.iso_HDO) THEN
     3826                endif !if (ixt.EQ.iso_HDO) THEN
    38273827#endif
    38283828#ifdef DIAGISO
    3829                 if (ixt.le.niso) THEN
     3829                IF (ixt.le.niso) THEN
    38303830                        fxt_fluxmasse(ixt,il,1)=fxt_fluxmasse(ixt,il,1) &
    38313831                       + dx_tmp/delt
     
    38403840             +0.01*grav*am(il)*(xt(ixt,il,2)-xt(ixt,il,1))*work(il)
    38413841#ifdef DIAGISO
    3842                 if (ixt.le.niso) THEN
     3842                IF (ixt.le.niso) THEN
    38433843                fxt_fluxmasse(ixt,il,1)=fxt_fluxmasse(ixt,il,1) &
    38443844            +0.01*grav*am(il)*(xt(ixt,il,2)-xt(ixt,il,1))*work(il)
     
    38493849       ! cam verif
    38503850#ifdef ISOVERIF
    3851           if (iso_eau.gt.0) THEN
     3851          IF (iso_eau.gt.0) THEN
    38523852              CALL iso_verif_egalite_choix(fxt(iso_eau,il,1), &
    38533853                 fr(il,1),'cv30_routines 3251', &
     
    38553855          endif !if (iso_eau.gt.0) THEN
    38563856          !WRITE(*,*) 'il,am(il)=',il,am(il)
    3857           if ((iso_HDO.gt.0).and. &
     3857          IF ((iso_HDO.gt.0).AND. &
    38583858                 (rr(il,1)+delt*fr(il,1).gt.ridicule)) THEN
    3859             if (iso_verif_aberrant_enc_nostop((xt(iso_HDO,il,1) &
     3859            IF (iso_verif_aberrant_enc_nostop((xt(iso_HDO,il,1) &
    38603860              +delt*fxt(iso_HDO,il,1))/(rr(il,1)+delt*fr(il,1)), &
    3861                  'cv30_yield 3125, ddft en 1').eq.1) THEN
     3861                 'cv30_yield 3125, ddft en 1').EQ.1) THEN
    38623862                WRITE(*,*) 'il,rr(il,1),delt=',il,rr(il,1),delt
    38633863                WRITE(*,*) 'deltaDxt=',deltaD(xt(iso_HDO,il,1)/rr(il,1))
     
    38813881          xtnew(ixt)=xt(ixt,il,1)+delt*fxt(ixt,il,1)
    38823882        enddo
    3883         if (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 3395',1e-5) &
    3884                  .eq.1) THEN
     3883        IF (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 3395',1e-5) &
     3884                 .EQ.1) THEN
    38853885              WRITE(*,*) 'il=',il
    38863886              WRITE(*,*) 'delt,fxt(:,il,1)=',delt,fxt(:,il,1)
     
    39433943       ! cam verif
    39443944#ifdef ISOVERIF         
    3945          if (iso_eau.gt.0) THEN
     3945         IF (iso_eau.gt.0) THEN
    39463946              CALL iso_verif_egalite_choix(fxt(iso_eau,il,1), &
    39473947                 fr(il,1),'cv30_routines 3023', &
    39483948                 errmax,errmaxrel)
    39493949          endif !if (iso_eau.gt.0) THEN
    3950           if ((iso_HDO.gt.0).and. &
     3950          IF ((iso_HDO.gt.0).AND. &
    39513951                 (rr(il,1)+delt*fr(il,1).gt.ridicule)) THEN
    39523952           CALL iso_verif_aberrant_encadre((xt(iso_HDO,il,1) &
     
    39613961          xtnew(ixt)=xt(ixt,il,1)+delt*fxt(ixt,il,1)
    39623962        enddo
    3963         if (iso_verif_tracpos_choix_nostop(xtnew, &
     3963        IF (iso_verif_tracpos_choix_nostop(xtnew, &
    39643964                 'cv30_yield 3449',1e-5) &
    3965                  .eq.1) THEN
     3965                 .EQ.1) THEN
    39663966              WRITE(*,*) 'il=',il
    39673967              WRITE(*,*) 'delt,fxt(:,il,1)=',delt,fxt(:,il,1)
     
    39913991  ! :                     *(mp(il,2)*(trap(il,2,j)-tra(il,1,j))
    39923992  ! :             +am(il)*(tra(il,2,j)-tra(il,1,j)))
    3993   ! endif
     3993  ! END IF
    39943994  ! enddo
    39953995  ! enddo
     
    40294029       ! cam verif
    40304030#ifdef ISOVERIF
    4031           if (iso_eau.gt.0) THEN
     4031          IF (iso_eau.gt.0) THEN
    40324032              CALL iso_verif_egalite_choix(fxt(iso_eau,il,1), &
    40334033                 fr(il,1),'cv30_routines 3251',errmax,errmaxrel)
    40344034          endif !if (iso_eau.gt.0) THEN
    4035           if ((iso_HDO.gt.0).and. &
     4035          IF ((iso_HDO.gt.0).AND. &
    40364036                 (rr(il,1)+delt*fr(il,1).gt.ridicule)) THEN
    40374037           CALL iso_verif_aberrant_encadre((xt(iso_HDO,il,1) &
     
    40444044          xtnew(ixt)=xt(ixt,il,1)+delt*fxt(ixt,il,1)
    40454045        enddo
    4046         if (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 3525',1e-5) &
    4047                  .eq.1) THEN
     4046        IF (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 3525',1e-5) &
     4047                 .EQ.1) THEN
    40484048              WRITE(*,*) 'il=',il
    40494049              WRITE(*,*) 'delt,fxt(:,il,1)=',delt,fxt(:,il,1)
     
    40894089       ! cam verif
    40904090#ifdef ISOVERIF
    4091           if (iso_eau.gt.0) THEN
     4091          IF (iso_eau.gt.0) THEN
    40924092              CALL iso_verif_egalite_choix(fxt(iso_eau,il,1), &
    40934093                 fr(il,1),'cv30_routines 3092',errmax,errmaxrel)
    40944094          endif !if (iso_eau.gt.0) THEN
    4095           if ((iso_HDO.gt.0).and. &
     4095          IF ((iso_HDO.gt.0).AND. &
    40964096                 (rr(il,1)+delt*fr(il,1).gt.ridicule)) THEN
    40974097           CALL iso_verif_aberrant_encadre((xt(iso_HDO,il,1) &
     
    41044104          xtnew(ixt)=xt(ixt,il,1)+delt*fxt(ixt,il,1)
    41054105        enddo
    4106         if (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 3753',1e-5) &
    4107                  .eq.1) THEN
     4106        IF (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 3753',1e-5) &
     4107                 .EQ.1) THEN
    41084108              WRITE(*,*) 'il=',il
    41094109        endif
     
    41284128  ! ftra(il,1,k)=ftra(il,1,k)+0.1*work(il)*ment(il,j,1)
    41294129  ! :                *(traent(il,j,1,k)-tra(il,1,k))
    4130   ! endif
    4131 
    4132   ! endif
     4130  ! END IF
     4131
     4132  ! END IF
    41334133  ! enddo
    41344134  ! enddo
     
    42454245                 -ad(il)*(rr(il,i)-rr(il,i-1)))*delt
    42464246       ! c'est equivalent a dqi= kamp1*qip1+kad*qim1-(kamp1+kad)*qi
    4247        if ((dq_tmp/rr(il,i).lt.-0.9).and.correction_excess_aberrant) THEN
     4247       IF ((dq_tmp/rr(il,i).lt.-0.9).AND.correction_excess_aberrant) THEN
    42484248        ! nouvelle formulation
    42494249        k_tmp=0.01*grav*dpinv*amp1(il)*delt
     
    42554255            fxt(ixt,il,i)= dx_tmp/delt
    42564256#ifdef ISOVERIF
    4257                 if ((ixt.eq.iso_HDO).or.(ixt.eq.iso_eau)) THEN
     4257                IF ((ixt.EQ.iso_HDO).OR.(ixt.EQ.iso_eau)) THEN
    42584258                WRITE(*,*) 'cv30_routines 4367: il,i,ixt=',il,i,ixt
    42594259                WRITE(*,*) 'dq_tmp,rr(il,i)=',dq_tmp,rr(il,i)
     
    42684268                         xt(ixt,il,i)+fxt(ixt,il,i)*delt
    42694269                WRITE(*,*) 'fxt(:,il,i)=',fxt(:,il,i)
    4270                 endif !if (ixt.eq.iso_HDO) THEN
     4270                endif !if (ixt.EQ.iso_HDO) THEN
    42714271#endif
    42724272        enddo ! do ixt = 1, ntraciso 
     
    42934293       ! cam verif
    42944294#ifdef ISOVERIF
    4295         if (iso_eau.gt.0) THEN
     4295        IF (iso_eau.gt.0) THEN
    42964296              CALL iso_verif_egalite_choix(fxt(iso_eau,il,i), &
    42974297                 fr(il,i),'cv30_routines 3226',errmax,errmaxrel)
     
    43004300            CALL iso_verif_noNAN(fxt(ixt,il,i),'cv30_routines 3229')
    43014301        enddo
    4302         if ((iso_HDO.gt.0).and. &
     4302        IF ((iso_HDO.gt.0).AND. &
    43034303                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    43044304         CALL iso_verif_aberrant_encadre((xt(iso_HDO,il,i) &
     
    43074307                 'cv30_yield 3384, flux masse')
    43084308        endif !if (iso_HDO.gt.0) THEN
    4309         if ((iso_HDO.gt.0).and.(iso_O18.gt.0).and. &
     4309        IF ((iso_HDO.gt.0).AND.(iso_O18.gt.0).AND. &
    43104310                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    43114311         CALL iso_verif_O18_aberrant( &
     
    43194319          xtnew(ixt)=xt(ixt,il,i)+delt*fxt(ixt,il,i)
    43204320        enddo
    4321         if (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 3727',1e-5) &
    4322                  .eq.1) THEN
     4321        IF (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 3727',1e-5) &
     4322                 .EQ.1) THEN
    43234323              WRITE(*,*) 'il,i=',il,i
    43244324              WRITE(*,*) 'fxt(:,il,i)=',fxt(:,il,i)
     
    43624362       ! cam verif
    43634363#ifdef ISOVERIF
    4364           if (iso_eau.gt.0) THEN
     4364          IF (iso_eau.gt.0) THEN
    43654365              CALL iso_verif_egalite_choix(fxt(iso_eau,il,i), &
    43664366                 fr(il,i),'cv30_routines 3252',errmax,errmaxrel)
     
    43704370          enddo
    43714371          ! correction 21 oct 2008
    4372           if ((iso_HDO.gt.0).and. &
     4372          IF ((iso_HDO.gt.0).AND. &
    43734373                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    43744374         CALL iso_verif_aberrant_encadre((xt(iso_HDO,il,i) &
    43754375             +delt*fxt(iso_HDO,il,i))/(rr(il,i)+delt*fr(il,i)), &
    43764376             'cv30_yield 3384b flux masse')
    4377         if (iso_O18.gt.0) THEN
     4377        IF (iso_O18.gt.0) THEN
    43784378          CALL iso_verif_O18_aberrant( &
    43794379                 (xt(iso_HDO,il,i)+delt*fxt(iso_HDO,il,i)) &
     
    43894389          xtnew(ixt)=xt(ixt,il,i)+delt*fxt(ixt,il,i)
    43904390        enddo
    4391         if (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 3775',1e-5) &
    4392                  .eq.1) THEN
     4391        IF (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 3775',1e-5) &
     4392                 .EQ.1) THEN
    43934393              WRITE(*,*) 'il,i=',il,i
    43944394        endif
     
    44154415    ! :         *(amp1(il)*(tra(il,i+1,k)-tra(il,i,k))
    44164416    ! :           -ad(il)*(tra(il,i,k)-tra(il,i-1,k)))
    4417     ! endif
    4418     ! endif
     4417    ! END IF
     4418    ! END IF
    44194419    ! enddo
    44204420    ! enddo
     
    44394439        ! ce surplus a la meme compo que le elij, sans fractionnement.
    44404440        ! d'ou le nouveau traitement ci-dessous.
    4441       if (elij(il,k,i).gt.0.0) THEN
     4441      IF (elij(il,k,i).gt.0.0) THEN
    44424442        do ixt = 1, ntraciso
    44434443          xtawat(ixt)=awat*(xtelij(ixt,il,k,i)/elij(il,k,i))
     
    44574457      ! cam verif
    44584458#ifdef ISOVERIF
    4459           if (iso_eau.gt.0) THEN
     4459          IF (iso_eau.gt.0) THEN
    44604460              CALL iso_verif_egalite_choix(xtawat(iso_eau), &
    44614461                 awat,'cv30_routines 3301',errmax,errmaxrel)
     
    45014501      ! cam verif
    45024502#ifdef ISOVERIF
    4503         if (iso_eau.gt.0) THEN
     4503        IF (iso_eau.gt.0) THEN
    45044504              CALL iso_verif_egalite_choix(fxt(iso_eau,il,i), &
    45054505                 fr(il,i),'cv30_routines 3325',errmax,errmaxrel)
     
    45084508            CALL iso_verif_noNAN(fxt(ixt,il,i),'cv30_routines 3328')
    45094509        enddo
    4510         if ((iso_HDO.gt.0).and. &
     4510        IF ((iso_HDO.gt.0).AND. &
    45114511                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    4512         if (iso_verif_aberrant_enc_nostop((xt(iso_HDO,il,i) &
     4512        IF (iso_verif_aberrant_enc_nostop((xt(iso_HDO,il,i) &
    45134513                 +delt*fxt(iso_HDO,il,i)) &
    45144514                 /(rr(il,i)+delt*fr(il,i)),'cv30_yield 3396a, dtr mels') &
    4515                  .eq.1) THEN
     4515                 .EQ.1) THEN
    45164516           WRITE(*,*) 'il,k,i=',il,k,i
    45174517           WRITE(*,*) 'rr,delt,fr=',rr(il,i),delt,fr(il,i)
     
    45364536!           stop
    45374537        endif
    4538         if (iso_O18.gt.0) THEN
     4538        IF (iso_O18.gt.0) THEN
    45394539          CALL iso_verif_O18_aberrant( &
    45404540                 (xt(iso_HDO,il,i)+delt*fxt(iso_HDO,il,i)) &
     
    45504550          xtnew(ixt)=xt(ixt,il,i)+delt*fxt(ixt,il,i)
    45514551        enddo
    4552         if (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 3905',1e-5) &
    4553                  .eq.1) THEN
     4552        IF (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 3905',1e-5) &
     4553                 .EQ.1) THEN
    45544554              WRITE(*,*) 'il,i=',il,i
    45554555         endif
     
    45914591      ! cam verif
    45924592#ifdef ISOVERIF
    4593         if (iso_eau.gt.0) THEN
     4593        IF (iso_eau.gt.0) THEN
    45944594              CALL iso_verif_egalite_choix(fxt(iso_eau,il,i), &
    45954595                 fr(il,i),'cv30_routines 3350',errmax,errmaxrel)
     
    45984598            CALL iso_verif_noNAN(fxt(ixt,il,i),'cv30_routines 3353')
    45994599        enddo
    4600         if ((iso_HDO.gt.0).and. &
     4600        IF ((iso_HDO.gt.0).AND. &
    46014601                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    46024602         CALL iso_verif_aberrant_encadre((xt(iso_HDO,il,i) &
     
    46044604                 /(rr(il,i)+delt*fr(il,i)),'cv30_yield 3396b, dtr mels')
    46054605        endif !if (iso_HDO.gt.0) THEN
    4606         if ((iso_HDO.gt.0).and.(iso_O18.gt.0).and. &
     4606        IF ((iso_HDO.gt.0).AND.(iso_O18.gt.0).AND. &
    46074607                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    46084608         CALL iso_verif_O18_aberrant( &
     
    46164616          xtnew(ixt)=xt(ixt,il,i)+delt*fxt(ixt,il,i)
    46174617        enddo
    4618         if (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 3949',1e-5) &
    4619                  .eq.1) THEN
     4618        IF (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 3949',1e-5) &
     4619                 .EQ.1) THEN
    46204620              WRITE(*,*) 'il,i=',il,i
    46214621         endif
     
    46474647    ! ftra(il,i,j)=ftra(il,i,j)+0.1*dpinv*ment(il,k,i)
    46484648    ! :        *(traent(il,k,i,j)-tra(il,i,j))
    4649     ! endif
    4650     ! endif
     4649    ! END IF
     4650    ! END IF
    46514651    ! enddo
    46524652    ! enddo
     
    46894689       ! cam verif
    46904690#ifdef ISOVERIF
    4691         if ((il.eq.1636).and.(i.eq.9)) THEN
     4691        IF ((il.EQ.1636).AND.(i.EQ.9)) THEN
    46924692                WRITE(*,*) 'cv30 4785: on ajoute le dtr ici:'
    46934693                WRITE(*,*) 'M=',0.01*grav*dpinv*ment(il, k, i)
     
    47034703#endif       
    47044704#ifdef ISOVERIF
    4705         if (iso_eau.gt.0) THEN
     4705        IF (iso_eau.gt.0) THEN
    47064706              CALL iso_verif_egalite_choix(fxt(iso_eau,il,i), &
    47074707                 fr(il,i),'cv30_routines 3408',errmax,errmaxrel)
     
    47104710            CALL iso_verif_noNAN(fxt(ixt,il,i),'cv30_routines 3411')
    47114711        enddo
    4712         if (1.eq.0) THEN
    4713         if ((iso_HDO.gt.0).and.(delt*fr(il,i).gt.ridicule)) THEN
    4714               if (iso_verif_aberrant_enc_nostop( &
     4712        IF (1.EQ.0) THEN
     4713        IF ((iso_HDO.gt.0).AND.(delt*fr(il,i).gt.ridicule)) THEN
     4714              IF (iso_verif_aberrant_enc_nostop( &
    47154715                 fxt(iso_HDO,il,i)/fr(il,i), &
    4716                  'cv30_yield 3572, dtr mels').eq.1) THEN
     4716                 'cv30_yield 3572, dtr mels').EQ.1) THEN
    47174717                WRITE(*,*) 'i,icb(il),inb(il)=',i,icb(il),inb(il)
    47184718                WRITE(*,*) 'fr(il,i)=',fr(il,i)
     
    47224722               endif
    47234723        endif !if (iso_HDO.gt.0) THEN
    4724         endif !if (1.eq.0) THEN
    4725         if ((iso_HDO.gt.0).and. &
     4724        endif !if (1.EQ.0) THEN
     4725        IF ((iso_HDO.gt.0).AND. &
    47264726                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    47274727         CALL iso_verif_aberrant_encadre((xt(iso_HDO,il,i) &
    47284728                 +delt*fxt(iso_HDO,il,i)) &
    47294729                 /(rr(il,i)+delt*fr(il,i)),'cv30_yield 3605, dtr mels')
    4730         if (iso_O18.gt.0) THEN
     4730        IF (iso_O18.gt.0) THEN
    47314731          CALL iso_verif_O18_aberrant( &
    47324732                 (xt(iso_HDO,il,i)+delt*fxt(iso_HDO,il,i)) &
     
    47354735                 /(rr(il,i)+delt*fr(il,i)), &
    47364736                 'cv30_yield 3605O18, dtr mels')
    4737           if ((il.eq.1636).and.(i.eq.9)) THEN
     4737          IF ((il.EQ.1636).AND.(i.EQ.9)) THEN
    47384738          CALL iso_verif_O18_aberrant( &
    47394739                 (xt(iso_HDO,il,i)+delt*(fxt(iso_HDO,il,i)-xtbx(iso_HDO))) &
     
    47424742                 /(rr(il,i)+delt*(fr(il,i)-bx)), &
    47434743                 'cv30_yield 3605O18_nobx, dtr mels')
    4744            endif !if ((il.eq.1636).and.(i.eq.9)) THEN
     4744           endif !if ((il.EQ.1636).AND.(i.EQ.9)) THEN
    47454745        endif !if (iso_O18.gt.0) THEN
    47464746        endif !if (iso_HDO.gt.0) THEN
     
    47504750          xtnew(ixt)=xt(ixt,il,i)+delt*fxt(ixt,il,i)
    47514751        enddo
    4752         if (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 4036',1e-5) &
    4753                  .eq.1) THEN
     4752        IF (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 4036',1e-5) &
     4753                 .EQ.1) THEN
    47544754              WRITE(*,*) 'il,i=',il,i
    47554755         endif
     
    47904790       ! cam verif
    47914791#ifdef ISOVERIF
    4792           if ((il.eq.1636).and.(i.eq.9)) THEN
     4792          IF ((il.EQ.1636).AND.(i.EQ.9)) THEN
    47934793                WRITE(*,*) 'cv30 4785b: on ajoute le dtr ici:'
    47944794                WRITE(*,*) 'M=',0.1*dpinv*ment(il, k, i)
    47954795                WRITE(*,*) 'q,qe=',rr(il,i),qent(il,k,i)
    47964796          endif
    4797           if (iso_eau.gt.0) THEN
     4797          IF (iso_eau.gt.0) THEN
    47984798              CALL iso_verif_egalite_choix(fxt(iso_eau,il,i), &
    47994799                 fr(il,i),'cv30_routines 3433',errmax,errmaxrel)
     
    48024802            CALL iso_verif_noNAN(fxt(ixt,il,i),'cv30_routines 3436')
    48034803          enddo
    4804           if ((iso_HDO.gt.0).and.(delt*fr(il,i).gt.ridicule)) THEN
    4805               if (iso_verif_aberrant_enc_nostop( &
     4804          IF ((iso_HDO.gt.0).AND.(delt*fr(il,i).gt.ridicule)) THEN
     4805              IF (iso_verif_aberrant_enc_nostop( &
    48064806                 fxt(iso_HDO,il,i)/fr(il,i), &
    4807                  'cv30_yield 3597').eq.1) THEN
     4807                 'cv30_yield 3597').EQ.1) THEN
    48084808                WRITE(*,*) 'i,icb(il),inb(il)=',i,icb(il),inb(il)
    48094809                stop
    48104810               endif
    48114811          endif !if (iso_HDO.gt.0) THEN
    4812           if ((iso_HDO.gt.0).and. &
     4812          IF ((iso_HDO.gt.0).AND. &
    48134813                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    48144814           CALL iso_verif_aberrant_encadre((xt(iso_HDO,il,i) &
     
    48214821          xtnew(ixt)=xt(ixt,il,i)+delt*fxt(ixt,il,i)
    48224822        enddo
    4823         if (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 4091',1e-5) &
    4824                  .eq.1) THEN
     4823        IF (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 4091',1e-5) &
     4824                 .EQ.1) THEN
    48254825              WRITE(*,*) 'il,i=',il,i
    48264826         endif
     
    48384838    ! do k=i,nl+1
    48394839    ! do il=1,ncum
    4840     ! if (i.le.inb(il) .and. k.le.inb(il)) THEN
     4840    ! if (i.le.inb(il) .AND. k.le.inb(il)) THEN
    48414841    ! dpinv=1.0/(ph(il,i)-ph(il,i+1))
    48424842    ! cpinv=1.0/cpn(il,i)
     
    48474847    ! ftra(il,i,j)=ftra(il,i,j)+0.1*dpinv*ment(il,k,i)
    48484848    ! :             *(traent(il,k,i,j)-tra(il,i,j))
    4849     ! endif
    4850     ! endif ! i and k
     4849    ! END IF
     4850    ! END IF ! i and k
    48514851    ! enddo
    48524852    ! enddo
     
    48984898           CALL iso_verif_noNaN(fxt(ixt,il,i),'cv30_yield 4515')
    48994899        enddo
    4900         if ((iso_HDO.gt.0).and. &
     4900        IF ((iso_HDO.gt.0).AND. &
    49014901                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    4902         if (iso_verif_aberrant_enc_nostop((xt(iso_HDO,il,i) &
     4902        IF (iso_verif_aberrant_enc_nostop((xt(iso_HDO,il,i) &
    49034903                 +delt*fxt(iso_HDO,il,i)) &
    49044904                 /(rr(il,i)+delt*fr(il,i)),'cv30_yield 4175') &
    4905                  .eq.1) THEN
     4905                 .EQ.1) THEN
    49064906        WRITE(*,*) 'il,i=',il,i
    4907         if (rr(il,i).ne.0.0) THEN
     4907        IF (rr(il,i).NE.0.0) THEN
    49084908        WRITE(*,*) 'il,i,rr,deltaD=',il,i,rr(il,i),deltaD &
    49094909                 (xt(iso_HDO,il,i)/rr(il,i))
    49104910        endif
    4911         if (fr(il,i).ne.0.0) THEN
     4911        IF (fr(il,i).NE.0.0) THEN
    49124912        WRITE(*,*) 'fr,fxt,deltaD=',fr(il,i),fxt(iso_HDO,il,i), &
    49134913                 deltaD(fxt(iso_HDO,il,i)/fr(il,i))
    49144914        endif
    49154915#ifdef DIAGISO       
    4916         if (fq_ddft(il,i).ne.0.0) THEN
     4916        IF (fq_ddft(il,i).NE.0.0) THEN
    49174917        WRITE(*,*) 'fq_ddft,deltaD=',fq_ddft(il,i),deltaD( &
    49184918                 fxt_ddft(iso_HDO,il,i)/fq_ddft(il,i))
    49194919        endif
    4920         if (fq_evapprecip(il,i).ne.0.0) THEN
     4920        IF (fq_evapprecip(il,i).NE.0.0) THEN
    49214921        WRITE(*,*) 'fq_evapprecip,deltaD=',fq_evapprecip(il,i),deltaD( &
    49224922                 fxt_evapprecip(iso_HDO,il,i)/fq_evapprecip(il,i))
     
    49374937        endif
    49384938        endif !if (iso_HDO.gt.0) THEN
    4939         if ((iso_HDO.gt.0).and.(iso_O18.gt.0).and. &
     4939        IF ((iso_HDO.gt.0).AND.(iso_O18.gt.0).AND. &
    49404940                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    49414941         CALL iso_verif_O18_aberrant( &
     
    49434943             (xt(iso_O18,il,i)+delt*fxt(iso_O18,il,i))/(rr(il,i)+delt*fr(il,i)), &
    49444944             'cv30_yield 5029,O18, evap')
    4945           if ((il.eq.1636).and.(i.eq.9)) THEN
     4945          IF ((il.EQ.1636).AND.(i.EQ.9)) THEN
    49464946            WRITE(*,*) 'cv30_yield 5057: ici, on verifie deltaD_nobx'
    49474947            WRITE(*,*) 'il,i=',il,i
     
    49584958                 /(rr(il,i)+delt*(fr(il,i)-bx)), &
    49594959                'cv30_yield 5029_nobx,O18, evap, no bx')
    4960           endif !if ((il.eq.1636).and.(i.eq.9)) THEN
     4960          endif !if ((il.EQ.1636).AND.(i.EQ.9)) THEN
    49614961          endif !if (iso_HDO.gt.0) THEN
    49624962#endif
    49634963
    49644964#ifdef ISOTRAC
    4965         if ((option_traceurs.ne.6).and.(option_traceurs.ne.19)) THEN
     4965        IF ((option_traceurs.NE.6).AND.(option_traceurs.NE.19)) THEN
    49664966            ! facile: on fait comme l'eau
    49674967            do ixt = 1+niso,ntraciso
     
    50015001!        WRITE(*,*) 'tmp cv3_yield 4165: i,il=',i,il
    50025002
    5003         if (option_traceurs.eq.6) THEN
     5003        IF (option_traceurs.EQ.6) THEN
    50045004          do iiso = 1, niso
    50055005             
    50065006             ixt_ddft=itZonIso(izone_ddft,iiso) 
    5007              if (mp(il,i).gt.mp(il,i+1)) THEN
     5007             IF (mp(il,i).gt.mp(il,i+1)) THEN
    50085008                fxtYe(iiso)=0.01*grav*dpinv*mp(il,i) &
    50095009                 *(xt(ixt_ddft,il,i-1)-xt(ixt_ddft,il,i))
     
    50235023         enddo !do iiso = 1, niso
    50245024
    5025          else !if (option_traceurs.eq.6) THEN
    5026             if (mp(il,i).gt.mp(il,i+1)) THEN
     5025         else !if (option_traceurs.EQ.6) THEN
     5026            IF (mp(il,i).gt.mp(il,i+1)) THEN
    50275027                ! cas entrainant: faire attention
    50285028               
     
    50475047                Xe(iiso)=xt(iiso,il,i) &
    50485048                         -xt(ixt_ddft,il,i)-xt(ixt_revap,il,i)
    5049                 if (Xe(iiso).gt.ridicule) THEN
     5049                IF (Xe(iiso).gt.ridicule) THEN
    50505050                  do izone=1,nzone
    5051                    if ((izone.ne.izone_revap).and. &
    5052                          (izone.ne.izone_ddft)) THEN
     5051                   IF ((izone.NE.izone_revap).AND. &
     5052                         (izone.NE.izone_ddft)) THEN
    50535053                    ixt=itZonIso(izone,iiso)
    50545054                    fxt(ixt,il,i)=fxt(ixt,il,i) &
    50555055                         +xt(ixt,il,i)/Xe(iiso)*fxtXe(iiso)
    5056                    endif !if ((izone.ne.izone_revap).and.
     5056                   endif !if ((izone.NE.izone_revap).AND.
    50575057                  enddo !do izone=1,nzone   
    50585058#ifdef ISOVERIF
     
    50715071                   
    50725072#ifdef ISOVERIF
    5073                 if (delt*fxtXe(iiso).gt.ridicule) THEN
     5073                IF (delt*fxtXe(iiso).gt.ridicule) THEN
    50745074                   WRITE(*,*) 'cv30_routines 6563: delt*fxtXe(iiso)=', &
    50755075                                delt*fxtXe(iiso)
     
    50785078#endif                   
    50795079                do izone=1,nzone
    5080                    if ((izone.ne.izone_revap).and. &
    5081                          (izone.ne.izone_ddft)) THEN
     5080                   IF ((izone.NE.izone_revap).AND. &
     5081                         (izone.NE.izone_ddft)) THEN
    50825082                    ixt=itZonIso(izone,iiso)
    5083                     if (izone.eq.izone_poubelle) THEN
     5083                    IF (izone.EQ.izone_poubelle) THEN
    50845084                      fxt(ixt,il,i)=fxt(ixt,il,i)+fxtXe(iiso)
    5085                     else !if (izone.eq.izone_poubelle) THEN
     5085                    else !if (izone.EQ.izone_poubelle) THEN
    50865086                        ! pas de tendance pour ce tag la
    5087                     endif !if (izone.eq.izone_poubelle) THEN
    5088                    endif !if ((izone.ne.izone_revap).and.
     5087                    endif !if (izone.EQ.izone_poubelle) THEN
     5088                   endif !if ((izone.NE.izone_revap).AND.
    50895089                enddo !do izone=1,nzone
    50905090#ifdef ISOVERIF
     
    51085108#endif               
    51095109            endif !if (mp(il,i).gt.mp(il,i+1)) THEN
    5110           endif !if (option_traceurs.eq.6) THEN
     5110          endif !if (option_traceurs.EQ.6) THEN
    51115111!          WRITE(*,*) 'delt*conversion=',delt*conversion(iso_eau)
    51125112!           WRITE(*,*) 'delt*fxtYe=',delt*fxtYe(iso_eau)
    51135113!           WRITE(*,*) 'delt*fxtqe=',delt*fxtqe(iso_eau)
    51145114
    5115         endif ! if ((option_traceurs.ne.6).and.(option_traceurs.ne.19)) THEN
     5115        endif ! if ((option_traceurs.NE.6).AND.(option_traceurs.NE.19)) THEN
    51165116#endif
    51175117       
     
    51235123#endif
    51245124#ifdef ISOVERIF
    5125           if (iso_eau.gt.0) THEN
     5125          IF (iso_eau.gt.0) THEN
    51265126              CALL iso_verif_egalite_choix(fxt(iso_eau,il,i), &
    51275127                 fr(il,i),'cv30_routines 3493',errmax,errmaxrel)
    51285128          endif !if (iso_eau.gt.0) THEN
    5129           if (1.eq.0) THEN
    5130           if ((iso_HDO.gt.0).and.(delt*fr(il,i).gt.ridicule)) THEN
    5131               if (iso_verif_aberrant_enc_nostop( &
     5129          IF (1.EQ.0) THEN
     5130          IF ((iso_HDO.gt.0).AND.(delt*fr(il,i).gt.ridicule)) THEN
     5131              IF (iso_verif_aberrant_enc_nostop( &
    51325132                 fxt(iso_HDO,il,i)/fr(il,i), &
    5133                  'cv30_yield 3662').eq.1) THEN
     5133                 'cv30_yield 3662').EQ.1) THEN
    51345134                WRITE(*,*) 'il,i,icb(il),inb(il)=',il,i,icb(il),inb(il)
    51355135                WRITE(*,*) 'fr(il,i),delt=',fr(il,i),delt
    51365136#ifdef DIAGISO                       
    5137                 if (fq_ddft(il,i).ne.0.0) THEN
     5137                IF (fq_ddft(il,i).NE.0.0) THEN
    51385138                WRITE(*,*) 'fq_ddft,deltaD=',fq_ddft(il,i),deltaD( &
    51395139                   fxt_ddft(iso_HDO,il,i)/fq_ddft(il,i))
    5140                 endif !if (fq_ddft(il,i).ne.0.0) THEN
    5141                 if (fq_evapprecip(il,i).ne.0.0) THEN
     5140                endif !if (fq_ddft(il,i).NE.0.0) THEN
     5141                IF (fq_evapprecip(il,i).NE.0.0) THEN
    51425142                WRITE(*,*) 'fq_evapprecip,deltaD=',fq_evapprecip(il,i), &
    51435143                   deltaD(fxt_evapprecip(iso_HDO,il,i) &
    51445144                   /fq_evapprecip(il,i))
    5145                 endif !if (fq_evapprecip(il,i).ne.0.0) THEN
     5145                endif !if (fq_evapprecip(il,i).NE.0.0) THEN
    51465146#endif               
    51475147               endif !if (iso_verif_aberrant_enc_nostop(
    51485148          endif !if (iso_HDO.gt.0) THEN
    5149           endif !if (1.eq.0) THEN
    5150           if ((iso_HDO.gt.0).and. &
     5149          endif !if (1.EQ.0) THEN
     5150          IF ((iso_HDO.gt.0).AND. &
    51515151                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    5152            if (iso_verif_aberrant_enc_nostop((xt(iso_HDO,il,i) &
     5152           IF (iso_verif_aberrant_enc_nostop((xt(iso_HDO,il,i) &
    51535153                 +delt*fxt(iso_HDO,il,i)) &
    51545154                 /(rr(il,i)+delt*fr(il,i)),'cv30_yield 3757, ddfts') &
    5155                  .eq.1) THEN
     5155                 .EQ.1) THEN
    51565156                WRITE(*,*) 'i,il,q,deltaD=',i,il,rr(il,i),deltaD( &
    51575157                   xt(iso_HDO,il,i)/rr(il,i))
     
    51615161            endif ! if (iso_verif_aberrant_enc_nostop
    51625162        endif !if (iso_HDO.gt.0) THEN
    5163         if ((iso_HDO.gt.0).and.(iso_O18.gt.0).and. &
     5163        IF ((iso_HDO.gt.0).AND.(iso_O18.gt.0).AND. &
    51645164                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    51655165         CALL iso_verif_O18_aberrant( &
     
    51745174          xtnew(ixt)=xt(ixt,il,i)+delt*fxt(ixt,il,i)
    51755175        enddo
    5176         if (iso_verif_tracpos_choix_nostop(xtnew, &
    5177                         'cv30_yield 4221',1e-5).eq.1) THEN
     5176        IF (iso_verif_tracpos_choix_nostop(xtnew, &
     5177                        'cv30_yield 4221',1e-5).EQ.1) THEN
    51785178          WRITE(*,*) 'delt*fxt(,il,i)=',delt*fxt(1:ntraciso:2,il,i)
    51795179          WRITE(*,*) 'delt*fxt(,il,i)=',delt*fxt(:,il,i)
     
    52135213
    52145214#ifdef ISOTRAC       
    5215         if (option_traceurs.ne.6) THEN
     5215        IF (option_traceurs.NE.6) THEN
    52165216            ! facile: on fait comme l'eau
    52175217            do ixt = 1+niso,ntraciso
     
    52225222            enddo !do ixt = 1+niso,ntraciso
    52235223
    5224         else  !if (option_traceurs.ne.6) THEN
     5224        else  !if (option_traceurs.NE.6) THEN
    52255225            ! taggage des ddfts:  voir blabla + haut
    52265226        do ixt = 1+niso,ntraciso
     
    52385238             ixt_poubelle=itZonIso(izone_poubelle,iiso)
    52395239             ixt_ddft=itZonIso(izone_ddft,iiso) 
    5240              if (mp(il,i).gt.mp(il,i+1)) THEN
     5240             IF (mp(il,i).gt.mp(il,i+1)) THEN
    52415241                fxtYe(iiso)=0.01*grav*dpinv*mp(il,i) &
    52425242                 *(xt(ixt_ddft,il,i-1)-xt(ixt_ddft,il,i))
     
    52565256!           WRITE(*,*) 'delt*fxtYe=',delt*fxtYe(iso_eau)
    52575257!           WRITE(*,*) 'delt*fxtqe=',delt*fxtqe(iso_eau)
    5258         endif !if (option_traceurs.eq.6) THEN
     5258        endif !if (option_traceurs.EQ.6) THEN
    52595259#endif       
    52605260
     
    52825282#endif       
    52835283#ifdef ISOVERIF
    5284           if (iso_eau.gt.0) THEN
     5284          IF (iso_eau.gt.0) THEN
    52855285              CALL iso_verif_egalite_choix(fxt(iso_eau,il,i), &
    52865286                 fr(il,i),'cv30_routines 3522',errmax,errmaxrel)
    52875287          endif !if (iso_eau.gt.0) THEN
    5288           if ((iso_HDO.gt.0).and.(delt*fr(il,i).gt.ridicule)) THEN
    5289               if (iso_verif_aberrant_enc_nostop( &
     5288          IF ((iso_HDO.gt.0).AND.(delt*fr(il,i).gt.ridicule)) THEN
     5289              IF (iso_verif_aberrant_enc_nostop( &
    52905290                 fxt(iso_HDO,il,i)/fr(il,i), &
    5291                  'cv30_yield 3690').eq.1) THEN
     5291                 'cv30_yield 3690').EQ.1) THEN
    52925292                WRITE(*,*) 'i,icb(il),inb(il)=',i,icb(il),inb(il)
    52935293                stop
    52945294               endif
    52955295          endif !if (iso_HDO.gt.0) THEN
    5296           if ((iso_HDO.gt.0).and. &
     5296          IF ((iso_HDO.gt.0).AND. &
    52975297                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    52985298           CALL iso_verif_aberrant_encadre((xt(iso_HDO,il,i) &
     
    53005300                /(rr(il,i)+delt*fr(il,i)),'cv30_yield 3757b, ddfts')
    53015301          endif !if (iso_HDO.gt.0) THEN
    5302           if ((iso_HDO.gt.0).and.(iso_O18.gt.0).and. &
     5302          IF ((iso_HDO.gt.0).AND.(iso_O18.gt.0).AND. &
    53035303                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    53045304           CALL iso_verif_O18_aberrant( &
     
    53125312          xtnew(ixt)=xt(ixt,il,1)+delt*fxt(ixt,il,1)
    53135313        enddo
    5314         if (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 4295',1e-5) &
    5315                  .eq.1) THEN
     5314        IF (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 4295',1e-5) &
     5315                 .EQ.1) THEN
    53165316              WRITE(*,*) 'il,i=',il,i
    53175317         endif
     
    53675367    ! :     *(mp(il,i+1)*(trap(il,i+1,j)-tra(il,i,j))
    53685368    ! :     -mp(il,i)*(trap(il,i,j)-tra(il,i-1,j)))
    5369     ! endif
    5370     ! endif ! i
     5369    ! END IF
     5370    ! END IF ! i
    53715371    ! enddo
    53725372    ! enddo
     
    54865486        CALL iso_verif_noNaN(fxt(ixt,il,inb(il)),'cv30_yield 5083')
    54875487       enddo
    5488           if (iso_eau.gt.0) THEN
     5488          IF (iso_eau.gt.0) THEN
    54895489              CALL iso_verif_egalite_choix(fxt(iso_eau,il,inb(il)), &
    54905490                 fr(il,inb(il)),'cv30_routines 3638',errmax,errmaxrel)
     
    54925492                 fr(il,inb(il)-1),'cv30_routines 3640',errmax,errmaxrel)
    54935493          endif !if (iso_eau.gt.0) THEN
    5494           if ((iso_HDO.gt.0).and. &
     5494          IF ((iso_HDO.gt.0).AND. &
    54955495             (rr(il,inb(il))+delt*fr(il,inb(il)).gt.ridicule)) THEN
    54965496           CALL iso_verif_aberrant_encadre( &
     
    54985498               /(rr(il,inb(il))+delt*fr(il,inb(il))), &
    54995499                 'cv30_yield 3921, en inb')
    5500               if (iso_O18.gt.0) THEN
    5501                 if (iso_verif_O18_aberrant_nostop( &
     5500              IF (iso_O18.gt.0) THEN
     5501                IF (iso_verif_O18_aberrant_nostop( &
    55025502                 (xt(iso_HDO,il,inb(il))+delt*fxt(iso_HDO,il,inb(il))) &
    55035503                 /(rr(il,inb(il))+delt*fr(il,inb(il))), &
    55045504                 (xt(iso_O18,il,inb(il))+delt*fxt(iso_O18,il,inb(il))) &
    55055505                 /(rr(il,inb(il))+delt*fr(il,inb(il))), &
    5506                  'cv30_yield 3921O18, en inb').eq.1) THEN
     5506                 'cv30_yield 3921O18, en inb').EQ.1) THEN
    55075507                        WRITE(*,*) 'il,inb(il)=',il,inb(il)
    55085508                        k_tmp=0.1*ment(il,inb(il),inb(il))/(ph(il,inb(il))-ph(il,inb(il)+1))
     
    55195519            endif !if (iso_O18.gt.0) THEN
    55205520          endif !if (iso_HDO.gt.0) THEN
    5521           if ((iso_HDO.gt.0).and. &
     5521          IF ((iso_HDO.gt.0).AND. &
    55225522             (rr(il,inb(il)-1)+delt*fr(il,inb(il)-1).gt.ridicule)) THEN
    55235523           CALL iso_verif_aberrant_encadre( &
     
    55265526               /(rr(il,inb(il)-1)+delt*fr(il,inb(il)-1)), &
    55275527                 'cv30_yield 3921b, en inb-1')
    5528               if (iso_O18.gt.0) THEN
     5528              IF (iso_O18.gt.0) THEN
    55295529                CALL iso_verif_O18_aberrant( &
    55305530                 (xt(iso_HDO,il,inb(il)-1)+delt*fxt(iso_HDO,il,inb(il)-1)) &
     
    55435543          xtnew(ixt)=xt(ixt,il,inb(il))+delt*fxt(ixt,il,inb(il))
    55445544        enddo
    5545         if (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 4492',1e-5) &
    5546                  .eq.1) THEN
     5545        IF (iso_verif_tracpos_choix_nostop(xtnew,'cv30_yield 4492',1e-5) &
     5546                 .EQ.1) THEN
    55475547              WRITE(*,*) 'il,i=',il,i
    55485548         endif
     
    56155615        fr(il, i) = bsum(il)/csum(il)
    56165616#ifdef ISO
    5617         if (abs(csum(il)).gt.0.0) THEN
     5617        IF (abs(csum(il)).gt.0.0) THEN
    56185618          do ixt=1,ntraciso
    56195619            fxt(ixt,il,i)=bxtsum(ixt,il)/csum(il)           
    56205620          enddo
    56215621        else !if (frsum(il).gt.ridicule) THEN
    5622            if (abs(frsum(il)).gt.0.0) THEN
     5622           IF (abs(frsum(il)).gt.0.0) THEN
    56235623            do ixt=1,ntraciso
    56245624             fxt(ixt,il,i)=fr(il,i)*fxtsum(ixt,il)/frsum(il)       
    56255625            enddo
    56265626           else !if (abs(frsum(il)).gt.0.0) THEN
    5627              if (abs(fr(il,i))*delt.gt.ridicule) THEN
     5627             IF (abs(fr(il,i))*delt.gt.ridicule) THEN
    56285628               WRITE(*,*) 'cv30_yield 4048: fr(il,i)=',fr(il,i)
    56295629               stop
     
    56325632                 fxt(ixt,il,i)=0.0
    56335633               enddo
    5634                if (iso_eau.gt.0) THEN
     5634               IF (iso_eau.gt.0) THEN
    56355635                   fxt(iso_eau,il,i)=1.0
    56365636               endif
     
    56625662!     :                           il,i,inb(il),ncum
    56635663!                WRITE(*,*) 'cv30_routines 3974'
    5664                 if (iso_eau.gt.0) THEN
     5664                IF (iso_eau.gt.0) THEN
    56655665                  CALL iso_verif_egalite_choix(fxt(iso_eau,il,i), &
    56665666                    fr(il,i),'cv30_yield 3830',errmax,errmaxrel)
    56675667                endif !if (iso_eau.gt.0) THEN
    56685668!                WRITE(*,*) 'cv30_routines 3979'
    5669                 if ((iso_HDO.gt.0).and. &
     5669                IF ((iso_HDO.gt.0).AND. &
    56705670                    (delt*fr(il,i).gt.ridicule)) THEN
    5671                     if (iso_verif_aberrant_enc_nostop( &
     5671                    IF (iso_verif_aberrant_enc_nostop( &
    56725672                         fxt(iso_HDO,il,i)/fr(il,i), &
    5673                         'cv30_yield 3834').eq.1) THEN
    5674                         if (fr(il,i).gt.ridicule*1e5) THEN
     5673                        'cv30_yield 3834').EQ.1) THEN
     5674                        IF (fr(il,i).gt.ridicule*1e5) THEN
    56755675                           WRITE(*,*) 'il,i,icb(il)=',il,i,icb(il)
    56765676                           WRITE(*,*) 'frsum(il)=',frsum(il)
     
    56855685                    endif   !if (iso_verif_aberrant_enc_nostop   
    56865686                endif !if (iso_HDO.gt.0) THEN
    5687                 if ((iso_HDO.gt.0).and. &
     5687                IF ((iso_HDO.gt.0).AND. &
    56885688                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    5689                   if (iso_verif_aberrant_enc_nostop( &
     5689                  IF (iso_verif_aberrant_enc_nostop( &
    56905690                (xt(iso_HDO,il,i)+delt*fxt(iso_HDO,il,i)) &
    56915691               /(rr(il,i)+delt*fr(il,i)),'cv30_yield 3921c, dans la CL') &
    5692                  .eq.1) THEN
     5692                 .EQ.1) THEN
    56935693                     WRITE(*,*) 'il,i,icb(il)=',il,i,icb(il)
    56945694                     WRITE(*,*) 'frsum(il)=',frsum(il)
     
    56975697                  endif
    56985698               endif !if (iso_HDO.gt.0) THEN
    5699         if ((iso_HDO.gt.0).and.(iso_O18.gt.0).and. &
     5699        IF ((iso_HDO.gt.0).AND.(iso_O18.gt.0).AND. &
    57005700                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    57015701         CALL iso_verif_O18_aberrant( &
     
    57195719          do i=1,nl
    57205720             do il=1,ncum
    5721                 if (iso_eau.gt.0) THEN
     5721                IF (iso_eau.gt.0) THEN
    57225722                  CALL iso_verif_egalite_choix(fxt(iso_eau,il,i), &
    57235723                    fr(il,i),'cv30_yield 3830',errmax,errmaxrel)
    57245724                endif !if (iso_eau.gt.0) THEN
    5725                 if ((iso_HDO.gt.0).and. &
     5725                IF ((iso_HDO.gt.0).AND. &
    57265726                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    57275727                  CALL iso_verif_aberrant_encadre((xt(iso_HDO,il,i) &
     
    57305730                 'cv30_yield 5710a, final')
    57315731               endif !if (iso_HDO.gt.0) THEN
    5732                if ((iso_HDO.gt.0).and.(iso_O18.gt.0).and. &
     5732               IF ((iso_HDO.gt.0).AND.(iso_O18.gt.0).AND. &
    57335733                 (rr(il,i)+delt*fr(il,i).gt.ridicule)) THEN
    57345734                  CALL iso_verif_O18_aberrant( &
     
    58045804    DO k = i, nl
    58055805      DO il = 1, ncum
    5806         ! test         if (i.ge.icb(il).and.i.le.inb(il).and.k.le.inb(il))
     5806        ! test         if (i.ge.icb(il).AND.i.le.inb(il).AND.k.le.inb(il))
    58075807        ! THEN
    58085808        IF (i<=inb(il) .AND. k<=inb(il)) THEN
     
    61016101
    61026102#ifdef ISO
    6103     use infotrac_phy, ONLY: ntraciso=>ntiso
    6104 #ifdef ISOVERIF
    6105     use isotopes_verif_mod, ONLY: Tmin_verif,iso_verif_aberrant, &
     6103    USE infotrac_phy, ONLY: ntraciso=>ntiso
     6104#ifdef ISOVERIF
     6105    USE isotopes_verif_mod, ONLY: Tmin_verif,iso_verif_aberrant, &
    61066106        iso_verif_egalite,iso_verif_egalite_choix_nostop,iso_verif_positif_nostop, &
    61076107        iso_verif_egalite_nostop,iso_verif_aberrant_nostop,deltaD,iso_verif_noNaN_nostop, &
     
    61416141  REAL xtprecip(ntraciso,nloc)
    61426142  REAL xtvprecip(ntraciso,nloc, nd+1), xtevap(ntraciso,nloc, nd)
    6143   real fxt(ntraciso,nloc,nd)
    6144   real xtclw(ntraciso,nloc,nd)
     6143  REAL fxt(ntraciso,nloc,nd)
     6144  REAL xtclw(ntraciso,nloc,nd)
    61456145  REAL xtwdtraina(ntraciso,nloc, nd)
    61466146#endif
     
    61706170  ! RomP <<<
    61716171#ifdef ISO
    6172   real xtprecip1(ntraciso,len)
    6173   real fxt1(ntraciso,len,nd)
    6174   real xtVPrecip1(ntraciso,len,nd+1),xtevap1(ntraciso,len, nd)
     6172  REAL xtprecip1(ntraciso,len)
     6173  REAL fxt1(ntraciso,len,nd)
     6174  REAL xtVPrecip1(ntraciso,len,nd+1),xtevap1(ntraciso,len, nd)
    61756175  REAL xtwdtraina1(ntraciso,len, nd)
    61766176  REAL xtclw1(ntraciso,len, nd)
     
    61806180  INTEGER i, k, j
    61816181#ifdef ISO
    6182       integer ixt
     6182      INTEGER ixt
    61836183#endif
    61846184
    61856185#ifdef DIAGISO
    6186       real water(nloc,nd)
    6187       real xtwater(ntraciso,nloc,nd)
    6188       real qp(nloc,nd),xtp(ntraciso,nloc,nd)
    6189       real fq_detrainement(nloc,nd)
    6190       real f_detrainement(nloc,nd)
    6191       real q_detrainement(nloc,nd)
    6192       real fq_ddft(nloc,nd)
    6193       real fq_fluxmasse(nloc,nd)
    6194       real fq_evapprecip(nloc,nd)
    6195       real fxt_detrainement(ntraciso,nloc,nd)
    6196       real xt_detrainement(ntraciso,nloc,nd)
    6197       real fxt_ddft(ntraciso,nloc,nd)
    6198       real fxt_fluxmasse(ntraciso,nloc,nd)
    6199       real fxt_evapprecip(ntraciso,nloc,nd)
    6200 
    6201       real water1(len,nd)
    6202       real xtwater1(ntraciso,len,nd)
    6203       real qp1(len,nd),xtp1(ntraciso,len,nd)
    6204       real fq_detrainement1(len,nd)
    6205       real f_detrainement1(len,nd)
    6206       real q_detrainement1(len,nd)
    6207       real fq_ddft1(len,nd)
    6208       real fq_fluxmasse1(len,nd)
    6209       real fq_evapprecip1(len,nd)
    6210       real fxt_detrainement1(ntraciso,len,nd)
    6211       real xt_detrainement1(ntraciso,len,nd)
    6212       real fxt_ddft1(ntraciso,len,nd)
    6213       real fxt_fluxmasse1(ntraciso,len,nd)
    6214       real fxt_evapprecip1(ntraciso,len,nd)
     6186      REAL water(nloc,nd)
     6187      REAL xtwater(ntraciso,nloc,nd)
     6188      REAL qp(nloc,nd),xtp(ntraciso,nloc,nd)
     6189      REAL fq_detrainement(nloc,nd)
     6190      REAL f_detrainement(nloc,nd)
     6191      REAL q_detrainement(nloc,nd)
     6192      REAL fq_ddft(nloc,nd)
     6193      REAL fq_fluxmasse(nloc,nd)
     6194      REAL fq_evapprecip(nloc,nd)
     6195      REAL fxt_detrainement(ntraciso,nloc,nd)
     6196      REAL xt_detrainement(ntraciso,nloc,nd)
     6197      REAL fxt_ddft(ntraciso,nloc,nd)
     6198      REAL fxt_fluxmasse(ntraciso,nloc,nd)
     6199      REAL fxt_evapprecip(ntraciso,nloc,nd)
     6200
     6201      REAL water1(len,nd)
     6202      REAL xtwater1(ntraciso,len,nd)
     6203      REAL qp1(len,nd),xtp1(ntraciso,len,nd)
     6204      REAL fq_detrainement1(len,nd)
     6205      REAL f_detrainement1(len,nd)
     6206      REAL q_detrainement1(len,nd)
     6207      REAL fq_ddft1(len,nd)
     6208      REAL fq_fluxmasse1(len,nd)
     6209      REAL fq_evapprecip1(len,nd)
     6210      REAL fxt_detrainement1(ntraciso,len,nd)
     6211      REAL xt_detrainement1(ntraciso,len,nd)
     6212      REAL fxt_ddft1(ntraciso,len,nd)
     6213      REAL fxt_fluxmasse1(ntraciso,len,nd)
     6214      REAL fxt_evapprecip1(ntraciso,len,nd)
    62156215#endif
    62166216
     
    63456345
    63466346! inputs:
    6347       integer ncum, nd, nloc
    6348       integer icb(nloc), inb(nloc)
    6349       real cape(nloc)
    6350       real clw(nloc,nd),lv(nloc,nd),t(nloc,nd),h(nloc,nd)
    6351       integer nk(nloc)
     6347      INTEGER ncum, nd, nloc
     6348      INTEGER icb(nloc), inb(nloc)
     6349      REAL cape(nloc)
     6350      REAL clw(nloc,nd),lv(nloc,nd),t(nloc,nd),h(nloc,nd)
     6351      INTEGER nk(nloc)
    63526352! inouts:
    6353       real ep(nloc,nd)
    6354       real hp(nloc,nd)
     6353      REAL ep(nloc,nd)
     6354      REAL hp(nloc,nd)
    63556355! outputs ou local
    6356       real epmax_diag(nloc)
     6356      REAL epmax_diag(nloc)
    63576357! locals
    6358       integer i,k   
    6359       real hp_bak(nloc,nd)
     6358      INTEGER i,k
     6359      REAL hp_bak(nloc,nd)
    63606360      CHARACTER (LEN=20) :: modname='cv30_epmax_fn_cape'
    63616361      CHARACTER (LEN=80) :: abort_message
     
    63636363        ! on recalcule ep et hp
    63646364       
    6365         if (coef_epmax_cape.gt.1e-12) THEN
     6365        IF (coef_epmax_cape.gt.1e-12) THEN
    63666366        do i=1,ncum
    63676367           epmax_diag(i)=epmax-coef_epmax_cape*sqrt(cape(i))
     
    63866386      do k=minorig+1,nl
    63876387       do i=1,ncum
    6388         if((k.ge.icb(i)).and.(k.le.inb(i)))THEN
     6388        IF((k.ge.icb(i)).AND.(k.le.inb(i)))THEN
    63896389          hp(i,k)=h(i,nk(i))+(lv(i,k)+(cpd-cpv)*t(i,k))*ep(i,k)*clw(i,k)
    63906390        endif
     
    63946394      do i=1,ncum 
    63956395       do k=1,nl
    6396         if (abs(hp_bak(i,k)-hp(i,k)).gt.0.01) THEN
     6396        IF (abs(hp_bak(i,k)-hp(i,k)).gt.0.01) THEN
    63976397           WRITE(*,*) 'i,k=',i,k
    63986398           WRITE(*,*) 'coef_epmax_cape=',coef_epmax_cape
Note: See TracChangeset for help on using the changeset viewer.