/[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/libf/phylmd/transp.f revision 3 by guez, Wed Feb 27 13:16:39 2008 UTC trunk/Sources/phylmd/transp.f revision 169 by guez, Mon Sep 14 17:13:16 2015 UTC
# Line 1  Line 1 
1  !  module transp_m
2  ! $Header: /home/cvsroot/LMDZ4/libf/phylmd/transp.F,v 1.1.1.1 2004/05/19 12:53:09 lmdzadmin Exp $  
3  !    IMPLICIT NONE
4        SUBROUTINE transp (paprs,tsol,  
5       e                   t, q, u, v, geom,  contains
6       s                   vtran_e, vtran_q, utran_e, utran_q)  
7  c    SUBROUTINE transp(paprs, tsol, t, q, u, v, geom, vtran_e, vtran_q, utran_e, &
8        use dimens_m         utran_q)
9        use dimphy  
10        use YOMCST      ! From LMDZ4/libf/phylmd/transp.F,v 1.1.1.1 2004/05/19 12:53:09
11        IMPLICIT none  
12  c======================================================================      USE dimens_m
13  c Auteur(s): Z.X.Li (LMD/CNRS)      USE dimphy
14  c Date: le 25 avril 1994      USE suphec_m
15  c Objet: Calculer le transport de l'energie et de la vapeur d'eau      ! ======================================================================
16  c======================================================================      ! Auteur(s): Z.X.Li (LMD/CNRS)
17  c      ! Date: le 25 avril 1994
18  c      ! Objet: Calculer le transport total de l'energie et de la vapeur d'eau
19        REAL, intent(in):: paprs(klon,klev+1)      ! ======================================================================
20        real tsol(klon)  
21        REAL t(klon,klev), q(klon,klev), u(klon,klev), v(klon,klev)  
22        REAL utran_e(klon), utran_q(klon), vtran_e(klon), vtran_q(klon)      REAL, INTENT (IN) :: paprs(klon, klev+1)
23  c      REAL tsol(klon)
24        INTEGER i, l      REAL, INTENT (IN) :: t(klon, klev)
25  c     ------------------------------------------------------------------      REAL, INTENT (IN) :: q(klon, klev), u(klon, klev), v(klon, klev)
26        REAL geom(klon,klev), e      REAL utran_e(klon), utran_q(klon), vtran_e(klon), vtran_q(klon)
27  c     ------------------------------------------------------------------  
28        DO i = 1, klon      INTEGER i, l
29           utran_e(i) = 0.0      ! ------------------------------------------------------------------
30           utran_q(i) = 0.0      REAL geom(klon, klev), e
31           vtran_e(i) = 0.0      ! ------------------------------------------------------------------
32           vtran_q(i) = 0.0      DO i = 1, klon
33        ENDDO         utran_e(i) = 0.0
34  c         utran_q(i) = 0.0
35        DO l = 1, klev         vtran_e(i) = 0.0
36        DO i = 1, klon         vtran_q(i) = 0.0
37           e = RCPD*t(i,l) + RLVTT*q(i,l) + geom(i,l)      END DO
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)      DO l = 1, klev
40       .                         *(paprs(i,l)-paprs(i,l+1))/RG         DO i = 1, klon
41           vtran_e(i)=vtran_e(i)+ v(i,l)*e*(paprs(i,l)-paprs(i,l+1))/RG            e = rcpd*t(i, l) + rlvtt*q(i, l) + geom(i, l)
42           vtran_q(i)=vtran_q(i)+ v(i,l)*q(i,l)            utran_e(i) = utran_e(i) + u(i, l)*e*(paprs(i,l)-paprs(i,l+1))/rg
43       .                         *(paprs(i,l)-paprs(i,l+1))/RG            utran_q(i) = utran_q(i) + u(i, l)*q(i, l)*(paprs(i,l)-paprs(i,l+1))/rg
44        ENDDO            vtran_e(i) = vtran_e(i) + v(i, l)*e*(paprs(i,l)-paprs(i,l+1))/rg
45        ENDDO            vtran_q(i) = vtran_q(i) + v(i, l)*q(i, l)*(paprs(i,l)-paprs(i,l+1))/rg
46  c         END DO
47        RETURN      END DO
48        END  
49      END SUBROUTINE transp
50    
51    end module transp_m

Legend:
Removed from v.3  
changed lines
  Added in v.169

  ViewVC Help
Powered by ViewVC 1.1.21