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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3 - (hide annotations)
Wed Feb 27 13:16:39 2008 UTC (16 years, 3 months ago) by guez
Original Path: trunk/libf/phylmd/FCTTRE.f90
File size: 2600 byte(s)
Initial import
1 guez 3 module FCTTRE
2    
3     ! From phylmd/FCTTRE.inc,v 1.2 2004/06/22 11:45:32
4    
5     ! This COMDECK includes the Thermodynamical functions for the cy39
6     ! ECMWF Physics package.
7     ! Consistent with YOMCST Basic physics constants, assuming the
8     ! partial pressure of water vapour is given by a first order
9     ! Taylor expansion of Qs(T) w.r.t. to Temperature, using constants
10     ! in YOETHF
11    
12     implicit none
13    
14     LOGICAL, PARAMETER:: thermcep=.TRUE.
15    
16     contains
17    
18     REAL function FOEEW ( PTARG,PDELARG )
19    
20     use yoethf, only: R3LES, R3IES, R4LES, R4IES
21     use YOMCST, only: rtt
22    
23     REAL, intent(in):: PTARG, PDELARG
24    
25     !-----------------------
26    
27     FOEEW = EXP ((R3LES*(1.-PDELARG)+R3IES*PDELARG) * (PTARG-RTT) &
28     / (PTARG-(R4LES*(1.-PDELARG)+R4IES*PDELARG)) )
29    
30     end function FOEEW
31    
32     !******************************************
33    
34     REAL function FOEDE(PTARG,PDELARG,P5ARG,PQSARG,PCOARG)
35    
36     use yoethf, only: R4LES, R4IES
37    
38     REAL, intent(in):: PTARG, PDELARG
39     real, intent(in):: P5ARG, PQSARG, PCOARG
40    
41     !-----------------------
42    
43     FOEDE = PQSARG*PCOARG*P5ARG / (PTARG-(R4LES*(1.-PDELARG)+R4IES*PDELARG))**2
44    
45     end function FOEDE
46    
47     !******************************************
48    
49     REAL function qsats(ptarg)
50    
51     REAL, intent(in):: PTARG
52    
53     !-----------------------
54    
55     qsats = 100.0 * 0.622 * 10.0 &
56     ** (2.07023 - 0.00320991 * ptarg &
57     - 2484.896 / ptarg + 3.56654 * LOG10(ptarg))
58    
59     end function qsats
60    
61     !******************************************
62    
63     REAL function qsatl(ptarg)
64    
65     REAL, intent(in):: PTARG
66    
67     !-----------------------
68    
69     qsatl = 100.0 * 0.622 * 10.0 &
70     ** (23.8319 - 2948.964 / ptarg &
71     - 5.028 * LOG10(ptarg) &
72     - 29810.16 * EXP( - 0.0699382 * ptarg) &
73     + 25.21935 * EXP( - 2999.924 / ptarg))
74    
75     end function qsatl
76    
77     !******************************************
78    
79     REAL function dqsats(ptarg,pqsarg)
80    
81     use YOMCST, only: RLVTT, rcpd
82    
83     REAL, intent(in):: PTARG, pqsarg
84    
85     !-----------------------
86    
87     dqsats = RLVTT/RCPD*pqsarg * (3.56654/ptarg &
88     +2484.896*LOG(10.)/ptarg**2 &
89     -0.00320991*LOG(10.))
90    
91     end function dqsats
92    
93     !******************************************
94    
95     REAL function dqsatl(ptarg,pqsarg)
96    
97     use YOMCST, only: RLVTT, rcpd
98    
99     REAL, intent(in):: PTARG, pqsarg
100    
101     !-----------------------
102    
103     dqsatl = RLVTT/RCPD*pqsarg*LOG(10.)* &
104     (2948.964/ptarg**2-5.028/LOG(10.)/ptarg &
105     +25.21935*2999.924/ptarg**2*EXP(-2999.924/ptarg) &
106     +29810.16*0.0699382*EXP(-0.0699382*ptarg))
107    
108     end function dqsatl
109    
110     end module FCTTRE

  ViewVC Help
Powered by ViewVC 1.1.21