1 |
|
2 |
! $Header: /home/cvsroot/LMDZ4/libf/phylmd/clift.F,v 1.1.1.1 2004/05/19 |
3 |
! 12:53:08 lmdzadmin Exp $ |
4 |
|
5 |
SUBROUTINE clift(p, t, rr, rs, plcl, dplcldt, dplcldq) |
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 |
USE suphec_m |
44 |
|
45 |
cpd = rcpd |
46 |
cpv = rcpv |
47 |
cl = rcw |
48 |
cpvmcl = cl - cpv |
49 |
eps = rd/rv |
50 |
alv0 = rlvtt |
51 |
|
52 |
|
53 |
! Bolton formula coefficients : |
54 |
a = 1669.0 |
55 |
b = 122.0 |
56 |
|
57 |
rh = rr/rs |
58 |
chi = t/(a-b*rh-t) |
59 |
plcl = p*(rh**chi) |
60 |
|
61 |
alv = alv0 - cpvmcl*(t-273.15) |
62 |
|
63 |
! -- sb: correction: |
64 |
! DPLCLDQ = PLCL*CHI*( 1./RR - B*CHI/T/RS*ALOG(RH) ) |
65 |
dplcldq = plcl*chi*(1./rr+b*chi/t/rs*alog(rh)) |
66 |
! sb -- |
67 |
|
68 |
dplcldt = plcl*chi*((a-b*rh*(1.+alv/rv/t))/t**2*chi*alog(rh)-alv/rv/t**2) |
69 |
|
70 |
|
71 |
RETURN |
72 |
END SUBROUTINE clift |