/[lmdze]/trunk/phylmd/transp.f90
ViewVC logotype

Diff of /trunk/phylmd/transp.f90

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

trunk/phylmd/transp.f revision 91 by guez, Wed Mar 26 17:18:58 2014 UTC trunk/phylmd/transp.f90 revision 328 by guez, Thu Jun 13 14:40:06 2019 UTC
# Line 1  Line 1 
1    module transp_m
2    
3  ! $Header: /home/cvsroot/LMDZ4/libf/phylmd/transp.F,v 1.1.1.1 2004/05/19    IMPLICIT NONE
 ! 12:53:09 lmdzadmin Exp $  
4    
5  SUBROUTINE transp(paprs, tsol, t, q, u, v, geom, vtran_e, vtran_q, utran_e, &  contains
     utran_q)  
6    
7    USE dimens_m    SUBROUTINE transp(paprs, t, q, u, v, geom, vtran_e, vtran_q, utran_e, utran_q)
8    USE dimphy  
9    USE suphec_m      ! From LMDZ4/libf/phylmd/transp.F,v 1.1.1.1 2004/05/19 12:53:09
10    IMPLICIT NONE  
11    ! ======================================================================      ! Auteur(s): Z.X.Li (LMD/CNRS)
12    ! Auteur(s): Z.X.Li (LMD/CNRS)      ! Date: le 25 avril 1994
13    ! Date: le 25 avril 1994      ! Objet: Calculer le transport total de l'energie et de la vapeur d'eau
14    ! Objet: Calculer le transport de l'energie et de la vapeur d'eau  
15    ! ======================================================================      USE dimensions
16        USE dimphy
17        USE suphec_m
   REAL, INTENT (IN) :: paprs(klon, klev+1)  
   REAL tsol(klon)  
   REAL, INTENT (IN) :: t(klon, klev)  
   REAL, INTENT (IN) :: q(klon, klev), u(klon, klev), v(klon, klev)  
   REAL utran_e(klon), utran_q(klon), vtran_e(klon), vtran_q(klon)  
   
   INTEGER i, l  
   ! ------------------------------------------------------------------  
   REAL geom(klon, klev), e  
   ! ------------------------------------------------------------------  
   DO i = 1, klon  
     utran_e(i) = 0.0  
     utran_q(i) = 0.0  
     vtran_e(i) = 0.0  
     vtran_q(i) = 0.0  
   END DO  
18    
19    DO l = 1, klev      REAL, INTENT (IN) :: paprs(klon, klev+1)
20        REAL, INTENT (IN) :: t(klon, klev)
21        REAL, INTENT (IN) :: q(klon, klev), u(klon, klev), v(klon, klev)
22        REAL utran_e(klon), utran_q(klon), vtran_e(klon), vtran_q(klon)
23    
24        INTEGER i, l
25        ! ------------------------------------------------------------------
26        REAL geom(klon, klev), e
27        ! ------------------------------------------------------------------
28      DO i = 1, klon      DO i = 1, klon
29        e = rcpd*t(i, l) + rlvtt*q(i, l) + geom(i, l)         utran_e(i) = 0.0
30        utran_e(i) = utran_e(i) + u(i, l)*e*(paprs(i,l)-paprs(i,l+1))/rg         utran_q(i) = 0.0
31        utran_q(i) = utran_q(i) + u(i, l)*q(i, l)*(paprs(i,l)-paprs(i,l+1))/rg         vtran_e(i) = 0.0
32        vtran_e(i) = vtran_e(i) + v(i, l)*e*(paprs(i,l)-paprs(i,l+1))/rg         vtran_q(i) = 0.0
33        vtran_q(i) = vtran_q(i) + v(i, l)*q(i, l)*(paprs(i,l)-paprs(i,l+1))/rg      END DO
34    
35        DO l = 1, klev
36           DO i = 1, klon
37              e = rcpd*t(i, l) + rlvtt*q(i, l) + geom(i, l)
38              utran_e(i) = utran_e(i) + u(i, l)*e*(paprs(i,l)-paprs(i,l+1))/rg
39              utran_q(i) = utran_q(i) + u(i, l)*q(i, l)*(paprs(i,l)-paprs(i,l+1))/rg
40              vtran_e(i) = vtran_e(i) + v(i, l)*e*(paprs(i,l)-paprs(i,l+1))/rg
41              vtran_q(i) = vtran_q(i) + v(i, l)*q(i, l)*(paprs(i,l)-paprs(i,l+1))/rg
42           END DO
43      END DO      END DO
   END DO  
44    
45    RETURN    END SUBROUTINE transp
46  END SUBROUTINE transp  
47    end module transp_m

Legend:
Removed from v.91  
changed lines
  Added in v.328

  ViewVC Help
Powered by ViewVC 1.1.21