| 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 |
|
|
|