2 SUBROUTINE coefkzmin(knon,ypaprs,ypplay,yu,yv,yt,yq,ycdragm
10 c.......................................................................
11 c entrees modifies en attendant une version ou les zlev, et
zlay soient
18 REAL ypaprs(klon,
klev+1), ypplay(klon,
klev)
20 real yzlay(klon,
klev),yzlev(klon,
klev+1),yteta(klon,
klev)
24 c.......................................................................
29 c zlev : altitude a chaque niveau(
interface inferieure
de la couche
33 c teta : temperature potentielle au centre
de chaque couche
34 c(en entree : la valeur au debut du pas
de temps)
39 c km : diffusivite turbulente
de quantite
de mouvement(au bas
de chaque
41 c(en sortie : la valeur a la fin du pas
de temps)
42 c kn : diffusivite turbulente des scalaires(au bas
de chaque couche)
43 c(en sortie : la valeur a la fin du pas
de temps)
45 c.......................................................................
48 real kmin,qmin,pblhmin(klon),coriol(klon)
49 REAL zlev(klon,
klev+1)
60 real,
parameter :: kap=0.4
64 c.......................................................................
65 c en attendant une version ou les zlev, et
zlay soient
67 c debut
de la partie qui doit etre unclue a terme dans clmain.
70 yzlay(
i,1)=rd*yt(
i,1)/(0.5*(ypaprs(
i,1)+ypplay(
i,1)))
71 . *(ypaprs(
i,1)-ypplay(
i,1))/rg
75 yzlay(
i,
k)=yzlay(
i,
k-1)+rd*0.5*(yt(
i,
k-1)+yt(
i,
k))
76 s /ypaprs(
i,
k)*(ypplay(
i,
k-1)-ypplay(
i,
k))/rg
81 cattention:on passe la temperature potentielle virt. pour le calcul
de k
82 yteta(
i,
k)=yt(
i,
k)*(ypaprs(
i,1)/ypplay(
i,
k))**rkappa
92 yzlev(
i,
k)=0.5*(yzlay(
i,
k)+yzlay(
i,
k-1))
96 yustar(1:knon) =sqrt(ycdragm(1:knon)*
97 $ (yu(1:knon,1)*yu(1:knon,1)+yv(1:knon,1)*yv(1:knon,1)))
99 c fin
de la partie qui doit etre unclue a terme dans clmain.
101 cette routine est ecrite pour avoir en entree ustar,
teta et zlev
102 c ici, on a inclut le calcul
de ces trois variables dans la routine
103 c coefkzmin en attendant une nouvelle version
de la couche limite
104 c ou ces variables seront disponibles.
114 pblhmin(ig)=0.07*ustar(ig)/max(abs(coriol(ig)),2.546e-5)
120 qmin=ustar(ig)*(max(1.-zlev(ig,
k)/pblhmin(ig),0.))**2
121 kmin=kap*zlev(ig,
k)*qmin