source: LMDZ5/branches/testing/libf/phylmd/transp_lay.F90 @ 2219

Last change on this file since 2219 was 1999, checked in by Laurent Fairhead, 11 years ago

Merged trunk changes r1920:1997 into testing branch

  • 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:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 1.5 KB
Line 
1
2! $Header$
3
4SUBROUTINE transp_lay(paprs, tsol, t, q, u, v, geom, vtran_e, vtran_q, &
5    utran_e, utran_q)
6
7  USE dimphy
8  IMPLICIT NONE
9  ! ======================================================================
10  ! Auteur(s): Z.X.Li (LMD/CNRS)
11  ! Date: le 25 avril 1994
12  ! Objet: Calculer le transport de l'energie et de la vapeur d'eau
13  ! ======================================================================
14
15  ! ym#include "dimensions.h"
16  ! ym#include "dimphy.h"
17  include "YOMCST.h"
18
19  REAL paprs(klon, klev+1), tsol(klon)
20  REAL t(klon, klev), q(klon, klev), u(klon, klev), v(klon, klev)
21  REAL utran_e(klon, klev), utran_q(klon, klev)
22  REAL vtran_e(klon, klev), vtran_q(klon, klev)
23
24  INTEGER i, l
25  ! ------------------------------------------------------------------
26  REAL geom(klon, klev), esh
27  ! ------------------------------------------------------------------
28  DO l = 1, klev
29    DO i = 1, klon
30      utran_e(i, l) = 0.0
31      utran_q(i, l) = 0.0
32      vtran_e(i, l) = 0.0
33      vtran_q(i, l) = 0.0
34    END DO
35  END DO
36
37  DO l = 1, klev
38    DO i = 1, klon
39      esh = rcpd*t(i, l) + rlvtt*q(i, l) + geom(i, l)
40      utran_e(i, l) = utran_e(i, l) + u(i, l)*esh*(paprs(i,l)-paprs(i,l+1))/ &
41        rg
42      utran_q(i, l) = utran_q(i, l) + u(i, l)*q(i, l)*(paprs(i,l)-paprs(i,l+1 &
43        ))/rg
44      vtran_e(i, l) = vtran_e(i, l) + v(i, l)*esh*(paprs(i,l)-paprs(i,l+1))/ &
45        rg
46      vtran_q(i, l) = vtran_q(i, l) + v(i, l)*q(i, l)*(paprs(i,l)-paprs(i,l+1 &
47        ))/rg
48    END DO
49  END DO
50
51  RETURN
52END SUBROUTINE transp_lay
Note: See TracBrowser for help on using the repository browser.