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

Annotation of /trunk/phylmd/FCTTRE.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 37 - (hide annotations)
Tue Dec 21 15:45:48 2010 UTC (13 years, 5 months ago) by guez
Original Path: trunk/libf/phylmd/FCTTRE.f90
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 guez 3 module FCTTRE
2    
3 guez 37 ! From phylmd/FCTTRE.inc, version 1.2 2004/06/22 11:45:32
4 guez 3
5 guez 37 ! 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 guez 3
11     implicit none
12    
13 guez 37 LOGICAL, PARAMETER:: thermcep= .TRUE.
14 guez 3
15     contains
16    
17 guez 37 REAL function FOEEW(T, DEL)
18 guez 3
19     use yoethf, only: R3LES, R3IES, R4LES, R4IES
20     use YOMCST, only: rtt
21    
22 guez 37 REAL, intent(in):: T, DEL
23 guez 3
24     !-----------------------
25    
26 guez 37 FOEEW = EXP((R3LES * (1. - DEL) + R3IES * DEL) * (T - RTT) &
27     / (T - (R4LES * (1. - DEL) + R4IES * DEL)))
28 guez 3
29     end function FOEEW
30    
31     !******************************************
32    
33 guez 37 REAL function FOEDE(T, DEL, P5ARG, QS, PCOARG)
34 guez 3
35     use yoethf, only: R4LES, R4IES
36    
37 guez 37 REAL, intent(in):: T, DEL
38     real, intent(in):: P5ARG, QS, PCOARG
39 guez 3
40     !-----------------------
41    
42 guez 37 FOEDE = QS*PCOARG*P5ARG / (T-(R4LES*(1.-DEL)+R4IES*DEL))**2
43 guez 3
44     end function FOEDE
45    
46     !******************************************
47    
48 guez 37 REAL function qsats(t)
49 guez 3
50 guez 37 REAL, intent(in):: T
51 guez 3
52     !-----------------------
53    
54 guez 37 qsats = 100.0 * 0.622 &
55     * 10.**(2.07023 - 0.00320991 * t - 2484.896 / t + 3.56654 * LOG10(t))
56 guez 3
57     end function qsats
58    
59     !******************************************
60    
61 guez 37 REAL function qsatl(t)
62 guez 3
63 guez 37 REAL, intent(in):: T
64 guez 3
65     !-----------------------
66    
67 guez 37 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 guez 3
71     end function qsatl
72    
73     !******************************************
74    
75 guez 37 REAL function dqsats(t, qs)
76 guez 3
77     use YOMCST, only: RLVTT, rcpd
78    
79 guez 37 REAL, intent(in):: T, qs
80 guez 3
81     !-----------------------
82    
83 guez 37 dqsats = RLVTT / RCPD * qs * (3.56654/t &
84     +2484.896*LOG(10.)/t**2 - 0.00320991*LOG(10.))
85 guez 3
86     end function dqsats
87    
88     !******************************************
89    
90 guez 37 REAL function dqsatl(t, qs)
91 guez 3
92     use YOMCST, only: RLVTT, rcpd
93    
94 guez 37 REAL, intent(in):: T, qs
95 guez 3
96     !-----------------------
97    
98 guez 37 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 guez 3
103     end function dqsatl
104    
105     end module FCTTRE

  ViewVC Help
Powered by ViewVC 1.1.21