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