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

Contents of /trunk/Sources/phylmd/transp.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 169 - (show annotations)
Mon Sep 14 17:13:16 2015 UTC (8 years, 8 months ago) by guez
File size: 1596 byte(s)
In inifilr_hemisph, colat0 is necessarily >= 1. / rlamda(iim) (see
notes) so we simplify the definition of jfilt. No need to keep modfrst
values at other latitudes than the current one, and we can have one
loop on latitudes instead of two.

Just encapsulated transp into a module.

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

  ViewVC Help
Powered by ViewVC 1.1.21