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

Diff of /trunk/phylmd/screenc.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/Sources/phylmd/screenc.f revision 225 by guez, Mon Oct 16 12:35:41 2017 UTC trunk/phylmd/screenc.f revision 274 by guez, Wed Jul 11 16:50:27 2018 UTC
# Line 4  module screenc_m Line 4  module screenc_m
4    
5  contains  contains
6    
7    SUBROUTINE screenc(klon, knon, nsrf, zxli, speed, temp, q_zref, zref, ts, &    SUBROUTINE screenc(klon, knon, nsrf, speed, temp, q_zref, zref, ts, &
8         qsurf, rugos, psol, ustar, testar, qstar, okri, ri1, pref, delu, &         qsurf, rugos, psol, ustar, testar, qstar, pref, delu, delte, delq)
        delte, delq)  
9            
10      use coefcdrag_m, only: coefcdrag      ! From LMDZ4/libf/phylmd/screenc.F90, version 1.1.1.1, 2004/05/19 12:53:09
     use SUPHEC_M  
   
     ! From LMDZ4/libf/phylmd/screenc.F90, version 1.1.1.1 2004/05/19 12:53:09  
11    
12      ! Objet : calcul "correcteur" des anomalies du vent, de la      ! Objet : calcul "correcteur" des anomalies du vent, de la
13      ! temp\'erature potentielle et de l'humidit\'e relative au niveau      ! temp\'erature potentielle et de l'humidit\'e relative au niveau
# Line 23  contains Line 19  contains
19    
20      ! I. Musat, 01.07.2002      ! I. Musat, 01.07.2002
21    
22        use coefcdrag_m, only: coefcdrag
23        use SUPHEC_M, only: RG
24    
25      INTEGER, intent(in):: klon      INTEGER, intent(in):: klon
26      ! klon----input-I- dimension de la grille physique (=      ! klon----input-I- dimension de la grille physique (=
27      ! nb_pts_latitude X nb_pts_longitude)      ! nb_pts_latitude X nb_pts_longitude)
# Line 30  contains Line 29  contains
29      ! knon----input-I- nombre de points pour un type de surface      ! knon----input-I- nombre de points pour un type de surface
30      INTEGER, intent(in):: nsrf      INTEGER, intent(in):: nsrf
31      ! nsrf----input-I- indice pour le type de surface; voir indicesol.inc      ! nsrf----input-I- indice pour le type de surface; voir indicesol.inc
     LOGICAL, intent(in):: zxli  
     ! zxli----input-L- TRUE si calcul des cdrags selon Laurent Li  
32      REAL, dimension(klon), intent(in):: speed, temp, q_zref      REAL, dimension(klon), intent(in):: speed, temp, q_zref
33      ! speed---input-R- module du vent au 1er niveau du modele      ! speed---input-R- module du vent au 1er niveau du modele
34      ! temp----input-R- temperature de l'air au 1er niveau du modele      ! temp----input-R- temperature de l'air au 1er niveau du modele
# Line 43  contains Line 40  contains
40      ! qsurf---input-R- humidite relative a la surface      ! qsurf---input-R- humidite relative a la surface
41      ! rugos---input-R- rugosite      ! rugos---input-R- rugosite
42      ! psol----input-R- pression au sol      ! psol----input-R- pression au sol
43      REAL, dimension(klon), intent(in):: ustar, testar, qstar      REAL, intent(in):: ustar(:) ! (knon) facteur d'\'echelle pour le vent
44      ! ustar---input-R- facteur d'echelle pour le vent      REAL, dimension(klon), intent(in):: testar
45      ! testar--input-R- facteur d'echelle pour la temperature potentielle      ! testar--input-R- facteur d'echelle pour la temperature potentielle
46        REAL, dimension(klon), intent(in):: qstar
47      ! qstar---input-R- facteur d'echelle pour l'humidite relative      ! qstar---input-R- facteur d'echelle pour l'humidite relative
     LOGICAL, intent(in):: okri  
     ! okri----input-L- TRUE si on veut tester le nb. Richardson entre la sfce  
     ! et zref par rapport au Ri entre la sfce et la 1ere couche  
     REAL, dimension(klon), intent(in):: ri1  
     ! ri1-----input-R- nb. Richardson entre la surface et la 1ere couche  
48    
49      REAL, dimension(klon), intent(out):: pref      REAL, intent(out):: pref(:) ! (knon) pression au niveau de reference
     ! pref----input-R- pression au niveau de reference  
50      REAL, dimension(klon), intent(out):: delu      REAL, dimension(klon), intent(out):: delu
51      ! delu----input-R- anomalie du vent par rapport au 1er niveau      ! delu----input-R- anomalie du vent par rapport au 1er niveau
52      REAL, dimension(klon), intent(out):: delte      REAL, dimension(klon), intent(out):: delte
# Line 65  contains Line 57  contains
57    
58      ! Local:      ! Local:
59      INTEGER i      INTEGER i
60      REAL, dimension(klon):: cdram, cdrah, cdran, zri1, gref      REAL, dimension(knon):: cdram, cdrah, gref
61    
62      !-------------------------------------------------------------------------      !-------------------------------------------------------------------------
63    
# Line 75  contains Line 67  contains
67    
68      ! Richardson at reference level      ! Richardson at reference level
69    
70      CALL coefcdrag (klon, knon, nsrf, zxli, speed, temp, q_zref, gref, psol, &      CALL coefcdrag(nsrf, speed(:knon), temp(:knon), q_zref(:knon), &
71           ts, qsurf, rugos, okri, ri1, cdram, cdrah, cdran, zri1, pref)           gref(:knon), psol(:knon), ts(:knon), qsurf(:knon), rugos(:knon), &
72             cdram, cdrah, pref)
73    
74      DO i = 1, knon      DO i = 1, knon
75         delu(i) = ustar(i)/sqrt(cdram(i))         delu(i) = ustar(i) / sqrt(cdram(i))
76         delte(i)= (testar(i)* sqrt(cdram(i)))/ cdrah(i)         delte(i) = testar(i) * sqrt(cdram(i)) / cdrah(i)
77         delq(i)= (qstar(i)* sqrt(cdram(i)))/ cdrah(i)         delq(i) = qstar(i) * sqrt(cdram(i)) / cdrah(i)
78      ENDDO      ENDDO
79    
80    END SUBROUTINE screenc    END SUBROUTINE screenc

Legend:
Removed from v.225  
changed lines
  Added in v.274

  ViewVC Help
Powered by ViewVC 1.1.21