5 & lalim,lmin,
zmax,wmax,lev_out)
23 REAL zlev(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
80 if (
l.eq.lmin(ig).and.lalim(ig).gt.1)
then
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
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
126 wa_moy(ig,
l+1)=sqrt(
zw2(ig,
l+1))
128 if (wa_moy(ig,
l+1).gt.wmaxa(ig))
then
131 wmaxa(ig)=wa_moy(ig,
l+1)
135 if (
prt_level.ge.1) print*,
'fin calcul zw2'
144 if (
l.le.lmax(ig))
then
146 wmax(ig)=max(wmax(ig),
zw2(ig,
l))
156 zlevinter(ig)=zlev(ig,1)
160 zlevinter(ig)=zlev(ig,lmax(ig)) + &
161 & (linter(ig)-lmax(ig))*(zlev(ig,lmax(ig)+1)-zlev(ig,lmax(ig)))
162 zmax(ig)=max(
zmax(ig),zlevinter(ig)-zlev(ig,lmin(ig)))