Ignore:
Timestamp:
Mar 1, 2023, 6:22:39 PM (16 months ago)
Author:
Laurent Fairhead
Message:

Merged trunk revisions from 4127 to 4443 (HEAD) into branch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Portage_acc/libf/phylmdiso/isotopes_verif_mod.F90

    r4050 r4446  
    66!use isotopes_mod, ONLY:
    77!#ifdef ISOTRAC
    8 !use isotrac_mod, ONLY:
     8!   USE isotrac_mod, ONLY: nzone
    99!#endif
     10USE infotrac_phy, ONLY: ntraciso=>ntiso, niso, itZonIso, nzone
    1011implicit none
    1112save
     
    9394        SUBROUTINE iso_verif_init()
    9495        use ioipsl_getin_p_mod, ONLY : getin_p
    95         !USE infotrac_phy, ONLY: use_iso
    9696        use isotopes_mod, ONLY: iso_O17, iso_O18, iso_HDO
    9797        implicit none
     
    196196
    197197        subroutine iso_verif_aberrant(R,err_msg)
    198         !USE infotrac_phy, ONLY: use_iso
    199198        use isotopes_mod, ONLY: ridicule, iso_HDO
    200199        implicit none
     
    227226
    228227        subroutine iso_verif_aberrant_encadre(R,err_msg)
    229         !use infotrac_phy, ONLY: use_iso
    230228        use isotopes_mod, ONLY: ridicule, iso_HDO
    231229        implicit none
     
    263261
    264262        subroutine iso_verif_aberrant_choix(xt,q,qmin,deltaDmax,err_msg)
    265         !use infotrac_phy, ONLY: use_iso
    266263        use isotopes_mod, ONLY: iso_HDO
    267264        implicit none
     
    298295
    299296        function iso_verif_aberrant_nostop(R,err_msg)
    300         !use infotrac_phy, ONLY: use_iso
    301297        use isotopes_mod, ONLY: ridicule,iso_HDO
    302298        implicit none
     
    330326
    331327        function iso_verif_aberrant_enc_nostop(R,err_msg)
    332         !use infotrac_phy, ONLY: use_iso
    333328        use isotopes_mod, ONLY: ridicule,iso_HDO
    334329        implicit none
     
    366361     &            qmin,deltaDmax,err_msg)
    367362
    368         !use infotrac_phy, ONLY: use_iso
    369363        use isotopes_mod, ONLY: iso_HDO
    370364        implicit none
     
    428422        function iso_verif_aberrant_enc_choix_nostop(xt,q,   &
    429423     &            qmin,deltaDmax,err_msg)
    430         !use infotrac_phy, ONLY: use_iso
    431424        use isotopes_mod, ONLY: iso_HDO
    432425        implicit none
     
    10651058        ! **********
    10661059        function deltaD(R)
    1067         !use infotrac_phy, ONLY: use_iso
    10681060        USE isotopes_mod, ONLY: tnat,iso_HDO
    10691061        implicit none
     
    10821074        ! **********
    10831075        function deltaO(R)
    1084         !use infotrac_phy, ONLY: use_iso
    10851076        USE isotopes_mod, ONLY: tnat,iso_O18
    10861077        implicit none
     
    10981089        ! **********
    10991090        function dexcess(RD,RO)
    1100         !use infotrac_phy, ONLY: use_iso
    11011091        USE isotopes_mod, ONLY: tnat,iso_O18,iso_HDO
    11021092        implicit none
     
    11381128         ! **********
    11391129        function o17excess(R17,R18)
    1140         !use infotrac_phy, ONLY: use_iso
    11411130        USE isotopes_mod, ONLY: tnat,iso_O18,iso_O17
    11421131        implicit none
     
    11601149     &           xt,q,err_msg,ni,n,m)
    11611150       
    1162         !use infotrac_phy, ONLY: use_iso
    11631151        USE isotopes_mod, ONLY: iso_eau
    11641152          implicit none
     
    12121200     &           xt,q,err_msg,ni,n)
    12131201
    1214         !use infotrac_phy, ONLY: use_iso
    12151202        USE isotopes_mod, ONLY: iso_eau
    12161203        implicit none
     
    12961283        subroutine iso_verif_aberrant_vect2D( &
    12971284     &           xt,q,err_msg,ni,n,m)
    1298         !use infotrac_phy, ONLY: use_iso
    12991285        use isotopes_mod, ONLY: ridicule,tnat,iso_HDO
    13001286          implicit none
     
    13451331     &           xt,q,err_msg,ni,n,m)
    13461332
    1347         !use infotrac_phy, ONLY: use_iso
    13481333        use isotopes_mod, ONLY: ridicule,tnat,iso_HDO
    13491334          implicit none
     
    13991384     &           xt,q,err_msg,ni,n,m)
    14001385
    1401         !use infotrac_phy, ONLY: use_iso
    14021386        use isotopes_mod, ONLY: ridicule,tnat,iso_HDO
    14031387          implicit none
     
    14501434     &           xt,q,err_msg,ni,n,m,deltaDmax)
    14511435
    1452         !use infotrac_phy, ONLY: use_iso
    14531436        use isotopes_mod, ONLY: ridicule,tnat,iso_HDO
    14541437          implicit none
     
    15011484     &           xt,q,err_msg,ni,n,m)
    15021485
    1503         !use infotrac_phy, ONLY: use_iso
    15041486        use isotopes_mod, ONLY: ridicule,tnat,iso_HDO,iso_O18
    15051487          implicit none
     
    17661748     &           xt,q,err_msg,ni,n,m,ib,ie)
    17671749
    1768         !use infotrac_phy, ONLY: use_iso
    17691750        use isotopes_mod, ONLY: ridicule,tnat,iso_HDO
    17701751          implicit none
     
    18171798     &           xt,q,err_msg,ni,n,m,ib,ie)
    18181799       
    1819         !use infotrac_phy, ONLY: use_iso
    18201800        USE isotopes_mod, ONLY: iso_eau
    18211801          implicit none
     
    18631843      function iso_verif_traceur_choix_nostop(x,err_msg, &
    18641844     &       errmax,errmaxrel,ridicule_trac,deltalimtrac)
    1865         USE infotrac_phy, ONLY: ntraciso
    18661845        use isotopes_mod, ONLY: iso_HDO
    18671846        implicit none
     
    19151894        function iso_verif_tracnps_choix_nostop(x,err_msg, &
    19161895     &       errmax,errmaxrel,ridicule_trac,deltalimtrac)
    1917         USE infotrac_phy, ONLY: ntraciso
    19181896        USE isotopes_mod, ONLY: iso_HDO
    19191897        implicit none
     
    19611939
    19621940        function iso_verif_tracpos_choix_nostop(x,err_msg,seuil)
    1963         use infotrac_phy, ONLY: ntraciso,niso
    1964         use isotrac_mod, only: index_iso,strtrac,index_zone
    1965         use isotopes_mod, only: striso
     1941        use isotopes_mod, only: isoName
    19661942        implicit none
    19671943
     
    19821958
    19831959       do ixt=niso+1,ntraciso
    1984           iiso=index_iso(ixt)
    19851960          if (iso_verif_positif_choix_nostop(x(ixt),seuil,err_msg// &
    1986      &           ', verif positif, iso'//striso(iiso) &
    1987      &           //strtrac(index_zone(ixt))).eq.1) then
     1961     &           ', verif positif, iso'//TRIM(isoName(ixt))).eq.1) then
    19881962            iso_verif_tracpos_choix_nostop=1
    19891963          endif
     
    19941968
    19951969        function iso_verif_traceur_noNaN_nostop(x,err_msg)
    1996         use infotrac_phy, ONLY: ntraciso,niso
    1997         use isotrac_mod, only: index_iso
    1998         use isotopes_mod, only: striso
     1970        use isotopes_mod, only: isoName
    19991971        implicit none
    20001972
     
    20151987
    20161988        do ixt=niso+1,ntraciso
    2017           iiso=index_iso(ixt)
    20181989!          write(*,*) 'iso_verif_traceurs 154: iiso,ixt=',iiso,ixt
    20191990          if (iso_verif_noNaN_nostop(x(ixt),err_msg// &
    2020      &           ', verif trac no NaN, iso'//striso(iiso)) &
     1991     &           ', verif trac no NaN, iso'//TRIM(isoName(ixt))) &
    20211992     &           .eq.1) then
    20221993            iso_verif_traceur_noNaN_nostop=1
     
    20292000     &           errmaxin,errmaxrelin)
    20302001
    2031         use infotrac_phy, ONLY: index_trac,ntraciso,niso
    2032         use isotopes_mod, ONLY: ridicule,striso
    2033         use isotrac_mod, only: ntraceurs_zone
     2002        use isotopes_mod, ONLY: ridicule,isoName
    20342003        ! on vérifie juste bilan de masse
    20352004        implicit none
     
    20532022
    20542023          xtractot=0.0
    2055           do izone=1,ntraceurs_zone 
    2056             ixt=index_trac(izone,iiso)
     2024          do izone=1,nzone 
     2025            ixt=itZonIso(izone,iiso)
    20572026            xtractot=xtractot+x(ixt)
    2058           enddo !do izone=1,ntraceurs_zone
     2027          enddo
    20592028
    20602029          if (iso_verif_egalite_choix_nostop(xtractot,x(iiso), &
    2061      &        err_msg//', verif trac egalite, iso '//striso(iiso), &
     2030     &        err_msg//', verif trac egalite, iso '// &
     2031     &        TRIM(isoName(iiso)), &
    20622032     &        errmaxin,errmaxrelin).eq.1) then
    20632033            write(*,*) 'iso_verif_traceur 202: x=',x
     
    20702040     &           (abs(x(iiso)).gt.ridicule)) then
    20712041            write(*,*) err_msg,', verif masse traceurs, iso ', &
    2072      &          striso(iiso)
     2042     &          TRIM(isoName(iiso))
    20732043            write(*,*) 'iso_verif_traceur 209: x=',x
    20742044!            iso_verif_tracm_choix_nostop=1
     
    20822052     &           ridicule_trac,deltalimtrac)
    20832053
    2084         use infotrac_phy, ONLY: index_trac,ntraciso
    20852054        USE isotopes_mod, ONLY: iso_eau, iso_HDO
    2086         use isotrac_mod, only: strtrac,ntraceurs_zone
     2055        use isotrac_mod, only: strtrac
    20872056        ! on vérifie juste deltaD
    20882057        implicit none
     
    21032072
    21042073        if ((iso_eau.gt.0).and.(iso_HDO.gt.0)) then
    2105         do izone=1,ntraceurs_zone
    2106              ieau=index_trac(izone,iso_eau)
    2107              ixt=index_trac(izone,iso_HDO)
     2074        do izone=1,nzone
     2075             ieau=itZonIso(izone,iso_eau)
     2076             ixt=itZonIso(izone,iso_HDO)
    21082077
    21092078             if (iso_verif_aberrant_choix_nostop(x(ixt),x(ieau), &
     
    21182087!     :           //strtrac(izone))
    21192088!             endif
    2120         enddo !do izone=1,ntraceurs_zone
     2089        enddo !do izone=1,nzone
    21212090       endif ! if ((iso_eau.gt.0).and.(iso_HDO.gt.0)) then
    21222091
     
    21242093
    21252094INTEGER FUNCTION iso_verif_tag17_q_deltaD_chns(x,err_msg) RESULT(res)
    2126   USE infotrac_phy, ONLY: index_trac, ntraciso
    21272095  USE isotopes_mod, ONLY: iso_HDO, iso_eau, ridicule
    21282096  USE isotrac_mod,  ONLY: nzone_temp, option_traceurs
     
    21352103  !--- Check whether * deltaD(highest tagging layer) < 200 permil
    21362104  !                  * q <
    2137   ieau=index_trac(nzone_temp,iso_eau)
    2138   ixt=index_trac(nzone_temp,iso_HDO)
     2105  ieau=itZonIso(nzone_temp,iso_eau)
     2106  ixt=itZonIso(nzone_temp,iso_HDO)
    21392107  IF(x(ieau)>ridicule) THEN
    21402108    IF(iso_verif_positif_nostop(-200.0-deltaD(x(ixt)/x(ieau)), err_msg//': deltaDt05 trop fort')==1) THEN
     
    21472115  !--- Check whether q is small ; then, qt01 < 10%
    21482116  IF(x(iso_eau)<2.0e-3) THEN
    2149     ieau1= index_trac(1,iso_eau)
     2117    ieau1= itZonIso(1,iso_eau)
    21502118    IF(iso_verif_positif_nostop(0.1-(x(ieau1)/x(iso_eau)),err_msg//': qt01 trop abondant')==1) THEN
    21512119      res=1; write(*,*) 'x=',x
     
    21562124SUBROUTINE iso_verif_trac17_q_deltaD(x,err_msg)
    21572125  USE isotrac_mod,  ONLY: nzone_temp, option_traceurs
    2158   USE infotrac_phy, ONLY: ntraciso
    21592126  IMPLICIT NONE
    21602127  REAL,             INTENT(IN) :: x(ntraciso)
     
    21672134
    21682135      subroutine iso_verif_traceur(x,err_msg)
    2169         USE infotrac_phy, ONLY: ntraciso
    21702136        use isotrac_mod, only: ridicule_trac
    21712137        implicit none
     
    21952161      subroutine iso_verif_traceur_retourne3D(x,n1,n2,n3, &
    21962162     &           i1,i2,i3,err_msg)
    2197         USE infotrac_phy, ONLY: ntraciso
    21982163        use isotrac_mod, only: ridicule_trac
    21992164
     
    22282193        subroutine iso_verif_traceur_retourne4D(x,n1,n2,n3,n4, &
    22292194     &           i1,i2,i3,i4,err_msg)
    2230         USE infotrac_phy, ONLY: ntraciso
    22312195        use isotrac_mod, only: ridicule_trac
    22322196
     
    22622226      subroutine iso_verif_traceur_retourne2D(x,n1,n2, &
    22632227     &           i1,i2,err_msg)
    2264         USE infotrac_phy, ONLY: ntraciso
    22652228        use isotrac_mod, only: ridicule_trac
    22662229        implicit none
     
    22932256
    22942257        subroutine iso_verif_traceur_vect(x,n,m,err_msg)
    2295         USE infotrac_phy, ONLY: ntraciso
    22962258        USE isotopes_mod, ONLY: iso_HDO
    22972259        implicit none
     
    23292291
    23302292        subroutine iso_verif_tracnps_vect(x,n,m,err_msg)
    2331         USE infotrac_phy, ONLY: ntraciso
    23322293        USE isotopes_mod, ONLY: iso_HDO
    23332294        implicit none
     
    23632324
    23642325        subroutine iso_verif_traceur_noNaN_vect(x,n,m,err_msg)
    2365         USE infotrac_phy, ONLY: ntraciso,niso
    23662326        implicit none
    23672327       
     
    24072367        subroutine iso_verif_trac_masse_vect(x,n,m,err_msg, &
    24082368     &            errmax,errmaxrel)
    2409         USE infotrac_phy, ONLY: index_trac,ntraciso,niso
    2410         use isotopes_mod, only: striso
    2411         use isotrac_mod, only: ntraceurs_zone
     2369        use isotopes_mod, only: isoName
    24122370        implicit none
    24132371       
     
    24302388          xtractot(i,j)=0.0
    24312389          xiiso(i,j)=x(iiso,i,j)
    2432           do izone=1,ntraceurs_zone 
    2433             ixt=index_trac(izone,iiso)
     2390          do izone=1,nzone
     2391            ixt=itZonIso(izone,iiso)
    24342392            xtractot(i,j)=xtractot(i,j)+x(ixt,i,j)           
    2435           enddo !do izone=1,ntraceurs_zone
     2393          enddo !do izone=1,nzone
    24362394         enddo !do i=1,n
    24372395        enddo !do j=1,m
     
    24402398        call iso_verif_egalite_std_vect( &
    24412399     &           xtractot,xiiso, &
    2442      &           err_msg//', verif trac egalite, iso '//striso(iiso), &
     2400     &           err_msg//', verif trac egalite, iso ' &
     2401     &           //TRIM(isoName(iiso)), &
    24432402     &           n,m,errmax,errmaxrel)
    24442403        enddo !do iiso=1,niso
     
    24472406
    24482407        subroutine iso_verif_tracdd_vect(x,n,m,err_msg)
    2449         use infotrac_phy, only: index_trac,ntraciso,niso
    24502408        use isotopes_mod, only: iso_HDO,iso_eau
    2451         use isotrac_mod, only: strtrac,ntraceurs_zone
     2409        use isotrac_mod, only: strtrac
    24522410        implicit none
    24532411       
     
    24642422
    24652423       if (iso_HDO.gt.0) then
    2466         do izone=1,ntraceurs_zone
    2467           ieau=index_trac(izone,iso_eau)
     2424        do izone=1,nzone
     2425          ieau=itZonIso(izone,iso_eau)
    24682426          do iiso=1,niso
    2469            ixt=index_trac(izone,iiso)
     2427           ixt=itZonIso(izone,iiso)
    24702428           do j=1,m
    24712429            do i=1,n
     
    24842442     &           xiiso,xeau,err_msg//strtrac(izone),niso,n,m, &
    24852443     &           deltalimtrac)
    2486          enddo !do izone=1,ntraceurs_zone
     2444         enddo !do izone=1,nzone
    24872445        endif !if (iso_HDO.gt.0) then
    24882446
     
    24902448
    24912449        subroutine iso_verif_tracpos_vect(x,n,m,err_msg,seuil)
    2492         USE infotrac_phy, ONLY: ntraciso,niso
    24932450        implicit none
    24942451
     
    25322489
    25332490        subroutine iso_verif_tracnps(x,err_msg)
    2534         USE infotrac_phy, ONLY: ntraciso
    25352491        use isotrac_mod, only: ridicule_trac
    25362492
     
    25592515
    25602516        subroutine iso_verif_tracpos_choix(x,err_msg,seuil)
    2561         USE infotrac_phy, ONLY: ntraciso
    25622517        implicit none
    25632518        ! vérifier des choses sur les traceurs
     
    25852540        subroutine iso_verif_traceur_choix(x,err_msg, &
    25862541     &       errmax,errmaxrel,ridicule_trac_loc,deltalimtrac)
    2587         USE infotrac_phy, ONLY: ntraciso
    25882542        implicit none
    25892543        ! vérifier des choses sur les traceurs
     
    26082562
    26092563        function iso_verif_traceur_nostop(x,err_msg)
    2610         USE infotrac_phy, ONLY: ntraciso
    26112564        use isotrac_mod, only: ridicule_trac
    26122565        !use isotopes_verif, only: errmax,errmaxrel,deltalimtrac
     
    26372590
    26382591      subroutine iso_verif_traceur_justmass(x,err_msg)
    2639         USE infotrac_phy, ONLY: ntraciso
    26402592        implicit none
    26412593        ! on vérifie que noNaN et masse
     
    26662618
    26672619        function iso_verif_traceur_jm_nostop(x,err_msg)
    2668         USE infotrac_phy, ONLY: ntraciso
    26692620        implicit none
    26702621        ! on vérifie que noNaN et masse
     
    26992650
    27002651        subroutine iso_verif_tag17_q_deltaD_vect(x,n,m,err_msg)
    2701         USE infotrac_phy, ONLY: index_trac,ntraciso
    27022652        USE isotopes_mod, ONLY: tnat,iso_eau, ridicule,iso_HDO
    27032653        use isotrac_mod, only: option_traceurs,nzone_temp
     
    27192669        ! verifier que deltaD du tag de la couche la plus haute <
    27202670        ! 200 permil, et vérifier que son q est inférieur à
    2721         ieau=index_trac(nzone_temp,iso_eau)
    2722         ixt=index_trac(nzone_temp,iso_HDO)
    2723         ieau1=index_trac(1,iso_eau)
     2671        ieau=itZonIso(nzone_temp,iso_eau)
     2672        ixt=itZonIso(nzone_temp,iso_HDO)
     2673        ieau1=itZonIso(1,iso_eau)
    27242674        do i=1,n
    27252675         do k=1,m
     
    27592709
    27602710        subroutine iso_verif_tag17_q_deltaD_vect_ret3D(x,n,m,nq,err_msg)
    2761         USE infotrac_phy, ONLY: index_trac,ntraciso
    27622711        USE isotopes_mod, ONLY: tnat,iso_eau,iso_HDO,ridicule
    27632712        use isotrac_mod, only: option_traceurs,nzone_temp
     
    27792728        ! verifier que deltaD du tag de la couche la plus haute <
    27802729        ! 200 permil, et vérifier que son q est inférieur à
    2781         ieau=index_trac(nzone_temp,iso_eau)
    2782         ixt=index_trac(nzone_temp,iso_HDO)
    2783         ieau1=index_trac(1,iso_eau)
     2730        ieau=itZonIso(nzone_temp,iso_eau)
     2731        ixt=itZonIso(nzone_temp,iso_HDO)
     2732        ieau1=itZonIso(1,iso_eau)
    27842733        do iq=1,nq
    27852734        do i=1,n
Note: See TracChangeset for help on using the changeset viewer.