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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 38 - (hide annotations)
Thu Jan 6 17:52:19 2011 UTC (13 years, 4 months ago) by guez
Original Path: trunk/libf/phylmd/FCTTRE.f90
File size: 2384 byte(s)
Extracted ASCII art from "inigeom" into a separate text file in the
documentation.

"test_disvert" now creates a separate file for layer thicknesses.

Moved variables from module "yomcst" to module "suphec_m" because this
is where those variables are defined. Kept in "yomcst" only parameters
of Earth orbit. Gave the attribute "parameter" to some variables of
module "suphec_m".

Variables of module "yoethf" were defined in procedure "suphec". Moved
these definitions to a new procedure "yoethf" in module "yoethf_m".

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 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 guez 38 use yoethf_m, only: R3LES, R3IES, R4LES, R4IES
20     use SUPHEC_M, only: rtt
21 guez 3
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 guez 38 use yoethf_m, only: R4LES, R4IES
36 guez 3
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 guez 38 use SUPHEC_M, only: RLVTT, rcpd
78 guez 3
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 guez 38 use SUPHEC_M, only: RLVTT, rcpd
93 guez 3
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