/[lmdze]/trunk/libf/phylmd/Conflx/flxdtdq.f90
ViewVC logotype

Annotation of /trunk/libf/phylmd/Conflx/flxdtdq.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 70 - (hide annotations)
Mon Jun 24 15:39:52 2013 UTC (10 years, 11 months ago) by guez
File size: 2248 byte(s)
In procedure, "addfi" access directly the module variable "dtphys"
instead of going through an argument.

In "conflx", do not create a local variable for temperature with
reversed order of vertical levels. Instead, give an actual argument
with reversed order in "physiq".

Changed names of variables "rmd" and "rmv" from module "suphec_m" to
"md" and "mv".

In "hgardfou", print only the first temperature out of range found.

1 guez 52 SUBROUTINE flxdtdq(ktopm2, paph, ldcum, pten &
2     , pmfus, pmfds, pmfuq, pmfdq, pmful, pdmfup, pdmfdp &
3     , pdpmel, dt_con, dq_con)
4     use dimens_m
5     use dimphy
6     use SUPHEC_M
7     use yoethf_m
8     use yoecumf
9     IMPLICIT none
10     !----------------------------------------------------------------------
11     ! calculer les tendances T et Q
12     !----------------------------------------------------------------------
13     ! -----------------------------------------------------------------
14     LOGICAL llo1
15     !
16 guez 70 REAL, intent(in):: pten(klon,klev), paph(klon,klev+1)
17 guez 52 REAL pmfus(klon,klev), pmfuq(klon,klev), pmful(klon,klev)
18     REAL pmfds(klon,klev), pmfdq(klon,klev)
19     REAL pdmfup(klon,klev)
20     REAL pdmfdp(klon,klev)
21     REAL pdpmel(klon,klev)
22     LOGICAL ldcum(klon)
23     REAL dt_con(klon,klev), dq_con(klon,klev)
24     !
25     INTEGER ktopm2
26     !
27     INTEGER i, k
28     REAL zalv, zdtdt, zdqdt
29     !
30     DO 210 k=ktopm2,klev-1
31     DO 220 i = 1, klon
32     IF (ldcum(i)) THEN
33     llo1 = (pten(i,k)-RTT).GT.0.
34     zalv = RLSTT
35     IF (llo1) zalv = RLVTT
36     zdtdt=RG/(paph(i,k+1)-paph(i,k))/RCPD &
37     *(pmfus(i,k+1)-pmfus(i,k) &
38     +pmfds(i,k+1)-pmfds(i,k) &
39     -RLMLT*pdpmel(i,k) &
40     -zalv*(pmful(i,k+1)-pmful(i,k)-pdmfup(i,k)-pdmfdp(i,k)) &
41     )
42     dt_con(i,k)=zdtdt
43     zdqdt=RG/(paph(i,k+1)-paph(i,k)) &
44     *(pmfuq(i,k+1)-pmfuq(i,k) &
45     +pmfdq(i,k+1)-pmfdq(i,k) &
46     +pmful(i,k+1)-pmful(i,k)-pdmfup(i,k)-pdmfdp(i,k))
47     dq_con(i,k)=zdqdt
48     ENDIF
49     220 CONTINUE
50     210 CONTINUE
51     !
52     k = klev
53     DO 230 i = 1, klon
54     IF (ldcum(i)) THEN
55     llo1 = (pten(i,k)-RTT).GT.0.
56     zalv = RLSTT
57     IF (llo1) zalv = RLVTT
58     zdtdt=-RG/(paph(i,k+1)-paph(i,k))/RCPD &
59     *(pmfus(i,k)+pmfds(i,k)+RLMLT*pdpmel(i,k) &
60     -zalv*(pmful(i,k)+pdmfup(i,k)+pdmfdp(i,k)))
61     dt_con(i,k)=zdtdt
62     zdqdt=-RG/(paph(i,k+1)-paph(i,k)) &
63     *(pmfuq(i,k)+pmfdq(i,k)+pmful(i,k) &
64     +pdmfup(i,k)+pdmfdp(i,k))
65     dq_con(i,k)=zdqdt
66     ENDIF
67     230 CONTINUE
68     !
69     RETURN
70     END

  ViewVC Help
Powered by ViewVC 1.1.21