f_qv_from_rh.f90
References to this file elsewhere.
1 FUNCTION f_qv_from_rh (RH, T_K, RH0, T_K0, P_PA0) RESULT (QV_KG)
2 !!!--------------------------------------------------------------------------
3 !!!
4 !!! FUNCTION F_QV_FROM_RH
5 !!! **************************
6 !!!
7 !!! PURPOSE:
8 !!! -------
9 !!! TANGENT LINEAR CODE FOR
10 !!! COMPUTING MIXING RATIO FROM RELATIVE HUMIDITY, TEMPERATURE AND PRESSURE
11 !!!
12 !!! THE ERROR DERIVATION SHOULD USED THE TANGENT LINEAR CODE, NOT THE
13 !!! ORIGINAL NON-LINEAR CODE.
14 !!!
15 !! METHOD:
16 !! ------
17 !! LINEAR OR LOGARITHMIC VERTICAL INTERPOLATION
18 !! OUT OF BOUND LOCATIONS ARE EXTRAPOLATED
19 !!
20 !! INPUT:
21 !! -----
22 !! RH: RELAITVE HUMIDITY in %
23 !! P_PA: PRESSURE in Pa
24 !! T_K: TEMPERATURE in K
25 !!
26 !! OUTPUT:
27 !! ------
28 !! QV_KG: MIXING RATIO IN kg/kg
29 !!
30 !! COMMON: NO
31 !! -------
32 !! EXTERNAL: NO
33 !! --------
34 !!
35 !! REFERENCES:
36 !! -----------
37 !! R. R. ROGERS AND M. K. YAU, 1989: A SHORT COURSE IN CLOUD PHYSICS,
38 !! 3ND EDITION, PERGAMON PRESS, PAGE 14-19.
39 !!
40 !! VERIFICATION SET:
41 !! -----------------
42 !! T_K = 268.15 K,
43 !! TD_K = 262.55 K
44 !! RH = 65 %,
45 !! P_PA = 80000 Pa,
46 !! QV = 2.11E-03 kg/kg,
47 !!
48 !! MODIFICATIONS:
49 !! ------------
50 !! Developed by Yong-Run Guo (11/07/00)
51 !!----------------------------------------------------------------------------CC
52
53 IMPLICIT NONE
54
55 REAL T_K , RH , QV_KG
56 REAL P_PA0, T_K0, RH0
57 ! REAL P_MB, W_KG
58 REAL ES , QS
59 REAL P_MB0, ES0, QS0, QV_KG0
60 !------------------------------------------------------------------------------C
61
62 !...P in mb
63
64 P_MB0 = P_PA0 / 100.
65
66 !...VAPOR PRESSURE in mb
67
68 ES = 6.112 * 17.67 * 243.5 * T_K / &
69 ((T_K0-273.15+243.5)*(T_K0-273.15+243.5)) * &
70 EXP (17.67*(T_K0-273.15)/(T_K0-273.15+243.5))
71 ES0 = 6.112 * EXP (17.67*(T_K0-273.15)/(T_K0-273.15+243.5))
72
73 !...SATURATION MIXING RATIO in kg/kg
74
75 QS = 0.622 * (P_MB0 * ES ) / &
76 ((P_MB0 - ES0) * (P_MB0 - ES0))
77 QS0 = 0.622 * ES0 /(P_MB0-ES0)
78
79 !...MIXING RATIO in kg/kg
80
81 QV_KG = 0.01 * (RH0 * QS + RH * QS0)
82 QV_KG0 = 0.01 * RH0 * QS0
83
84 !...Mixing ratio must be positive
85
86 IF (QV_KG0 < 0.) QV_KG = 0.
87
88 RETURN
89
90 END FUNCTION f_qv_from_rh
91
92