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