4 SUBROUTINE yamada(ngrid,dt,g,rconst,plev,temp
5 s ,zlev,
zlay,
u,
v,
teta,cd,q2,km,kn,ustar
37 real ustar(klon),snstable
38 REAL zlev(klon,
klev+1)
61 real ri,zrif,zalpha,zsm
65 real l(klon,
klev+1),l0(klon)
67 real sq(klon),sqz(klon),zz(klon,
klev+1)
72 data ric,rifc,b1,kap/0.195,0.191,16.6,0.3/
77 frif(
ri)=0.6588*(
ri+0.1776-sqrt(
ri*
ri-0.3221*
ri+0.03156))
78 falpha(
ri)=1.318*(0.2231-
ri)/(0.2341-
ri)
79 fsm(
ri)=1.96*(0.1912-
ri)*(0.2341-
ri)/((1.-
ri)*(0.2231-
ri))
84 if (0.eq.1.and.first)
then
99 print*,
ri,rif,zalpha,zsm
109 m2(ig,
k)=((
u(ig,
k)-
u(ig,
k-1))**2+(
v(ig,
k)-
v(ig,
k-1))**2)
110 s /(dz(ig,
k)*dz(ig,
k))
113 ri=n2(ig,
k)/max(m2(ig,
k),1.e-10)
119 if(rif(ig,
k).lt.0.16)
then
121 sm(ig,
k)=fsm(rif(ig,
k))
126 zz(ig,
k)=b1*m2(ig,
k)*(1.-rif(ig,
k))*sm(ig,
k)
137 l(ig,
k)=l0(ig)*kap*zlev(ig,
k)/(kap*zlev(ig,
k)+l0(ig))
148 q2(ig,
k)=
l(ig,
k)**2*zz(ig,
k)
149 l(ig,
k)=min(l0(ig)*kap*zlev(ig,
k)/(kap*zlev(ig,
k)+l0(ig))
150 s ,0.5*sqrt(q2(ig,
k))/sqrt(max(n2(ig,
k),1.e-10)))
152 sqz(ig)=sqz(ig)+zq*zlev(ig,
k)*(
zlay(ig,
k)-
zlay(ig,
k-1))
157 l0(ig)=0.2*sqz(ig)/sq(ig)
165 l(ig,
k)=min(l0(ig)*kap*zlev(ig,
k)/(kap*zlev(ig,
k)+l0(ig))
166 s ,0.5*sqrt(q2(ig,
k))/sqrt(max(n2(ig,
k),1.e-10)))
167 q2(ig,
k)=
l(ig,
k)**2*zz(ig,
k)
168 km(ig,
k)=
l(ig,
k)*sqrt(q2(ig,
k))*sm(ig,
k)