/[lmdze]/trunk/libf/phylmd/FCTTRE.f90
ViewVC logotype

Contents of /trunk/libf/phylmd/FCTTRE.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 37 - (show annotations)
Tue Dec 21 15:45:48 2010 UTC (13 years, 4 months ago) by guez
File size: 2370 byte(s)
Inlined procedure "pression".

Split "guide.f90" into "guide.f90" and "tau2alpha.f90". Split
"read_reanalyse.f" into single-procedure files in directory
"Read_reanalyse".

Useless copy of variables in "iniphysiq". Directly define module
variables in "gcm" and remove procedure "iniphysiq".

Added "pressure-altitude" in "test_disvert".

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 YOMCST 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.
10
11 implicit none
12
13 LOGICAL, PARAMETER:: thermcep= .TRUE.
14
15 contains
16
17 REAL function FOEEW(T, DEL)
18
19 use yoethf, only: R3LES, R3IES, R4LES, R4IES
20 use YOMCST, only: rtt
21
22 REAL, intent(in):: T, DEL
23
24 !-----------------------
25
26 FOEEW = EXP((R3LES * (1. - DEL) + R3IES * DEL) * (T - RTT) &
27 / (T - (R4LES * (1. - DEL) + R4IES * DEL)))
28
29 end function FOEEW
30
31 !******************************************
32
33 REAL function FOEDE(T, DEL, P5ARG, QS, PCOARG)
34
35 use yoethf, only: R4LES, R4IES
36
37 REAL, intent(in):: T, DEL
38 real, intent(in):: P5ARG, QS, PCOARG
39
40 !-----------------------
41
42 FOEDE = QS*PCOARG*P5ARG / (T-(R4LES*(1.-DEL)+R4IES*DEL))**2
43
44 end function FOEDE
45
46 !******************************************
47
48 REAL function qsats(t)
49
50 REAL, intent(in):: T
51
52 !-----------------------
53
54 qsats = 100.0 * 0.622 &
55 * 10.**(2.07023 - 0.00320991 * t - 2484.896 / t + 3.56654 * LOG10(t))
56
57 end function qsats
58
59 !******************************************
60
61 REAL function qsatl(t)
62
63 REAL, intent(in):: T
64
65 !-----------------------
66
67 qsatl = 100.0 * 0.622 * 10.**(23.8319 - 2948.964 / t &
68 - 5.028 * LOG10(t) - 29810.16 * EXP(- 0.0699382 * t) &
69 + 25.21935 * EXP(- 2999.924 / t))
70
71 end function qsatl
72
73 !******************************************
74
75 REAL function dqsats(t, qs)
76
77 use YOMCST, only: RLVTT, rcpd
78
79 REAL, intent(in):: T, qs
80
81 !-----------------------
82
83 dqsats = RLVTT / RCPD * qs * (3.56654/t &
84 +2484.896*LOG(10.)/t**2 - 0.00320991*LOG(10.))
85
86 end function dqsats
87
88 !******************************************
89
90 REAL function dqsatl(t, qs)
91
92 use YOMCST, only: RLVTT, rcpd
93
94 REAL, intent(in):: T, qs
95
96 !-----------------------
97
98 dqsatl = RLVTT / RCPD * qs * LOG(10.) &
99 * (2948.964/t**2-5.028/LOG(10.)/t &
100 +25.21935*2999.924/t**2*EXP(-2999.924/t) &
101 +29810.16*0.0699382*EXP(-0.0699382*t))
102
103 end function dqsatl
104
105 end module FCTTRE

  ViewVC Help
Powered by ViewVC 1.1.21