source: LMDZ6/branches/Amaury_dev/libf/phylmd/transp_lay.F90 @ 5218

Last change on this file since 5218 was 5144, checked in by abarral, 5 months ago

Put YOMCST.h into modules

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.5 KB
Line 
1! $Header$
2
3SUBROUTINE transp_lay(paprs, tsol, t, q, u, v, geom, vtran_e, vtran_q, &
4        utran_e, utran_q)
5
6  USE dimphy
7  USE lmdz_yomcst
8
9  IMPLICIT NONE
10  ! ======================================================================
11  ! Auteur(s): Z.X.Li (LMD/CNRS)
12  ! Date: le 25 avril 1994
13  ! Objet: Calculer le transport de l'energie et de la vapeur d'eau
14  ! ======================================================================
15
16  REAL paprs(klon, klev + 1), tsol(klon)
17  REAL t(klon, klev), q(klon, klev), u(klon, klev), v(klon, klev)
18  REAL utran_e(klon, klev), utran_q(klon, klev)
19  REAL vtran_e(klon, klev), vtran_q(klon, klev)
20
21  INTEGER i, l
22  ! ------------------------------------------------------------------
23  REAL geom(klon, klev), esh
24  ! ------------------------------------------------------------------
25  DO l = 1, klev
26    DO i = 1, klon
27      utran_e(i, l) = 0.0
28      utran_q(i, l) = 0.0
29      vtran_e(i, l) = 0.0
30      vtran_q(i, l) = 0.0
31    END DO
32  END DO
33
34  DO l = 1, klev
35    DO i = 1, klon
36      esh = rcpd * t(i, l) + rlvtt * q(i, l) + geom(i, l)
37      utran_e(i, l) = utran_e(i, l) + u(i, l) * esh * (paprs(i, l) - paprs(i, l + 1)) / &
38              rg
39      utran_q(i, l) = utran_q(i, l) + u(i, l) * q(i, l) * (paprs(i, l) - paprs(i, l + 1 &
40              )) / rg
41      vtran_e(i, l) = vtran_e(i, l) + v(i, l) * esh * (paprs(i, l) - paprs(i, l + 1)) / &
42              rg
43      vtran_q(i, l) = vtran_q(i, l) + v(i, l) * q(i, l) * (paprs(i, l) - paprs(i, l + 1 &
44              )) / rg
45    END DO
46  END DO
47
48END SUBROUTINE transp_lay
Note: See TracBrowser for help on using the repository browser.