7 |
SUBROUTINE diagetpq(airephy, tit, iprt, idiag, idiag2, dtime, t, q, ql, qs, & |
SUBROUTINE diagetpq(airephy, tit, iprt, idiag, idiag2, dtime, t, q, ql, qs, & |
8 |
u, v, paprs, d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) |
u, v, paprs, d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) |
9 |
|
|
10 |
! From LMDZ4/libf/phylmd/diagphy.F, version 1.1.1.1 2004/05/19 12:53:08 |
! From LMDZ4/libf/phylmd/diagphy.F, version 1.1.1.1, 2004/05/19 12:53:08 |
11 |
|
|
12 |
! Purpose: |
! Purpose: |
13 |
|
|
29 |
USE suphec_m, ONLY: rcpd, rcpv, rcs, rcw, rg, rlstt, rlvtt |
USE suphec_m, ONLY: rcpd, rcpv, rcs, rcw, rg, rlstt, rlvtt |
30 |
|
|
31 |
! Arguments: |
! Arguments: |
32 |
|
|
33 |
|
! Input variables |
34 |
|
real airephy(klon) |
35 |
! airephy-------input-R- grid area |
! airephy-------input-R- grid area |
36 |
! tit-----imput-A15- Comment added in PRINT (CHARACTER*15) |
CHARACTER(len=*), intent(in):: tit ! comment added in PRINT |
37 |
|
INTEGER iprt, idiag, idiag2 |
38 |
! iprt----input-I- PRINT level ( <=1 : no PRINT) |
! iprt----input-I- PRINT level ( <=1 : no PRINT) |
39 |
! idiag---input-I- indice dans lequel sera range les nouveaux |
! idiag---input-I- indice dans lequel sera range les nouveaux |
40 |
! bilans d' entalpie et de masse |
! bilans d' entalpie et de masse |
43 |
! l'indice numero idiag2 |
! l'indice numero idiag2 |
44 |
! Cas particulier : si idiag2=0, pas de comparaison, on |
! Cas particulier : si idiag2=0, pas de comparaison, on |
45 |
! sort directement les bilans d'enthalpie et de masse |
! sort directement les bilans d'enthalpie et de masse |
46 |
|
REAL, intent(in):: dtime |
47 |
! dtime----input-R- time step (s) |
! dtime----input-R- time step (s) |
48 |
|
REAL, intent(in):: t(klon, klev) |
49 |
! t--------input-R- temperature (K) |
! t--------input-R- temperature (K) |
50 |
|
REAL, intent(in):: q(klon, klev), ql(klon, klev), qs(klon, klev) |
51 |
! q--------input-R- vapeur d'eau (kg/kg) |
! q--------input-R- vapeur d'eau (kg/kg) |
52 |
! ql-------input-R- liquid water (kg/kg) |
! ql-------input-R- liquid water (kg/kg) |
53 |
! qs-------input-R- solid water (kg/kg) |
! qs-------input-R- solid water (kg/kg) |
54 |
! u--------input-R- vitesse u |
REAL, intent(in):: u(klon, klev), v(klon, klev) ! vitesse |
55 |
! v--------input-R- vitesse v |
REAL, intent(in):: paprs(klon, klev+1) ! pression a intercouche (Pa) |
|
! paprs----input-R- pression a intercouche (Pa) |
|
56 |
|
|
57 |
|
! Output variables |
58 |
! the following total value are computed by UNIT of earth surface |
! the following total value are computed by UNIT of earth surface |
59 |
|
REAL d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec |
60 |
|
|
61 |
! d_h_vcol--output-R- Heat flux (W/m2) define as the Enthalpy |
! d_h_vcol--output-R- Heat flux (W/m2) define as the Enthalpy |
62 |
! change (J/m2) during one time step (dtime) for the whole |
! change (J/m2) during one time step (dtime) for the whole |
68 |
! d_qs------output-R- same, for the solid water only (kg/m2/s) |
! d_qs------output-R- same, for the solid water only (kg/m2/s) |
69 |
! d_ec------output-R- Kinetic Energy Budget (W/m2) for vertical air column |
! d_ec------output-R- Kinetic Energy Budget (W/m2) for vertical air column |
70 |
|
|
|
! other (COMMON...) |
|
|
! RCPD, RCPV, .... |
|
|
|
|
|
! Input variables |
|
|
real airephy(klon) |
|
|
CHARACTER(len=15) tit |
|
|
INTEGER iprt, idiag, idiag2 |
|
|
REAL, intent(in):: dtime |
|
|
REAL, intent(in):: t(klon, klev) |
|
|
REAL, intent(in):: q(klon, klev), ql(klon, klev), qs(klon, klev) |
|
|
REAL u(klon, klev), v(klon, klev) |
|
|
REAL, intent(in):: paprs(klon, klev+1) |
|
|
! Output variables |
|
|
REAL d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec |
|
|
|
|
71 |
! Local variables |
! Local variables |
72 |
|
|
73 |
REAL h_vcol_tot, h_dair_tot, h_qw_tot, h_ql_tot, h_qs_tot, qw_tot, ql_tot |
REAL h_vcol_tot, h_dair_tot, h_qw_tot, h_ql_tot, h_qs_tot, qw_tot, ql_tot |