excess_heat_factor: Excess Heat Factor

View source: R/exposure_daily.R

excess_heat_factorR Documentation

Excess Heat Factor

Description

Excess Heat Factor (EHF) of Nairn & Fawcett (2015). Daily mean temperature (DMT) pairs each day's maximum with the following night's minimum, T_i = (tmax_i + tmin_(i+1)) / 2. For the three-day period starting on day i, EHI_sig = mean(T_i, T_i+1, T_i+2) - T95 and EHI_accl = mean(T_i, T_i+1, T_i+2) - mean(T_i-1, ..., T_i-30), with T95 the 95th percentile of DMT over the baseline years; EHF = EHI_sig * max(1, EHI_accl). Positive EHF marks heatwave conditions; EHF85, the 85th percentile of positive baseline EHF values, is the severe threshold and 3 * EHF85 the extreme threshold.

Usage

excess_heat_factor(date, tmax, tmin, baseline)

Arguments

date

Dates of a strictly increasing daily series for one location. Missing days leave the windows that span them NA.

tmax, tmin

Daily maximum and minimum temperature (degrees Celsius).

baseline

Climatology years, c(first, last).

Value

A data.frame with date, dmt, ehi_sig, ehi_accl and ehf (degrees Celsius squared), indexed by the first day of each three-day period, with attributes t95 and ehf85. NA where the windows are incomplete.

References

Nairn, J.R. & Fawcett, R.J.B. (2015). The Excess Heat Factor: A Metric for Heatwave Intensity and Its Use in Classifying Heatwave Severity. International Journal of Environmental Research and Public Health, 12(1), 227-253. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.3390/ijerph120100227")}

Examples

d <- seq(as.Date("2001-01-01"), as.Date("2003-12-31"), by = "day")
doy <- as.POSIXlt(d)$yday
tmax <- 33 + 8 * sin(2 * pi * (doy - 80) / 365)
tmax[d >= as.Date("2003-05-10") & d <= as.Date("2003-05-16")] <- 47
ehf <- excess_heat_factor(d, tmax, tmax - 12, baseline = c(2001, 2002))
subset(ehf, ehf > 0 & date > as.Date("2003-05-01") & date < as.Date("2003-05-31"))

varunayan documentation built on Oct. 30, 2026, 1:07 a.m.