calcTemp: Calculate Temperature from relative humidity and dew point

View source: R/calcTemp.R

calcTempR Documentation

Calculate Temperature from relative humidity and dew point

Description

This function calculates the temperature (°C) from relative humidity (%) and dew point temperature (°C).

Usage

calcTemp(RH, DewP, method = c("Magnus", "Buck"))

Arguments

RH

Relative Humidity (0-100%)

DewP

Td (DP), Dew Point (°Celsius)

method

Calculation method: either "Magnus" or "Buck". Defaults to "Magnus".

Details

This function supports two methods for temperature calculation:

  • "Magnus" (default): Uses the August-Roche-Magnus approximation, valid for 0°C < Temp < 60°C and 1% < RH < 100%.

  • "Buck": Uses the Arden Buck equation with Bögel modification, valid for -30°C < Temp < 60°C and 1% < RH < 100%.

The methods calculate temperature based on vapor pressure and saturation vapour pressure relationships. The Magnus method is chosen as the default because it is more stable when used with the calcDP and calcRH_DP functions.

Value

Temp, Temperature (°Celsius)

References

Alduchov, O. A., and R. E. Eskridge, 1996: Improved Magnus' form approximation of saturation vapor pressure. J. Appl. Meteor., 35, 601–609

Buck, A. L., 1981: New Equations for Computing Vapor Pressure and Enhancement Factor. J. Appl. Meteor. Climatol., 20, 1527–1532, https://doi.org/10.1175/1520-0450(1981)020<1527:NEFCVP>2.0.CO;2.

Buck (1996), Buck (1996), Buck Research CR-1A User's Manual, Appendix 1.

https://bmcnoldy.earth.miami.edu/Humidity.html

See Also

calcTemp for calculating temperature

calcDP for calculating dew point

calcRH_DP for calculating relative humidity from dew point

calcRH_AH for calculating relative humidity from absolute humidity

Examples

# Calculate temperature (Temp) at 50% relative humidity (RH) and dew point 15°C (DewP)
# Using Magnus method
calcTemp(50, 15)

# Using Buck method
calcTemp(50, 15, method = "Buck")

calcTemp(50, calcDP(20, 50))


# mydata file
filepath <- data_file_path("mydata.xlsx")
mydata <- readxl::read_excel(filepath, sheet = "mydata", n_max = 5)

mydata |>
  dplyr::mutate(
    DewPoint = calcDP(Temp, RH),
    Temp_default = calcTemp(RH, DewPoint),
    Temp_Buck = calcTemp(RH, DewPoint))



ConSciR documentation built on Nov. 5, 2025, 5:25 p.m.