Source code for rubin_scheduler.site_models.wind_data
__all__ = ("ConstantWindData",)
from collections import namedtuple
from dataclasses import dataclass
import astropy.time
WindConditions = namedtuple("WindConditions", ["speed", "direction"])
[docs]
@dataclass
class ConstantWindData:
"""A source of constant wind values.
Parameters
----------
wind_speed : `float`
Wind speed (m/s).
wind_direction : `float`
Direction from which the wind originates. A direction of 0.0 degrees
means the wind originates from the north and 90.0 degrees from the
east (radians).
"""
wind_speed: float = 0.0
wind_direction: float = 0.0
[docs]
def __call__(self, time: astropy.time.Time):
"""A constant wind conditions
Parameters
----------
time : `astropy.time.Time`
It principle the time for which the wind is returned,
in practice this argument is ignored, and included for
compatibility.
Returns
-------
wind_conditions : `tuple` (`float`, `float`)
A named tuple with the wind speed (m/s) and originating
direction (radians east of north)
"""
conditions = WindConditions(self.wind_speed, self.wind_direction)
return conditions