9 #include "dimensions.h"
16 INTEGER iq_vap, iq_liq
19 REAL seuil_vap, seuil_liq
29 REAL zx_defau, zx_abc, zx_pump(
ijb_u:
ije_u), pompe
45 INTEGER iso_verif_noNaN_nostop
60 zx_defau_diag(ijb:ije,:,:)=0.0
61 q_follow(ijb:ije,:,1:2)=q(ijb:ije,:,1:2)
67 if (seuil_liq - q(i,k,iq_liq) .gt. 0.d0 )
then
70 zx_defau_diag(i,k,iq_liq)=amax1
71 : ( seuil_liq - q(i,k,iq_liq), 0.0 )
74 q(i,k,iq_vap) = q(i,k,iq_vap) + q(i,k,iq_liq) - seuil_liq
75 q(i,k,iq_liq) = seuil_liq
96 if ( seuil_vap - q(i,k,iq) .gt. 0.d0 )
then
99 zx_defau_diag(i,k,iq)=amax1( seuil_vap - q(i,k,iq), 0.0 )
102 q(i,k-1,iq) = q(i,k-1,iq) - ( seuil_vap - q(i,k,iq) ) *
103 & deltap(i,k) / deltap(i,k-1)
104 q(i,k,iq) = seuil_vap
120 zx_pump(i) = amax1( 0.0, seuil_vap - q(i,1,iq) )
121 q(i,1,iq) = amax1( q(i,1,iq), seuil_vap )
122 IF (zx_pump(i) > 0.0)
THEN
124 index_pump(nb_pump)=i
130 IF (imprim.LE.100 .AND. nb_pump .GT. 0 )
THEN
131 print *,
'ATT!:on pompe de l eau au sol'
134 print*,
' en ',index_pump(i),zx_pump(index_pump(i))
148 if (zx_pump(i).gt.0.0)
then
149 q_follow(i,1,iq_vap)=q_follow(i,1,iq_vap)+zx_pump(i)
157 if (zx_defau_diag(i,k,iq_vap).gt.0.0)
then
160 q(i,k,
iqiso(ixt,iq_vap))=q(i,k,
iqiso(ixt,iq_vap))
161 : +zx_defau_diag(i,k,iq_vap)
162 : *q(i,k-1,
iqiso(ixt,iq_vap))/q_follow(i,k-1,iq_vap)
165 if (iso_verif_nonan_nostop(q(i,k,
iqiso(ixt,iq_vap)),
166 :
'qminimum 155').eq.1)
then
167 write(*,*)
'i,k,ixt=',i,k,ixt
168 write(*,*)
'q_follow(i,k-1,iq_vap)=',
169 : q_follow(i,k-1,iq_vap)
170 write(*,*)
'q(i,k,iqiso(ixt,iq_vap))=',
171 : q(i,k,
iqiso(ixt,iq_vap))
172 write(*,*)
'zx_defau_diag(i,k,iq_vap)=',
173 : zx_defau_diag(i,k,iq_vap)
174 write(*,*)
'q(i,k-1,iqiso(ixt,iq_vap))=',
175 : q(i,k-1,
iqiso(ixt,iq_vap))
181 q(i,k-1,
iqiso(ixt,iq_vap))=q(i,k-1,
iqiso(ixt,iq_vap))
182 : -zx_defau_diag(i,k,iq_vap)
183 : *deltap(i,k)/deltap(i,k-1)
184 : *q(i,k-1,
iqiso(ixt,iq_vap))/q_follow(i,k-1,iq_vap)
187 if (iso_verif_nonan_nostop(q(i,k-1,
iqiso(ixt,iq_vap)),
188 :
'qminimum 175').eq.1)
then
189 write(*,*)
'k,i,ixt=',k,i,ixt
190 write(*,*)
'q_follow(i,k-1,iq_vap)=',
191 : q_follow(i,k-1,iq_vap)
192 write(*,*)
'q(i,k,iqiso(ixt,iq_vap))=',
193 : q(i,k,
iqiso(ixt,iq_vap))
194 write(*,*)
'zx_defau_diag(i,k,iq_vap)=',
195 : zx_defau_diag(i,k,iq_vap)
196 write(*,*)
'q(i,k-1,iqiso(ixt,iq_vap))=',
197 : q(i,k-1,
iqiso(ixt,iq_vap))
203 q_follow(i,k,iq_vap)= q_follow(i,k,iq_vap)
204 : +zx_defau_diag(i,k,iq_vap)
205 q_follow(i,k-1,iq_vap)= q_follow(i,k-1,iq_vap)
206 : -zx_defau_diag(i,k,iq_vap)
207 : *deltap(i,k)/deltap(i,k-1)
221 if (zx_defau_diag(i,k,iq_liq).gt.0.0)
then
225 q(i,k,
iqiso(ixt,iq_liq))=q(i,k,
iqiso(ixt,iq_liq))
226 : +zx_defau_diag(i,k,iq_liq)
227 : *q(i,k,
iqiso(ixt,iq_vap))/q_follow(i,k,iq_vap)
229 q(i,k,
iqiso(ixt,iq_vap))=q(i,k,
iqiso(ixt,iq_vap))
230 : -zx_defau_diag(i,k,iq_liq)
231 : *q(i,k,
iqiso(ixt,iq_vap))/q_follow(i,k,iq_vap)
233 q_follow(i,k,iq_liq)= q_follow(i,k,iq_liq)
234 : +zx_defau_diag(i,k,iq_liq)
235 q_follow(i,k,iq_vap)= q_follow(i,k,iq_vap)
236 : -zx_defau_diag(i,k,iq_liq)
subroutine check_isotopes(q, ijb, ije, err_msg)
subroutine qminimum_loc(q, nqtot, deltap)
logical, save ok_iso_verif
!$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 iqiso
!$Header!integer nvarmx parameter(nfmx=10, imx=200, jmx=150, lmx=200, nvarmx=1000) real xd(imx
logical, save ok_isotopes