source: LMDZ6/branches/contrails/libf/phylmd/transp.f90 @ 5450

Last change on this file since 5450 was 5285, checked in by abarral, 8 weeks ago

As discussed internally, remove generic ONLY: ... for new _mod_h 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
2! $Id: transp.f90 5285 2024-10-28 13:33:29Z aborella $
3
4SUBROUTINE transp(paprs, tsol, t, q, ql, qs, u, v, geom, &
5                  utran_e, vtran_e, utran_q, vtran_q, utran_w, vtran_w)
6
7  USE dimphy
8  USE yomcst_mod_h
9IMPLICIT 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
17
18  !--inputs
19  REAL, INTENT(IN)  :: paprs(klon, klev+1), tsol(klon), geom(klon, klev)
20  REAL, INTENT(IN)  :: t(klon, klev), q(klon, klev), ql(klon, klev), qs(klon, klev)
21  REAL, INTENT(IN)  :: u(klon, klev), v(klon, klev)
22  !--outputs
23  REAL, INTENT(OUT) :: utran_e(klon), vtran_e(klon) !--lateral flux of dry static energy (J m-1 s-1)
24  REAL, INTENT(OUT) :: utran_q(klon), vtran_q(klon) !--lateral flux of water vapour (kg m-1 s-1)
25  REAL, INTENT(OUT) :: utran_w(klon), vtran_w(klon) !--lateral flux of total water (kg m-1 s-1)
26  !--local variables
27  INTEGER i, l
28  REAL e, dm
29  ! ------------------------------------------------------------------
30
31  !--initialisations
32  utran_e(:) = 0.0
33  utran_q(:) = 0.0
34  vtran_e(:) = 0.0
35  vtran_q(:) = 0.0
36  utran_w(:) = 0.0
37  vtran_w(:) = 0.0
38
39  !--vertical integration of diagnostics
40  DO l = 1, klev
41    DO i = 1, klon
42      dm= (paprs(i,l)-paprs(i,l+1))/RG  !--mass of layer kg m-2
43      !--moist static energy
44!      e = rcpd*t(i, l) + rlvtt*q(i, l) + geom(i, l)
45      !--dry static energy
46      e = rcpd*t(i, l) + geom(i, l)
47      utran_e(i) = utran_e(i) + u(i, l)*e*dm
48      vtran_e(i) = vtran_e(i) + v(i, l)*e*dm
49      !--water vapour
50      utran_q(i) = utran_q(i) + u(i, l)*q(i,l)*dm
51      vtran_q(i) = vtran_q(i) + v(i, l)*q(i,l)*dm
52      !--total water
53      utran_w(i) = utran_w(i) + u(i, l)*(q(i,l)+ql(i,l)+qs(i,l))*dm
54      vtran_w(i) = vtran_w(i) + v(i, l)*(q(i,l)+ql(i,l)+qs(i,l))*dm
55    ENDDO
56  ENDDO
57
58  RETURN
59END SUBROUTINE transp
Note: See TracBrowser for help on using the repository browser.