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

Annotation of /trunk/phylmd/FCTTRE.f

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.21