1 |
|
|
|
2 |
|
|
! $Header$ |
3 |
|
|
|
4 |
|
|
SUBROUTINE clift(p, t, rr, rs, plcl, dplcldt, dplcldq) |
5 |
|
|
IMPLICIT NONE |
6 |
|
|
! *************************************************************** |
7 |
|
|
! * * |
8 |
|
|
! * CLIFT : COMPUTE LIFTING CONDENSATION LEVEL AND ITS * |
9 |
|
|
! * DERIVATIVES RELATIVE TO T AND R * |
10 |
|
|
! * (WITHIN 0.2% OF FORMULA OF BOLTON, MON. WEA. REV.,1980) * |
11 |
|
|
! * * |
12 |
|
|
! * written by : GRANDPEIX Jean-Yves, 17/11/98, 12.39.01 * |
13 |
|
|
! * modified by : * |
14 |
|
|
! *************************************************************** |
15 |
|
|
! * |
16 |
|
|
! *Arguments : |
17 |
|
|
! * |
18 |
|
|
! * Input : P = pressure of level from wich lifting is performed |
19 |
|
|
! * T = temperature of level P |
20 |
|
|
! * RR = vapour mixing ratio at level P |
21 |
|
|
! * RS = vapour saturation mixing ratio at level P |
22 |
|
|
! * |
23 |
|
|
! * Output : PLCL = lifting condensation level |
24 |
|
|
! * DPLCLDT = derivative of PLCL relative to T |
25 |
|
|
! * DPLCLDQ = derivative of PLCL relative to R |
26 |
|
|
! * |
27 |
|
|
! cccccccccccccccccccccc |
28 |
|
|
! constantes coherentes avec le modele du Centre Europeen |
29 |
|
|
! RD = 1000.0 * 1.380658E-23 * 6.0221367E+23 / 28.9644 |
30 |
|
|
! RV = 1000.0 * 1.380658E-23 * 6.0221367E+23 / 18.0153 |
31 |
|
|
! CPD = 3.5 * RD |
32 |
|
|
! CPV = 4.0 * RV |
33 |
|
|
! CL = 4218.0 |
34 |
|
|
! CI=2090.0 |
35 |
|
|
! CPVMCL=CL-CPV |
36 |
|
|
! CLMCI=CL-CI |
37 |
|
|
! EPS=RD/RV |
38 |
|
|
! ALV0=2.5008E+06 |
39 |
|
|
! ALF0=3.34E+05 |
40 |
|
|
|
41 |
|
|
! on utilise les constantes thermo du Centre Europeen: (sb) |
42 |
|
|
|
43 |
|
|
include "YOMCST.h" |
44 |
|
|
real :: p,t,rr,rs,plcl,dplcldt,dplcldq,cpd,cpv,cl,cpvmcl,eps,alv0,a,b |
45 |
|
|
real :: rh,chi,alv |
46 |
|
|
|
47 |
|
|
cpd = rcpd |
48 |
|
|
cpv = rcpv |
49 |
|
|
cl = rcw |
50 |
|
|
cpvmcl = cl - cpv |
51 |
|
|
eps = rd/rv |
52 |
|
|
alv0 = rlvtt |
53 |
|
|
|
54 |
|
|
|
55 |
|
|
! Bolton formula coefficients : |
56 |
|
|
a = 1669.0 |
57 |
|
|
b = 122.0 |
58 |
|
|
|
59 |
|
|
rh = rr/rs |
60 |
|
|
chi = t/(a-b*rh-t) |
61 |
|
|
plcl = p*(rh**chi) |
62 |
|
|
|
63 |
|
|
alv = alv0 - cpvmcl*(t-273.15) |
64 |
|
|
|
65 |
|
|
! -- sb: correction: |
66 |
|
|
! DPLCLDQ = PLCL*CHI*( 1./RR - B*CHI/T/RS*ALOG(RH) ) |
67 |
|
|
dplcldq = plcl*chi*(1./rr+b*chi/t/rs*alog(rh)) |
68 |
|
|
! sb -- |
69 |
|
|
|
70 |
|
|
dplcldt = plcl*chi*((a-b*rh*(1.+alv/rv/t))/t**2*chi*alog(rh)-alv/rv/t**2) |
71 |
|
|
|
72 |
|
|
|
73 |
|
|
RETURN |
74 |
|
|
END SUBROUTINE clift |