source: LMDZ4/trunk/libf/phylmd/ustarhb.F @ 666

Last change on this file since 666 was 541, checked in by lmdzadmin, 20 years ago

Convergence avec la version d'Olivia Coindreau incluant:

  • le offline
  • les thermiques
  • mellor & yamada dans la couche limite

LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.8 KB
Line 
1!
2! $Header$
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#include "YOETHF.h"
39#include "FCTTRE.h"
40      DO i = 1, knon
41        zx_alf1 = 1.0
42        zx_alf2 = 1.0 - zx_alf1
43        zxu = u(i,1)*zx_alf1+u(i,2)*zx_alf2
44        zxv = v(i,1)*zx_alf1+v(i,2)*zx_alf2
45        zxmod = 1.0+SQRT(zxu**2+zxv**2)
46        taux = zxu *zxmod*cd_m(i)
47        tauy = zxv *zxmod*cd_m(i)
48        ustar(i) = SQRT(taux**2+tauy**2)
49c       print*,'Ust ',zxu,zxmod,taux,ustar(i)
50      ENDDO
51c
52      return
53      end
Note: See TracBrowser for help on using the repository browser.