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

Annotation of /trunk/Sources/phylmd/screenc.f

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.21