function GetRelHumFromTDewPoint(TDryBulb, TDewPoint) result(RelHum)
!+ Return relative humidity given dry-bulb temperature and dew-point temperature.
!+ References:
!+ ASHRAE Handbook - Fundamentals (2017) ch. 1 eqn 22
real, intent(in) :: TDryBulb
!+ Dry-bulb temperature in °F [IP] or °C [SI]
real, intent(in) :: TDewPoint
!+ Dew-point temperature in °F [IP] or °C [SI]
real :: RelHum
!+ Relative humidity in range [0, 1]
real :: VapPres
!+ Partial pressure of water vapor in moist air in Psi [IP] or Pa [SI]
real :: SatVapPres
!+ Vapor pressure of saturated air in Psi [IP] or Pa [SI]
if (TDewPoint > TDryBulb) then
error stop "Error: dew point temperature is above dry bulb temperature"
end if
VapPres = GetSatVapPres(TDewPoint)
SatVapPres = GetSatVapPres(TDryBulb)
RelHum = VapPres / SatVapPres
end function GetRelHumFromTDewPoint