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

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

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

revision 178 by guez, Fri Mar 11 18:47:26 2016 UTC revision 213 by guez, Mon Feb 27 15:44:55 2017 UTC
# Line 4  module transp_lay_m Line 4  module transp_lay_m
4    
5  contains  contains
6    
7    SUBROUTINE transp_lay(paprs, t, q, u, v, geom, vtran_e, vtran_q, &    SUBROUTINE transp_lay(paprs, t, q, u, v, geom, vtran_e, vtran_q, utran_e, &
8         utran_e, utran_q)         utran_q)
9    
10      USE dimens_m      ! Author: Z. X. Li (LMD/CNRS)
11      USE dimphy      ! Date: April, 25th 1994
12      USE suphec_m      ! Objet : calculer le transport de l'\'energie et de la vapeur d'eau
13      ! ======================================================================  
14      ! Auteur(s): Z.X.Li (LMD/CNRS)      USE dimphy, only: klon, klev
15      ! Date: le 25 avril 1994      USE suphec_m, only: rcpd, rg, rlvtt
16      ! Objet: Calculer le transport de l'energie et de la vapeur d'eau  
17      ! ======================================================================      REAL, INTENT(IN):: paprs(klon, klev+1)
18        REAL, INTENT(IN):: t(klon, klev)
19        REAL, INTENT(IN):: q(klon, klev), u(klon, klev), v(klon, klev)
20      REAL, INTENT (IN):: paprs(klon, klev+1)      REAL, INTENT(IN):: geom(klon, klev)
21      REAL, INTENT (IN):: t(klon, klev)      REAL, INTENT(out):: vtran_e(klon, klev), vtran_q(klon, klev)
22      REAL, INTENT (IN):: q(klon, klev), u(klon, klev), v(klon, klev)      REAL, INTENT(out):: utran_e(klon, klev), utran_q(klon, klev)
     REAL utran_e(klon, klev), utran_q(klon, klev)  
     REAL vtran_e(klon, klev), vtran_q(klon, klev)  
23    
24        ! Local:
25      INTEGER i, l      INTEGER i, l
26      ! ------------------------------------------------------------------      real esh
27      REAL geom(klon, klev), esh      
28      ! ------------------------------------------------------------------      !------------------------------------------------------------------
29        
30      DO l = 1, klev      DO l = 1, klev
31         DO i = 1, klon         DO i = 1, klon
32            utran_e(i, l) = 0.0            utran_e(i, l) = 0.
33            utran_q(i, l) = 0.0            utran_q(i, l) = 0.
34            vtran_e(i, l) = 0.0            vtran_e(i, l) = 0.
35            vtran_q(i, l) = 0.0            vtran_q(i, l) = 0.
36         END DO         END DO
37      END DO      END DO
38    
39      DO l = 1, klev      DO l = 1, klev
40         DO i = 1, klon         DO i = 1, klon
41            esh = rcpd*t(i, l) + rlvtt*q(i, l) + geom(i, l)            esh = rcpd * t(i, l) + rlvtt * q(i, l) + geom(i, l)
42            utran_e(i, l) = utran_e(i, l) + u(i, l)*esh*(paprs(i,l)-paprs(i,l+1))/ &            utran_e(i, l) = utran_e(i, l) + u(i, l) * esh &
43                 rg                 * (paprs(i, l) - paprs(i, l+1)) / rg
44            utran_q(i, l) = utran_q(i, l) + u(i, l)*q(i, l)*(paprs(i,l)-paprs(i,l+1 &            utran_q(i, l) = utran_q(i, l) + u(i, l) * q(i, l) &
45                 ))/rg                 * (paprs(i, l) - paprs(i, l+1)) / rg
46            vtran_e(i, l) = vtran_e(i, l) + v(i, l)*esh*(paprs(i,l)-paprs(i,l+1))/ &            vtran_e(i, l) = vtran_e(i, l) + v(i, l) * esh &
47                 rg                 * (paprs(i, l) - paprs(i, l+1)) / rg
48            vtran_q(i, l) = vtran_q(i, l) + v(i, l)*q(i, l)*(paprs(i,l)-paprs(i,l+1 &            vtran_q(i, l) = vtran_q(i, l) + v(i, l) * q(i, l) &
49                 ))/rg                 * (paprs(i, l) - paprs(i, l+1)) / rg
50         END DO         END DO
51      END DO      END DO
52    

Legend:
Removed from v.178  
changed lines
  Added in v.213

  ViewVC Help
Powered by ViewVC 1.1.21