5 & lalim,lmin,zmax,wmax,lev_out)
23 REAL zlev(ngrid,nlay+1)
26 REAL alim_star(ngrid,nlay)
34 REAL zw2(ngrid,nlay+1)
35 REAL f_star(ngrid,nlay+1)
36 REAL ztva(ngrid,nlay+1)
38 REAL wa_moy(ngrid,nlay+1)
39 REAL linter(ngrid),zlevinter(ngrid)
40 INTEGER lmix(ngrid),lmax(ngrid),lmin(ngrid)
41 CHARACTER (LEN=20) :: modname=
'thermcell_dry'
42 CHARACTER (LEN=80) :: abort_message
66 f_star(:,l+1)=f_star(:,l)+alim_star(:,l)
80 if (l.eq.lmin(ig).and.lalim(ig).gt.1)
then
87 zw2(ig,l+1)=2.*
rg*(ztv(ig,l)-ztv(ig,l+1))/ztv(ig,l+1) &
88 & *(zlev(ig,l+1)-zlev(ig,l)) &
89 & *0.4*pphi(ig,l)/(pphi(ig,l+1)-pphi(ig,l))
100 else if (zw2(ig,l).ge.1e-10)
then
102 ztva(ig,l)=(f_star(ig,l)*ztva(ig,l-1)+alim_star(ig,l) &
103 & *ztv(ig,l))/f_star(ig,l+1)
104 zw2(ig,l+1)=zw2(ig,l)*(f_star(ig,l)/f_star(ig,l+1))**2+ &
105 & 2.*
rg*(ztva(ig,l)-ztv(ig,l))/ztv(ig,l) &
106 & *(zlev(ig,l+1)-zlev(ig,l))
111 if (zw2(ig,l+1)>0. .and. zw2(ig,l+1).lt.1.e-10)
then
119 if (zw2(ig,l+1).lt.0.)
then
120 linter(ig)=(l*(zw2(ig,l+1)-zw2(ig,l)) &
121 & -zw2(ig,l))/(zw2(ig,l+1)-zw2(ig,l))
126 elseif (f_star(ig,l+1).lt.0.)
then
127 linter(ig)=(l*(f_star(ig,l+1)-f_star(ig,l)) &
128 & -f_star(ig,l))/(f_star(ig,l+1)-f_star(ig,l))
133 wa_moy(ig,l+1)=sqrt(zw2(ig,l+1))
135 if (wa_moy(ig,l+1).gt.wmaxa(ig))
then
138 wmaxa(ig)=wa_moy(ig,l+1)
142 if (
prt_level.ge.1) print*,
'fin calcul zw2'
151 if (l.le.lmax(ig))
then
152 zw2(ig,l)=sqrt(zw2(ig,l))
153 wmax(ig)=max(wmax(ig),zw2(ig,l))
163 zlevinter(ig)=zlev(ig,1)
167 zlevinter(ig)=zlev(ig,lmax(ig)) + &
168 & (linter(ig)-lmax(ig))*(zlev(ig,lmax(ig)+1)-zlev(ig,lmax(ig)))
169 zmax(ig)=max(zmax(ig),zlevinter(ig)-zlev(ig,lmin(ig)))
subroutine thermcell_dry(ngrid, nlay, zlev, pphi, ztv, alim_star, lalim, lmin, zmax, wmax, lev_out)
!FH On elimine toutes les clefs physiques dans la dynamique prt_level