/[lmdze]/trunk/Sources/phylmd/FCTTRE.f
ViewVC logotype

Contents of /trunk/Sources/phylmd/FCTTRE.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 39 - (show annotations)
Tue Jan 25 15:11:05 2011 UTC (13 years, 3 months ago) by guez
Original Path: trunk/libf/phylmd/FCTTRE.f90
File size: 2456 byte(s)
"pi" comes from "nr_util". Removed subroutine "initialize" in module
"comconst".

Copied the content of "fxy_sin.h" into "fxysinus", instead of getting
it from an "include" line. Removed file "fxy_sin.h".

"ps" has rank 2 in "gcm" and "dynetat0".

Assumed-shape for argument "q" of "integrd".

1 module FCTTRE
2
3 ! From phylmd/FCTTRE.inc, version 1.2 2004/06/22 11:45:32
4
5 ! This COMDECK includes the thermodynamical functions for the cycle
6 ! 39 ECMWF Physics package. Consistent with SUPHEC_M basic physics
7 ! constants, assuming the partial pressure of water vapour is given
8 ! by a first order Taylor expansion of Qs(T) with respect to
9 ! temperature, using constants in yoethf_m.
10 ! Probably from Buck, 1981, Journal of Applied Meteorology, 20, 1527.
11
12 implicit none
13
14 LOGICAL, PARAMETER:: thermcep= .TRUE.
15
16 contains
17
18 REAL function FOEEW(T, DEL)
19
20 use yoethf_m, only: R3LES, R3IES, R4LES, R4IES
21 use SUPHEC_M, only: rtt
22
23 REAL, intent(in):: T, DEL
24
25 !-----------------------
26
27 FOEEW = EXP((R3LES * (1. - DEL) + R3IES * DEL) * (T - RTT) &
28 / (T - (R4LES * (1. - DEL) + R4IES * DEL)))
29
30 end function FOEEW
31
32 !******************************************
33
34 REAL function FOEDE(T, DEL, P5ARG, QS, PCOARG)
35
36 use yoethf_m, only: R4LES, R4IES
37
38 REAL, intent(in):: T, DEL
39 real, intent(in):: P5ARG, QS, PCOARG
40
41 !-----------------------
42
43 FOEDE = QS*PCOARG*P5ARG / (T-(R4LES*(1.-DEL)+R4IES*DEL))**2
44
45 end function FOEDE
46
47 !******************************************
48
49 REAL function qsats(t)
50
51 REAL, intent(in):: T
52
53 !-----------------------
54
55 qsats = 100.0 * 0.622 &
56 * 10.**(2.07023 - 0.00320991 * t - 2484.896 / t + 3.56654 * LOG10(t))
57
58 end function qsats
59
60 !******************************************
61
62 REAL function qsatl(t)
63
64 REAL, intent(in):: T
65
66 !-----------------------
67
68 qsatl = 100.0 * 0.622 * 10.**(23.8319 - 2948.964 / t &
69 - 5.028 * LOG10(t) - 29810.16 * EXP(- 0.0699382 * t) &
70 + 25.21935 * EXP(- 2999.924 / t))
71
72 end function qsatl
73
74 !******************************************
75
76 REAL function dqsats(t, qs)
77
78 use SUPHEC_M, only: RLVTT, rcpd
79
80 REAL, intent(in):: T, qs
81
82 !-----------------------
83
84 dqsats = RLVTT / RCPD * qs * (3.56654/t &
85 +2484.896*LOG(10.)/t**2 - 0.00320991*LOG(10.))
86
87 end function dqsats
88
89 !******************************************
90
91 REAL function dqsatl(t, qs)
92
93 use SUPHEC_M, only: RLVTT, rcpd
94
95 REAL, intent(in):: T, qs
96
97 !-----------------------
98
99 dqsatl = RLVTT / RCPD * qs * LOG(10.) &
100 * (2948.964/t**2-5.028/LOG(10.)/t &
101 +25.21935*2999.924/t**2*EXP(-2999.924/t) &
102 +29810.16*0.0699382*EXP(-0.0699382*t))
103
104 end function dqsatl
105
106 end module FCTTRE

  ViewVC Help
Powered by ViewVC 1.1.21