Fortranサブルーチン副プログラム: water_vapor.f90
subroutine water_vapor(tk, p, rh, es, w, q)
!
implicit none
real,intent(out)::w,q,es
! w: water vapor mixing ratio in kg/kg
! q: specific humidity in kg/kg
! es: saturated water vapor pressure
real,intent(in)::tk,p,rh
! tk: absolute temperature (kelvin)
! p : pressure (hPa)
! rh: Relative Humidity (%)
real e !water vapor pressure
real tc !air temperature in Celsius
if(RH <= 0.0)then
w=-999.
q=-999.
return
endif
! saturated water vapor pressure by Tetens (1930)'s formulae
tc=tk-273.15
es=611.0/100.*10**((7.5*tc)/(237.3+tc)) ![hPa]
e=rh/100*es
w=0.622*e/(p-e)
q=w/(1.0+w)
end subroutine water_vapor