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

Last change on this file since 556 was 419, checked in by lmdzadmin, 22 years ago

Petit nettoyage apres debugage Ionela
LF

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