source: LMDZ6/branches/Amaury_dev/libf/phylmd/transp.F90 @ 5151

Last change on this file since 5151 was 5144, checked in by abarral, 8 weeks 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.9 KB
Line 
1! $Id: transp.F90 5144 2024-07-29 21:01:04Z abarral $
2
3SUBROUTINE transp(paprs, tsol, t, q, ql, qs, u, v, geom, &
4        utran_e, vtran_e, utran_q, vtran_q, utran_w, vtran_w)
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  !--inputs
17  REAL, INTENT(IN) :: paprs(klon, klev + 1), tsol(klon), geom(klon, klev)
18  REAL, INTENT(IN) :: t(klon, klev), q(klon, klev), ql(klon, klev), qs(klon, klev)
19  REAL, INTENT(IN) :: u(klon, klev), v(klon, klev)
20  !--outputs
21  REAL, INTENT(OUT) :: utran_e(klon), vtran_e(klon) !--lateral flux of dry static energy (J m-1 s-1)
22  REAL, INTENT(OUT) :: utran_q(klon), vtran_q(klon) !--lateral flux of water vapour (kg m-1 s-1)
23  REAL, INTENT(OUT) :: utran_w(klon), vtran_w(klon) !--lateral flux of total water (kg m-1 s-1)
24  !--local variables
25  INTEGER i, l
26  REAL e, dm
27  ! ------------------------------------------------------------------
28
29  !--initialisations
30  utran_e(:) = 0.0
31  utran_q(:) = 0.0
32  vtran_e(:) = 0.0
33  vtran_q(:) = 0.0
34  utran_w(:) = 0.0
35  vtran_w(:) = 0.0
36
37  !--vertical integration of diagnostics
38  DO l = 1, klev
39    DO i = 1, klon
40      dm = (paprs(i, l) - paprs(i, l + 1)) / RG  !--mass of layer kg m-2
41      !--moist static energy
42      !      e = rcpd*t(i, l) + rlvtt*q(i, l) + geom(i, l)
43      !--dry static energy
44      e = rcpd * t(i, l) + geom(i, l)
45      utran_e(i) = utran_e(i) + u(i, l) * e * dm
46      vtran_e(i) = vtran_e(i) + v(i, l) * e * dm
47      !--water vapour
48      utran_q(i) = utran_q(i) + u(i, l) * q(i, l) * dm
49      vtran_q(i) = vtran_q(i) + v(i, l) * q(i, l) * dm
50      !--total water
51      utran_w(i) = utran_w(i) + u(i, l) * (q(i, l) + ql(i, l) + qs(i, l)) * dm
52      vtran_w(i) = vtran_w(i) + v(i, l) * (q(i, l) + ql(i, l) + qs(i, l)) * dm
53    ENDDO
54  ENDDO
55
56END SUBROUTINE transp
Note: See TracBrowser for help on using the repository browser.