GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: phylmd/clift.F90 Lines: 0 12 0.0 %
Date: 2023-06-30 12:56:34 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