/[lmdze]/trunk/Sources/phylmd/ustarhb.f
ViewVC logotype

Contents of /trunk/Sources/phylmd/ustarhb.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 134 - (show annotations)
Wed Apr 29 15:47:56 2015 UTC (8 years, 11 months ago) by guez
File size: 1565 byte(s)
Sources inside, compilation outside.
1 module ustarhb_m
2
3 IMPLICIT none
4
5 contains
6
7 SUBROUTINE ustarhb(knon, u, v, cd_m, ustar)
8
9 ! From LMDZ4/libf/phylmd/ustarhb.F, version 1.1 2004/06/22 11:45:35
10
11 ! Laurent Li (LMD/CNRS), le 30 septembre 1998
12 ! Couche limite non-locale. Adaptation du code du CCM3.
13 ! Code non teste, donc a ne pas utiliser.
14
15 ! Nonlocal scheme that determines eddy diffusivities based on a
16 ! diagnosed boundary layer height and a turbulent velocity scale.
17 ! Also countergradient effects for heat and moisture are included.
18
19 ! For more information, see Holtslag, A.A.M., and B.A. Boville, 1993:
20 ! Local versus nonlocal boundary-layer diffusion in a global climate
21 ! model. J. of Climate, vol. 6, 1825-1842.
22
23 USE dimphy, ONLY: klev, klon
24
25 ! Arguments:
26
27 INTEGER knon ! nombre de points a calculer
28 REAL u(klon, klev) ! vitesse U (m/s)
29 REAL v(klon, klev) ! vitesse V (m/s)
30
31 REAL, intent(in):: cd_m(:)
32 ! (knon) coefficient de friction au sol pour vitesse
33
34 REAL ustar(klon)
35
36 INTEGER i
37 REAL zxu, zxv, zxmod, taux, tauy
38 REAL zx_alf1, zx_alf2 ! parametres pour extrapolation
39
40 !---------------------------------------------------------------
41
42 DO i = 1, knon
43 zx_alf1 = 1.0
44 zx_alf2 = 1.0 - zx_alf1
45 zxu = u(i, 1)*zx_alf1+u(i, 2)*zx_alf2
46 zxv = v(i, 1)*zx_alf1+v(i, 2)*zx_alf2
47 zxmod = 1.0+SQRT(zxu**2+zxv**2)
48 taux = zxu *zxmod*cd_m(i)
49 tauy = zxv *zxmod*cd_m(i)
50 ustar(i) = SQRT(taux**2+tauy**2)
51 ENDDO
52
53 end SUBROUTINE ustarhb
54
55 end module ustarhb_m

  ViewVC Help
Powered by ViewVC 1.1.21