Ignore:
Timestamp:
May 22, 2018, 4:30:21 PM (6 years ago)
Author:
acozic
Message:

Add modification for isotopes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/IPSLCM5A2.1_ISO/libf/dyn3dmem/check_isotopes_loc.F

    r2281 r3331  
    1212
    1313        ! locals
    14         integer ixt,phase,k,i,iq,iiso,izone,ieau,iqeau
     14        integer ixt,phase,k,i,iq,iiso,izone,ieau,iqeau,ixt2,iq2
    1515        real xtractot,xiiso
    1616        real borne
     
    2424        parameter (errmaxrel=1e-3)
    2525        parameter (qmin=1e-11)
    26         parameter (deltaDmax=200.0,deltaDmin=-999.9)
     26        parameter (deltaDmax=1000.0,deltaDmin=-999.0)
    2727        parameter (ridicule=1e-12)
    2828        real deltaD
     29        real dexcessmax,dexcessmin
     30        parameter (dexcessmax=6000.0,dexcessmin=-100.0)
    2931
    3032        if (ok_isotopes) then
     
    134136          enddo ! do phase=1,nqo
    135137        endif !if (use_iso(2)) then
     138
     139        !write(*,*) 'check_isotopes 103'
     140        ! verifier que dexcess est raisonable
     141        if (use_iso(3).and.use_iso(2)) then
     142          ixt=indnum_fn_num(3)
     143          ixt2=indnum_fn_num(2)
     144          do phase=1,nqo
     145            iq=iqiso(ixt,phase)
     146            iq2=iqiso(ixt2,phase)
     147c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
     148            do k=1,llm
     149            DO i = ijb,ije
     150            if (q(i,k,iq).gt.qmin) then
     151             deltaD=(q(i,k,iq2)/q(i,k,phase)/tnat(2)-1)*1000
     152     &            -8.0*(q(i,k,iq)/q(i,k,phase)/tnat(3)-1)*1000
     153             if ((deltaD.gt.dexcessmax).or.(deltaD.lt.dexcessmin)) then
     154                  write(*,*) 'erreur detectee iso_verif_aberrant O18:'
     155                  write(*,*) err_msg
     156                  write(*,*) 'ixt,ixt2,phase=',ixt,ixt2,phase
     157                  write(*,*) 'q,iq,i,k,=',q(i,k,phase),iq,i,k
     158                  write(*,*) 'xt=',q(i,k,:)
     159                  write(*,*) 'dexcess=',deltaD
     160                  stop
     161             endif !if ((deltaD.gt.deltaDmax).or.(deltaD.lt.deltaDmin)) then
     162            endif !if (q(i,k,iq).gt.qmin) then
     163            enddo !DO i = ijb,ije
     164            enddo !do k=1,llm
     165c$OMP END DO NOWAIT
     166          enddo ! do phase=1,nqo
     167        endif !if (use_iso(2)) then
     168
    136169
    137170
Note: See TracChangeset for help on using the changeset viewer.