source: LMDZ5/trunk/libf/phylmd/screenc.F90 @ 2232

Last change on this file since 2232 was 2232, checked in by fhourdin, 10 years ago

1) Fusion des procédures clcdrag.F90 et coefcdrag.F90

dans une procédure unique cdrag.F90.
Les deux anciennes sont obsolètes mais maintenues dans le
code quelques mois pour d'éventuels tests.

2) modification du nom du module arth.F90 en arth_m.F90 pour

avoir le même nom de fichier et de module (règle adoptée
pour LMDZ et utilisée par makelmdz).

1) merging clcdrag.F90 and coefcdrag.F90 in one procedure cdrag.F90
2) renaming arth.F90 in arth_m.F90

  1. Wang/FH
  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.6 KB
Line 
1!
2! $Header$
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      IMPLICIT NONE
10!-----------------------------------------------------------------------
11!
12! Objet : calcul "correcteur" des anomalies du vent, de la temperature
13!         potentielle et de l'humidite relative au niveau de reference zref et
14!         par rapport au 1er niveau (pour u) ou a la surface (pour theta et q)
15!         a partir des equations de Louis.
16!
17! Reference : Hess, Colman et McAvaney (1995)
18!
19! I. Musat, 01.07.2002
20!-----------------------------------------------------------------------
21!
22! klon----input-I- dimension de la grille physique (= nb_pts_latitude X nb_pts_longitude)
23! knon----input-I- nombre de points pour un type de surface
24! nsrf----input-I- indice pour le type de surface; voir indice_sol_mod.F90
25! zxli----input-L- TRUE si calcul des cdrags selon Laurent Li
26! speed---input-R- module du vent au 1er niveau du modele
27! temp----input-R- temperature de l'air au 1er niveau du modele
28! q_zref--input-R- humidite relative au 1er niveau du modele
29! zref----input-R- altitude de reference
30! ts------input-R- temperature de l'air a la surface
31! qsurf---input-R- humidite relative a la surface
32! rugos---input-R- rugosite
33! psol----input-R- pression au sol
34! ustar---input-R- facteur d'echelle pour le vent
35! testar--input-R- facteur d'echelle pour la temperature potentielle
36! qstar---input-R- facteur d'echelle pour l'humidite relative
37! okri----input-L- TRUE si on veut tester le nb. Richardson entre la sfce
38!                  et zref par rapport au Ri entre la sfce et la 1ere couche
39! ri1-----input-R- nb. Richardson entre la surface et la 1ere couche
40!
41! pref----input-R- pression au niveau de reference
42! delu----input-R- anomalie du vent par rapport au 1er niveau
43! delte---input-R- anomalie de la temperature potentielle par rapport a la surface
44! delq----input-R- anomalie de l'humidite relative par rapport a la surface
45!
46      INTEGER, intent(in) :: klon, knon, nsrf
47      LOGICAL, intent(in) :: zxli, okri
48      REAL, dimension(klon), intent(in) :: speed, temp, q_zref
49      REAL, intent(in) :: zref
50      REAL, dimension(klon), intent(in) :: ts, qsurf, rugos, psol
51      REAL, dimension(klon), intent(in) :: ustar, testar, qstar, ri1         
52!
53      REAL, dimension(klon), intent(out) :: pref, delu, delte, delq
54!-----------------------------------------------------------------------
55      include "YOMCST.h"
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! Fuxing WANG, 04/03/2015, replace the coefcdrag by the merged version: cdrag
75      CALL cdrag (knon, nsrf, &
76                    speed, temp, q_zref, gref, &
77                    psol, ts, qsurf, rugos, &
78                    cdram, cdrah, zri1, pref)
79      DO i = 1, knon
80        delu(i) = ustar(i)/sqrt(cdram(i))
81        delte(i)= (testar(i)* sqrt(cdram(i)))/ &
82                   cdrah(i)
83        delq(i)= (qstar(i)* sqrt(cdram(i)))/ &
84                  cdrah(i)
85      ENDDO
86!
87      RETURN
88      END SUBROUTINE screenc
Note: See TracBrowser for help on using the repository browser.