source: LMDZ6/trunk/libf/phylmdiso/clift.f90 @ 5456

Last change on this file since 5456 was 5285, checked in by abarral, 2 months ago

As discussed internally, remove generic ONLY: ... for new _mod_h modules

  • Property svn:keywords set to Id
File size: 2.1 KB
Line 
1
2! $Header$
3
4SUBROUTINE clift(p, t, rr, rs, plcl, dplcldt, dplcldq)
5USE yomcst_mod_h
6  IMPLICIT NONE
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
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
74END SUBROUTINE clift
Note: See TracBrowser for help on using the repository browser.