weather.derived.apparent_temperature(
temperature,
relative_humidity,
wind_speed,
* ,
wind_speed_unit= 'ms' ,
)
Steadman apparent (“feels-like”) temperature.
:math:AT = T + 0.33 e - 0.70 w - 4.00, where the water-vapour pressure :math:e = (rh/100)\,6.105\,\exp(17.27 T/(237.7+T)) in hPa and w is the 10 m wind speed in m/s. This is the Australian Bureau of Meteorology formulation and captures the humidity load-driver that dry-bulb temperature misses (Maia-Silva et al. 2020, maia20a).
Parameters
temperature
pd .Series
Hourly air temperature in °C.
required
relative_humidity
pd .Series
Relative humidity in percent, 0 ≤ rh ≤ 100.
required
wind_speed
pd .Series
10 m wind speed; unit set by wind_speed_unit .
required
wind_speed_unit
str
"ms" (metres per second, the formula’s native unit, default) or "kmh" (kilometres per hour — the Open-Meteo default, converted internally).
'ms'
Returns
pd .Series
pd.Series: apparent_temperature in °C, float64, same index as
pd .Series
the inputs.
Raises
ValueError
If any input is not a NaN-free numeric Series, the indices differ, humidity is outside [0, 100], or wind_speed_unit is not "ms" or "kmh".
Examples
import pandas as pd
from spotforecast2_safe.weather.derived import apparent_temperature
t = pd.Series([30.0 ])
rh = pd.Series([70.0 ])
w = pd.Series([2.0 ]) # m/s
print (round (apparent_temperature(t, rh, w).iloc[0 ], 2 ))