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], ABC

The 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 WetterdienstObservationConnection and WetterdienstPredictionConnection.

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() and read_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