function iso_verif_noNaN_nostop(x,err_msg) implicit none ! si x est NaN, on affiche message ! d'erreur et return 1 si erreur ! input: real x character*(*) err_msg ! message d''erreur à afficher ! output real borne parameter (borne=1e19) integer iso_verif_noNaN_nostop if ((x>-borne).and.(xerrmax) then if (abs((a-b)/max(max(abs(b),abs(a)),1e-18)) : >errmaxrel) then write(*,*) 'erreur detectee par iso_verif_egalite:' write(*,*) err_msg write(*,*) 'a=',a write(*,*) 'b=',b iso_verif_egalite_nostop=1 endif endif return end function iso_verif_aberrant_nostop : (x,iso,q,err_msg) USE infotrac, ONLY: isoName, getKey implicit none ! input: real x,q integer iso ! 2=HDO, 1=O18 character*(*) err_msg ! message d''erreur à afficher ! locals real qmin,deltaD real deltaDmax,deltaDmin,tnat parameter (qmin=1e-11) parameter (deltaDmax=200.0,deltaDmin=-999.9) ! output integer iso_verif_aberrant_nostop iso_verif_aberrant_nostop=0 ! verifier que HDO est raisonable if (q>qmin) then IF(getKey('tnat', tnat, isoName(iso))) THEN err_msg = 'Missing isotopic parameter "tnat"' iso_verif_aberrant_nostop=1 RETURN END IF deltaD=(x/q/tnat-1)*1000 if ((deltaD>deltaDmax).or.(deltaD