source: LMDZ.3.3/branches/rel-/libf/phylmd/screenc.F90 @ 2019

Last change on this file since 2019 was 416, checked in by lmdzadmin, 22 years ago

Inclusion initiale

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.4 KB
Line 
1      SUBROUTINE screenc(klon, knon, nsrf, zxli, &
2                         speed, temp, q_zref, zref, &
3                         ts, qsurf, rugos, psol, &
4                         ustar, testar, qstar, okri, ri1, &
5                         pref, delu, delte, delq)
6      USE coefcdrag_int
7      IMPLICIT NONE
8!-----------------------------------------------------------------------
9!
10! Objet : calcul "correcteur" des anomalies du vent, de la temperature
11!         potentielle et de l'humidite relative au niveau de reference zref et
12!         par rapport au 1er niveau (pour u) ou a la surface (pour theta et q)
13!         a partir des equations de Louis.
14!
15! Reference : Hess, Colman et McAvaney (1995)
16!
17! I. Musat, 01.07.2002
18!-----------------------------------------------------------------------
19!
20! klon----input-I- dimension de la grille physique (= nb_pts_latitude X nb_pts_longitude)
21! knon----input-I- nombre de points pour un type de surface
22! nsrf----input-I- indice pour le type de surface; voir indicesol.inc
23! zxli----input-L- TRUE si calcul des cdrags selon Laurent Li
24! speed---input-R- module du vent au 1er niveau du modele
25! temp----input-R- temperature de l'air au 1er niveau du modele
26! q_zref--input-R- humidite relative au 1er niveau du modele
27! zref----input-R- altitude de reference
28! ts------input-R- temperature de l'air a la surface
29! qsurf---input-R- humidite relative a la surface
30! rugos---input-R- rugosite
31! psol----input-R- pression au sol
32! ustar---input-R- facteur d'echelle pour le vent
33! testar--input-R- facteur d'echelle pour la temperature potentielle
34! qstar---input-R- facteur d'echelle pour l'humidite relative
35! okri----input-L- TRUE si on veut tester le nb. Richardson entre la sfce
36!                  et zref par rapport au Ri entre la sfce et la 1ere couche
37! ri1-----input-R- nb. Richardson entre la surface et la 1ere couche
38!
39! pref----input-R- pression au niveau de reference
40! delu----input-R- anomalie du vent par rapport au 1er niveau
41! delte---input-R- anomalie de la temperature potentielle par rapport a la surface
42! delq----input-R- anomalie de l'humidite relative par rapport a la surface
43!
44      INTEGER, intent(in) :: klon, knon, nsrf
45      LOGICAL, intent(in) :: zxli, okri
46      REAL, dimension(klon), intent(in) :: speed, temp, q_zref
47      REAL, intent(in) :: zref
48      REAL, dimension(klon), intent(in) :: ts, qsurf, rugos, psol
49      REAL, dimension(klon), intent(in) :: ustar, testar, qstar, ri1         
50!
51      REAL, dimension(klon), intent(out) :: pref, delu, delte, delq
52!-----------------------------------------------------------------------
53#include "YOMCST.inc"
54!
55! Variables locales 
56      INTEGER :: i
57      REAL, dimension(klon) :: cdram, cdrah, cdran, zri1, gref
58!
59!-------------------------------------------------------------------------
60      DO i=1, knon
61        gref(i) = zref*RG
62      ENDDO
63!
64! Richardson at reference level
65!
66      CALL coefcdrag (klon, knon, nsrf, zxli, &
67                    speed, temp, q_zref, gref, &
68                    psol, ts, qsurf, rugos, &
69                    okri, ri1, &
70                    cdram, cdrah, cdran, zri1, &
71                    pref)
72!
73      DO i = 1, knon
74        delu(i) = ustar(i)/sqrt(cdram(i))
75        delte(i)= (testar(i)* sqrt(cdram(i)))/ &
76                   cdrah(i)
77        delq(i)= (qstar(i)* sqrt(cdram(i)))/ &
78                  cdrah(i)
79      ENDDO
80!
81      RETURN
82      END SUBROUTINE screenc
Note: See TracBrowser for help on using the repository browser.