--- trunk/phylmd/vdif_kcay.f90 2013/11/15 18:45:49 76 +++ trunk/Sources/phylmd/vdif_kcay.f 2016/03/22 16:31:39 188 @@ -4,13 +4,15 @@ contains - SUBROUTINE vdif_kcay(ngrid, dt, g, rconst, plev, temp, zlev, zlay, & - u, v, teta, cd, q2, q2diag, km, kn, ustar, l_mix) + SUBROUTINE vdif_kcay(ngrid, dt, g, plev, zlev, zlay, u, v, teta, cd, q2, & + q2diag, km, kn, ustar, l_mix) ! From LMDZ4/libf/phylmd/vdif_kcay.F, version 1.1 2004/06/22 11:45:36 USE dimphy, ONLY: klev, klon + use yamada_m, only: yamada + INTEGER ngrid ! dt : pas de temps ! g : g ! zlev : altitude a chaque niveau (interface inferieure de la couche @@ -31,8 +33,7 @@ REAL, intent(in):: dt real, intent(in):: g - real rconst - real plev(klon, klev+1), temp(klon, klev) + real plev(klon, klev+1) real ustar(klon), snstable REAL zlev(klon, klev+1) REAL zlay(klon, klev) @@ -40,13 +41,13 @@ REAL v(klon, klev) REAL teta(klon, klev) REAL, intent(in):: cd (:) ! (ngrid) cdrag, valeur au debut du pas de temps - REAL q2(klon, klev+1), q2s(klon, klev+1) + REAL q2(klon, klev+1) REAL q2diag(klon, klev+1) REAL km(klon, klev+1) REAL kn(klon, klev+1) - real sq(klon), sqz(klon), zz(klon, klev+1), zq, long0(klon) + real sq(klon), sqz(klon), zq, long0(klon) - integer l_mix, iii + integer l_mix ! nlay : nombre de couches ! nlev : nombre de niveaux @@ -57,7 +58,7 @@ ! q : echelle de vitesse au bas de chaque couche ! (valeur a la fin du pas de temps) - INTEGER nlay, nlev, ngrid + INTEGER nlay, nlev REAL unsdz(klon, klev) REAL unsdzdec(klon, klev+1) REAL q(klon, klev+1) @@ -106,7 +107,6 @@ ! gnmax : borne superieure de gn (0.0233) ! gninf : vrai si gn est en dessous de sa borne inferieure ! gnsup : vrai si gn est en dessus de sa borne superieure - ! gm : drole d'objet bien utile ! ri : nombre de Richardson ! sn : coefficient de stabilite pour n ! snq2 : premier terme du developement limite de sn en q2 @@ -118,8 +118,6 @@ REAL gnmax LOGICAL gninf LOGICAL gnsup - REAL gm - ! REAL ri(klon, klev+1) REAL sn(klon, klev+1) REAL snq2(klon, klev+1) REAL sm(klon, klev+1) @@ -149,10 +147,7 @@ REAL termq3m2 ! q2min : borne inferieure de q2 - ! q2max : borne superieure de q2 - REAL q2min - REAL q2max ! knmin : borne inferieure de kn ! kmmin : borne inferieure de km @@ -176,7 +171,6 @@ PARAMETER (knmin=1.E-5) PARAMETER (kmmin=1.E-5) PARAMETER (q2min=1.e-5) - PARAMETER (q2max=1.E+2) PARAMETER (nlay=klev) PARAMETER (nlev=klev+1) @@ -196,8 +190,7 @@ ! Initialisation de q2 - call yamada(ngrid, g, rconst, plev, temp, zlev, zlay, u, v, teta, & - q2diag, km, kn, ustar, l_mix) + call yamada(ngrid, g, zlev, zlay, u, v, teta, q2diag, km, kn) if (first.and.1.eq.1) then first=.false. q2=q2diag @@ -326,9 +319,6 @@ gn=-long(igrid, ilev)**2 / q2(igrid, ilev) & * n2(igrid, ilev) - gm=long(igrid, ilev)**2 / q2(igrid, ilev) & - * m2(igrid, ilev) - gninf=.false. gnsup=.false. long(igrid, ilev)=long(igrid, ilev)