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

Annotation of /trunk/phylmd/transp.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 328 - (hide annotations)
Thu Jun 13 14:40:06 2019 UTC (4 years, 11 months ago) by guez
File size: 1409 byte(s)
Change all `.f` suffixes to `.f90`. (The opposite was done in revision
82.)  Because of change of philosopy in GNUmakefile: we already had a
rewritten rule for `.f`, so it does not make the makefile longer to
replace it by a rule for `.f90`. And it spares us options of
makedepf90 and of the compiler. Also we prepare the way for a simpler
`CMakeLists.txt`.

1 guez 169 module transp_m
2 guez 81
3 guez 169 IMPLICIT NONE
4 guez 81
5 guez 169 contains
6 guez 81
7 guez 171 SUBROUTINE transp(paprs, t, q, u, v, geom, vtran_e, vtran_q, utran_e, utran_q)
8 guez 81
9 guez 169 ! From LMDZ4/libf/phylmd/transp.F,v 1.1.1.1 2004/05/19 12:53:09
10 guez 81
11 guez 169 ! Auteur(s): Z.X.Li (LMD/CNRS)
12     ! Date: le 25 avril 1994
13     ! Objet: Calculer le transport total de l'energie et de la vapeur d'eau
14 guez 81
15 guez 324 USE dimensions
16     USE dimphy
17     USE suphec_m
18 guez 81
19 guez 169 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 guez 81 DO i = 1, klon
29 guez 169 utran_e(i) = 0.0
30     utran_q(i) = 0.0
31     vtran_e(i) = 0.0
32     vtran_q(i) = 0.0
33 guez 81 END DO
34    
35 guez 169 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
44    
45     END SUBROUTINE transp
46    
47     end module transp_m

  ViewVC Help
Powered by ViewVC 1.1.21