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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 52 - (show annotations)
Fri Sep 23 12:28:01 2011 UTC (12 years, 7 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 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