6 #include "dimensions.h"
14 integer ixt,phase,k,i,iq,iiso,izone,ieau,iqeau
20 real deltaDmax,deltaDmin
26 parameter(deltadmax=200.0,deltadmin=-999.9)
40 if ((q(i,k,iq).gt.-borne).and.
41 : (q(i,k,iq).lt.borne))
then
43 write(*,*)
'erreur detectee par iso_verif_noNaN:'
45 write(*,*)
'q,i,k,iq=',q(i,k,iq),i,k,iq
46 write(*,*)
'borne=',borne
64 if ((abs(q(i,k,phase)-q(i,k,iq)).gt.errmax).and.
65 : (abs((q(i,k,phase)-q(i,k,iq))/
66 : max(max(abs(q(i,k,phase)),abs(q(i,k,iq))),1e-18))
67 : .gt.errmaxrel))
then
68 write(*,*)
'erreur detectee par iso_verif_egalite:'
70 write(*,*)
'ixt,phase,ijb=',ixt,phase,ijb
71 write(*,*)
'q,iq,i,k=',q(i,k,iq),iq,i,k
72 write(*,*)
'q(i,k,phase)=',q(i,k,phase)
76 q(i,k,iq)= q(i,k,phase)
92 if (q(i,k,iq).gt.qmin)
then
93 deltad=(q(i,k,iq)/q(i,k,phase)/
tnat(2)-1)*1000
94 if ((deltad.gt.deltadmax).or.(deltad.lt.deltadmin))
then
95 write(*,*)
'erreur detectee par iso_verif_aberrant:'
97 write(*,*)
'ixt,phase=',ixt,phase
98 write(*,*)
'q,iq,i,k,=',q(i,k,iq),iq,i,k
99 write(*,*)
'q=',q(i,k,:)
100 write(*,*)
'deltaD=',deltad
119 if (q(i,k,iq).gt.qmin)
then
120 deltad=(q(i,k,iq)/q(i,k,phase)/
tnat(3)-1)*1000
121 if ((deltad.gt.deltadmax).or.(deltad.lt.deltadmin))
then
122 write(*,*)
'erreur detectee iso_verif_aberrant O18:'
124 write(*,*)
'ixt,phase=',ixt,phase
125 write(*,*)
'q,iq,i,k,=',q(i,k,phase),iq,i,k
126 write(*,*)
'xt=',q(i,k,:)
127 write(*,*)
'deltaO18=',deltad
147 iqeau=
iqiso(ieau,phase)
151 if (q(i,k,iq).gt.qmin)
then
152 deltad=(q(i,k,iq)/q(i,k,iqeau)/
tnat(2)-1)*1000
153 if ((deltad.gt.deltadmax).or.
154 & (deltad.lt.deltadmin))
then
155 write(*,*)
'erreur dans iso_verif_aberrant trac:'
157 write(*,*)
'izone,phase=',izone,phase
158 write(*,*)
'ixt,ieau=',ixt,ieau
159 write(*,*)
'q,iq,i,k,=',q(i,k,iq),iq,i,k
160 write(*,*)
'deltaD=',deltad
181 xtractot=xtractot+ q(i,k,iq)
183 if ((abs(xtractot-xiiso).gt.errmax).and.
184 : (abs(xtractot-xiiso)/
185 : max(max(abs(xtractot),abs(xiiso)),1e-18)
186 : .gt.errmaxrel))
then
187 write(*,*)
'erreur detectee par iso_verif_traceurs:'
189 write(*,*)
'iiso,phase=',iiso,phase
190 write(*,*)
'i,k,=',i,k
191 write(*,*)
'q(i,k,:)=',q(i,k,:)
196 if (abs(xtractot).gt.ridicule)
then
199 q(i,k,iq)=q(i,k,iq)/xtractot*xiiso
subroutine check_isotopes(q, ijb, ije, err_msg)
integer, save ntraceurs_zone
real, dimension(niso_possibles), save tnat
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
integer, dimension(:,:), allocatable, save index_trac
integer, dimension(:,:), allocatable, save iqiso
integer, dimension(niso_possibles), save indnum_fn_num
!$Header!integer nvarmx parameter(nfmx=10, imx=200, jmx=150, lmx=200, nvarmx=1000) real xd(imx
logical, dimension(niso_possibles), save use_iso
logical, save ok_isotopes