/[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 52 - (hide annotations)
Fri Sep 23 12:28:01 2011 UTC (12 years, 8 months ago) by guez
File size: 2234 byte(s)
Split "conflx.f" into single-procedure files in directory "Conflx".

Split "cv_routines.f" into single-procedure files in directory
"CV_routines". Made module "cvparam" from included file
"cvparam.h". No included file other than "netcdf.inc" left in LMDZE.

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     REAL pten(klon,klev), paph(klon,klev+1)
17     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