GCC Code Coverage Report


Directory: ./
File: phys/clift.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 0 12 0.0%
Branches: 0 0 -%

Line Branch Exec Source
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
75