
Calculates relative humidity given temperature, mixing ratio, and pressure.
function relhum(
t : float,
w : float,
p : float
)
begin
p =(/ 1008., \
1000.,950.,900.,850.,800.,750.,700.,650.,600., \
550.,500.,450.,400.,350.,300.,250.,200., \
175.,150.,125.,100., 80., 70., 60., 50., \
40., 30., 25., 20. /)
t =(/ 29.3, \
28.1,23.5,20.9,18.4,15.9,13.1,10.1, 6.7, 3.1, \
-0.5,-4.5,-9.0,-14.8,-21.5,-29.7,-40.0,-52.4, \
-59.2,-66.5,-74.1,-78.5,-76.0,-71.6,-66.7,-61.3, \
-56.3,-51.7,-50.7,-47.5 /)
q =(/ 20.38, \
19.03,16.14,13.71,11.56,9.80,8.33,6.75,6.06,5.07, \
3.88, 3.29, 2.39, 1.70,1.00,0.60,0.20,0.00,0.00, \
0.00, 0.00, 0.00, 0.00,0.00,0.00,0.00,0.00,0.00, \
0.00, 0.00 /)
nlvl = dimsizes(p)
print (nlvl)
zsfc = 17.0
q = q*0.001
tk = t+273.15
tkv = tk*(1.+q*0.61)
tcv = tkv-273.15
zh = hydro (p*100.,tkv,zsfc)
rhccm= relhum (tk, q, p*100. )
expp = 2.7182
eps = 0.62197
do n=0,nlvl-1
ev = q(n)*p(n)/(eps+q(n))
es = 6.112*expp^(17.67*tcv(n)/(243.5+tcv(n)))
rh = (ev/es)*100. ; in [%]; avoid 0
print ("HYDRO: "+n+" "+p(n)+" "+zh(n) \
+" "+q(n)+" "+tcv(n)\
+" rhccm="+rhccm(n) \
+" rh=" +rh)
end do
end
NG4.1 Home, Index, Examples, Glossary, Feedback, Ref Contents, Ref WhereAmI?