Source code for pythermalcomfort.models.wind_chill_temperature

from __future__ import annotations

import numpy as np

from pythermalcomfort.classes_input import WCTInputs
from pythermalcomfort.classes_return import WCT


[docs] def wind_chill_temperature( tdb: float | list[float], v: float | list[float], round_output: bool = True, ) -> WCT: """Calculate the Wind Chill Temperature (`WCT`_). We validated the implementation of this model by comparing the results with the Wind Chill Temperature Calculator on `Calculator.net`_ .. _WCT: https://en.wikipedia.org/wiki/Wind_chill#North_American_and_United_Kingdom_wind_chill_index .. _Calculator.net: https://www.calculator.net/wind-chill-calculator.html Parameters ---------- tdb : float or list of floats Dry bulb air temperature, [°C]. v : float or list of floats Wind speed 10m above ground level, [km/h]. round_output : bool, optional If True, rounds output value. If False, it does not round it. Defaults to True. Returns ------- WCT A dataclass containing the Wind Chill Temperature. See :py:class:`~pythermalcomfort.classes_return.WCT` for more details. To access the `wct` value, use the `wct` attribute of the returned `WCT` instance, e.g., `result.wct`. Examples -------- .. code-block:: python from pythermalcomfort.models import wind_chill_temperature result = wind_chill_temperature(tdb=-5, v=5.5) print(result.wct) # -7.5 result = wind_chill_temperature(tdb=[-5, -10], v=[5.5, 10], round_output=True) print(result.wct) # [-7.5, -15.3] """ # Validate inputs using the WCYInputs class WCTInputs( tdb=tdb, v=v, round_output=round_output, ) tdb = np.asarray(tdb) v = np.asarray(v) _wct = 13.12 + 0.6215 * tdb - 11.37 * v**0.16 + 0.3965 * tdb * v**0.16 if round_output: _wct = np.around(_wct, 1) return WCT(wct=_wct)