/[lmdze]/trunk/phylmd/screenc.f
ViewVC logotype

Contents of /trunk/phylmd/screenc.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 82 - (show annotations)
Wed Mar 5 14:57:53 2014 UTC (10 years, 2 months ago) by guez
File size: 3534 byte(s)
Changed all ".f90" suffixes to ".f".
1 !
2 ! $Header: /home/cvsroot/LMDZ4/libf/phylmd/screenc.F90,v 1.1.1.1 2004/05/19 12:53:09 lmdzadmin Exp $
3 !
4 SUBROUTINE screenc(klon, knon, nsrf, zxli, &
5 speed, temp, q_zref, zref, &
6 ts, qsurf, rugos, psol, &
7 ustar, testar, qstar, okri, ri1, &
8 pref, delu, delte, delq)
9 use SUPHEC_M
10 IMPLICIT NONE
11 !-----------------------------------------------------------------------
12 !
13 ! Objet : calcul "correcteur" des anomalies du vent, de la temperature
14 ! potentielle et de l'humidite relative au niveau de reference zref et
15 ! par rapport au 1er niveau (pour u) ou a la surface (pour theta et q)
16 ! a partir des equations de Louis.
17 !
18 ! Reference : Hess, Colman et McAvaney (1995)
19 !
20 ! I. Musat, 01.07.2002
21 !-----------------------------------------------------------------------
22 !
23 ! klon----input-I- dimension de la grille physique (= nb_pts_latitude X nb_pts_longitude)
24 ! knon----input-I- nombre de points pour un type de surface
25 ! nsrf----input-I- indice pour le type de surface; voir indicesol.inc
26 ! zxli----input-L- TRUE si calcul des cdrags selon Laurent Li
27 ! speed---input-R- module du vent au 1er niveau du modele
28 ! temp----input-R- temperature de l'air au 1er niveau du modele
29 ! q_zref--input-R- humidite relative au 1er niveau du modele
30 ! zref----input-R- altitude de reference
31 ! ts------input-R- temperature de l'air a la surface
32 ! qsurf---input-R- humidite relative a la surface
33 ! rugos---input-R- rugosite
34 ! psol----input-R- pression au sol
35 ! ustar---input-R- facteur d'echelle pour le vent
36 ! testar--input-R- facteur d'echelle pour la temperature potentielle
37 ! qstar---input-R- facteur d'echelle pour l'humidite relative
38 ! okri----input-L- TRUE si on veut tester le nb. Richardson entre la sfce
39 ! et zref par rapport au Ri entre la sfce et la 1ere couche
40 ! ri1-----input-R- nb. Richardson entre la surface et la 1ere couche
41 !
42 ! pref----input-R- pression au niveau de reference
43 ! delu----input-R- anomalie du vent par rapport au 1er niveau
44 ! delte---input-R- anomalie de la temperature potentielle par rapport a la surface
45 ! delq----input-R- anomalie de l'humidite relative par rapport a la surface
46 !
47 INTEGER, intent(in) :: klon, knon, nsrf
48 LOGICAL, intent(in) :: zxli, okri
49 REAL, dimension(klon), intent(in) :: speed, temp, q_zref
50 REAL, intent(in) :: zref
51 REAL, dimension(klon), intent(in) :: ts, qsurf, rugos, psol
52 REAL, dimension(klon), intent(in) :: ustar, testar, qstar, ri1
53 !
54 REAL, dimension(klon), intent(out) :: pref, delu, delte, delq
55 !-----------------------------------------------------------------------
56 !
57 ! Variables locales
58 INTEGER :: i
59 REAL, dimension(klon) :: cdram, cdrah, cdran, zri1, gref
60 !
61 !-------------------------------------------------------------------------
62 DO i=1, knon
63 gref(i) = zref*RG
64 ENDDO
65 !
66 ! Richardson at reference level
67 !
68 CALL coefcdrag (klon, knon, nsrf, zxli, &
69 speed, temp, q_zref, gref, &
70 psol, ts, qsurf, rugos, &
71 okri, ri1, &
72 cdram, cdrah, cdran, zri1, &
73 pref)
74 !
75 DO i = 1, knon
76 delu(i) = ustar(i)/sqrt(cdram(i))
77 delte(i)= (testar(i)* sqrt(cdram(i)))/ &
78 cdrah(i)
79 delq(i)= (qstar(i)* sqrt(cdram(i)))/ &
80 cdrah(i)
81 ENDDO
82 !
83 RETURN
84 END SUBROUTINE screenc

  ViewVC Help
Powered by ViewVC 1.1.21