source: LMDZ6/branches/Amaury_dev/libf/phylmdiso/clift.F90 @ 5186

Last change on this file since 5186 was 5144, checked in by abarral, 8 weeks ago

Put YOMCST.h into modules

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