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

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

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

revision 225 by guez, Mon Oct 16 12:35:41 2017 UTC revision 227 by guez, Thu Nov 2 15:47:03 2017 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 47  contains Line 44  contains
44      ! ustar---input-R- facteur d'echelle pour le vent      ! ustar---input-R- facteur d'echelle pour le vent
45      ! testar--input-R- facteur d'echelle pour la temperature potentielle      ! testar--input-R- facteur d'echelle pour la temperature potentielle
46      ! 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  
47    
48      REAL, dimension(klon), intent(out):: pref      REAL, dimension(klon), intent(out):: pref
49      ! pref----input-R- pression au niveau de reference      ! pref----input-R- pression au niveau de reference
# 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 (knon, nsrf, speed(:knon), temp(:knon), &
71           ts, qsurf, rugos, okri, ri1, cdram, cdrah, cdran, zri1, pref)           q_zref(:knon), gref(:knon), psol(:knon), ts, qsurf, rugos, cdram, &
72             cdrah, cdran, zri1, 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.227

  ViewVC Help
Powered by ViewVC 1.1.21