function GetDryAirVolume(TDryBulb, Pressure) result(DryAirVolume)
!+ Return dry-air volume given dry-bulb temperature and pressure.
!+ Reference:
!+ ASHRAE Handbook - Fundamentals (2017) ch. 1
!+ Notes:
!+ Eqn 14 for the perfect gas relationship for dry air.
!+ Eqn 1 for the universal gas constant.
!+ The factor 144 in IP is for the conversion of Psi = lb in⁻² to lb ft⁻².
real, intent(in) :: TDryBulb
!+ Dry-bulb temperature in °F [IP] or °C [SI]
real, intent(in) :: Pressure
!+ Atmospheric pressure in Psi [IP] or Pa [SI]
real :: DryAirVolume
!+ Dry air volume in ft³ lb⁻¹ [IP] or in m³ kg⁻¹ [SI]
if (isIP()) then
DryAirVolume = GetTRankineFromTFahrenheit(TDryBulb) * R_DA_IP / (144 * Pressure)
else
DryAirVolume = GetTKelvinFromTCelsius(TDryBulb) * R_DA_SI / Pressure
end if
end function GetDryAirVolume