function GetVapPresFromHumRatio(HumRatio, Pressure) result(VapPres)
!+ Return vapor pressure given humidity ratio and pressure.
!+ Reference:
!+ ASHRAE Handbook - Fundamentals (2017) ch. 1 eqn 20 solved for pw
real, intent(in) :: HumRatio
!+ Humidity ratio in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI]
real, intent(in) :: Pressure
!+ Atmospheric pressure in Psi [IP] or Pa [SI]
real :: VapPres
!+ Partial pressure of water vapor in moist air in Psi [IP] or Pa [SI]
real :: BoundedHumRatio
!+ Humidity ratio bounded to MIN_HUM_RATIO
if (HumRatio < 0.0) then
error stop "Error: humidity ratio is negative"
end if
BoundedHumRatio = max(HumRatio, MIN_HUM_RATIO)
VapPres = Pressure * BoundedHumRatio / (0.621945 + BoundedHumRatio)
end function GetVapPresFromHumRatio