source: trunk/libf/phyvenus/ustarhb.F @ 97

Last change on this file since 97 was 97, checked in by slebonnois, 14 years ago

Serie de modifs SL pour homogeneisation des phytitan et phyvenus
Ca touche aussi aux liens phy/dyn (surtout a propos de clesphy0),
a verifier avec les autres, donc...

File size: 1.9 KB
Line 
1!
2! $Header: /home/cvsroot/LMDZ4/libf/phylmd/ustarhb.F,v 1.1 2004/06/22 11:45:35 lmdzadmin Exp $
3!
4      SUBROUTINE ustarhb(knon,u,v,cd_m, ustar)
5      IMPLICIT none
6c======================================================================
7c Laurent Li (LMD/CNRS), le 30 septembre 1998
8c Couche limite non-locale. Adaptation du code du CCM3.
9c Code non teste, donc a ne pas utiliser.
10c======================================================================
11c Nonlocal scheme that determines eddy diffusivities based on a
12c diagnosed boundary layer height and a turbulent velocity scale.
13c Also countergradient effects for heat and moisture are included.
14c
15c For more information, see Holtslag, A.A.M., and B.A. Boville, 1993:
16c Local versus nonlocal boundary-layer diffusion in a global climate
17c model. J. of Climate, vol. 6, 1825-1842.
18c======================================================================
19#include "dimensions.h"
20#include "dimphy.h"
21#include "YOMCST.h"
22c
23c Arguments:
24c
25      INTEGER knon ! nombre de points a calculer
26      REAL u(klon,klev) ! vitesse U (m/s)
27      REAL v(klon,klev) ! vitesse V (m/s)
28      REAL cd_m(klon) ! coefficient de friction au sol pour vitesse
29      REAL ustar(klon)
30c
31      INTEGER i, k
32      REAL zxt, zxq, zxu, zxv, zxmod, taux, tauy
33      REAL zx_alf1, zx_alf2 ! parametres pour extrapolation
34      LOGICAL unssrf(klon)  ! unstb pbl w/lvls within srf pbl lyr
35      LOGICAL unsout(klon)  ! unstb pbl w/lvls in outer pbl lyr
36      LOGICAL check(klon)   ! True=>chk if Richardson no.>critcal
37c
38      DO i = 1, knon
39        zx_alf1 = 1.0
40        zx_alf2 = 1.0 - zx_alf1
41        zxu = u(i,1)*zx_alf1+u(i,2)*zx_alf2
42        zxv = v(i,1)*zx_alf1+v(i,2)*zx_alf2
43        zxmod = 1.0+SQRT(zxu**2+zxv**2)
44        taux = zxu *zxmod*cd_m(i)
45        tauy = zxv *zxmod*cd_m(i)
46        ustar(i) = SQRT(taux**2+tauy**2)
47c       print*,'Ust ',zxu,zxmod,taux,ustar(i)
48      ENDDO
49c
50      return
51      end
Note: See TracBrowser for help on using the repository browser.