source: trunk/LMDZ.VENUS/libf/phyvenus/ustarhb.F @ 3137

Last change on this file since 3137 was 1530, checked in by emillour, 9 years ago

Venus and Titan GCMs:
Updates in the physics to keep up with updates in LMDZ5 (up to
LMDZ5 trunk, rev 2350) concerning dynamics/physics separation:

  • Adapted makelmdz and makelmdz_fcm script to stop if trying to compile 1d model or newstart or start2archive in parallel.
  • got rid of references to "dimensions.h" in physics. Within physics packages, use nbp_lon (=iim), nbp_lat (=jjmp1) and nbp_lev (=llm) from module mod_grid_phy_lmdz (in phy_common) instead. Only partially done for Titan, because of many hard-coded commons; a necessary first step will be to clean these up (using modules).

EM

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