eta_nexus.connections.wetterdienst_connection module
- class eta_nexus.connections.wetterdienst_connection.WetterdienstConnection(*, nodes: Nodes[WN] | None = None, settings: Settings | None = None, **kwargs: Any)[source]
Bases:
Generic[WN],Connection[WN],SeriesReadable[WN],ABCThe WetterdienstConnection class is a connection to the Wetterdienst API for retrieving weather data. This class is an abstract base class and should not be used directly. Instead, use the subclasses
WetterdienstObservationConnectionandWetterdienstPredictionConnection.- Parameters:
url – The base URL of the Wetterdienst API
nodes – Nodes to select in connection
settings – Wetterdienst settings object
- logger: Logger = <Logger eta_nexus.connections.wetterdienst_connection (WARNING)>
- abstract read_series(from_time: datetime, to_time: datetime, nodes: WN | Nodes[WN] | None = None, interval: TimeStep = 60, **kwargs: Any) pd.DataFrame[source]
Abstract base method for read_series(). Is fully implemented in
read_series()andread_series().- Parameters:
nodes – Single node or list/set of nodes to read values from.
from_time – Starting time to begin reading (included in output).
to_time – Time to stop reading at (not included in output).
interval – interval between time steps. It is interpreted as seconds if given as integer.
kwargs – additional argument list, to be defined by subclasses.
- Returns:
pandas.DataFrame containing the data read from the connection.
- retrieve_stations(node: WetterdienstNode, request: wetterdienst.provider.dwd.observation.api.DwdObservationRequest) pandas.DataFrame[source]
Retrieve stations from the Wetterdienst API and return the values as a pandas DataFrame Stations are filtered by the node’s station_id or latlon and number_of_stations.
- Parameters:
node – Node to retrieve stations for
request – Wetterdienst request object, containing the station data
- class eta_nexus.connections.wetterdienst_connection.WetterdienstObservationConnection(*, nodes: Nodes[WN] | None = None, settings: Settings | None = None, **kwargs: Any)[source]
Bases:
WetterdienstConnection[WetterdienstObservationNode]The WetterdienstObservationConnection class is a connection to the Wetterdienst API for retrieving weather observation data. Data can only be read with
read_series().- read_series(from_time: datetime, to_time: datetime, nodes: WetterdienstObservationNode | Nodes[WetterdienstObservationNode] | None = None, interval: TimeStep = 60, **kwargs: Any) pd.DataFrame[source]
Read weather observation data from the Wetterdienst API for the given nodes and time interval.
- Parameters:
from_time – Start time for the data retrieval
to_time – End time for the data retrieval
nodes – Single node or list/set of nodes to read data from
interval – Time interval between data points in seconds
- Returns:
Pandas DataFrame containing the data read from the connection
- class eta_nexus.connections.wetterdienst_connection.WetterdienstPredictionConnection(*, nodes: Nodes[WN] | None = None, settings: Settings | None = None, **kwargs: Any)[source]
Bases:
WetterdienstConnection[WetterdienstPredictionNode]The WetterdienstPredictionConnection class is a connection to the Wetterdienst API for retrieving weather prediction data (MOSMIX). Data can only be read with
read_series().- read_series(from_time: datetime, to_time: datetime, nodes: WetterdienstPredictionNode | Nodes[WetterdienstPredictionNode] | None = None, interval: TimeStep = 0, **kwargs: Any) pd.DataFrame[source]
Read weather prediction data from the Wetterdienst API for the given nodes. The interval parameter is not used for prediction data, as predictions are always given hourly.
- Parameters:
from_time – Start time for the data retrieval
to_time – End time for the data retrieval
nodes – Single node or list/set of nodes to read data from
interval –
Not used for prediction data
- Returns:
Pandas DataFrame containing the data read from the connection