Wind

class emflow.assets.wind.WindTurbine(*, id: uuid.UUID = <factory>, name: str | None = None, timeseries: list[timedatamodel.timeseries.TimeSeries] = <factory>, geometry: shapely.geometry.base.BaseGeometry | None = None, extra: dict = <factory>, lat: dataclasses.InitVar[float | None] = None, lon: dataclasses.InitVar[float | None] = None, commissioning_date: datetime.date | None = None, members: list[energydatamodel.element.Element] = <factory>, tz: datetime.tzinfo | None = None, capacity: float | pandas.DataFrame | None = None, hub_height: float | None = None, rotor_diameter: float | None = None, turbine_model: str | None = None, power_curve: pandas.DataFrame | dict | None = None, power_coefficient_curve: pandas.DataFrame | dict | None = None)[source]

Bases: NodeAsset

capacity: float | DataFrame | None = None
hub_height: float | None = None
rotor_diameter: float | None = None
turbine_model: str | None = None
power_curve: DataFrame | dict | None = None
power_coefficient_curve: DataFrame | dict | None = None
add_child(obj: Element) None

Attach a child. Override in subclasses that support children.

property centroid: Point | None

Centroid of geometry, or None if no geometry.

children() list

Child elements for tree walking. Override in subclasses with children.

commissioning_date: date | None = None
classmethod from_json(data: dict) Element

Deserialize from a JSON-compatible dict.

geometry: BaseGeometry | None = None
geometry_to_geojson(geometry)
index()

Build a dict[UUID, Element] index of the subtree rooted at self.

Use to resolve Reference objects against this tree.

lat: InitVar[float | None] = None
property latitude: float | None

Latitude, if geometry is a shapely Point; else None.

lon: InitVar[float | None] = None
property longitude: float | None

Longitude, if geometry is a shapely Point; else None.

name: str | None = None
to_dataframe()
to_geojson(exclude_none: bool = True)
to_json(*, exclude_fields: set | None = None) dict

Serialize to a JSON-compatible dict.

to_properties() dict

Domain-specific fields as a dict (excludes infra + children fields).

to_tree() str

Return the hierarchy rendered as an indented tree string.

Use print(element.to_tree()) to display it. In a notebook, printing the element directly (element) also renders the tree via __repr__.

tz: datetime.tzinfo | None = None
members: list[Element]
id: UUID
timeseries: list[TimeSeries]
extra: dict
class emflow.assets.wind.WindFarm(*, id: ~uuid.UUID = <factory>, name: str | None = None, timeseries: list[~timedatamodel.timeseries.TimeSeries] = <factory>, geometry: ~shapely.geometry.base.BaseGeometry | None = None, extra: dict = <factory>, lat: dataclasses.InitVar[float | None] = None, lon: dataclasses.InitVar[float | None] = None, commissioning_date: ~datetime.date | None = None, members: list[~energydatamodel.element.Element] = <factory>, tz: ~datetime.tzinfo | None = None, capacity: float | ~pandas.DataFrame | None = None, farm_efficiency: ~pandas.DataFrame | None = None)[source]

Bases: NodeAsset

A wind farm β€” an Asset that contains WindTurbine members.

Members are stored in the inherited members list. Real wind farms can also contain met masts, transformers and substations, so children aren’t restricted to WindTurbine β€” any Element is accepted.

capacity: float | DataFrame | None = None
farm_efficiency: DataFrame | None = None
add_child(obj: Element) None

Attach a child. Override in subclasses that support children.

property centroid: Point | None

Centroid of geometry, or None if no geometry.

children() list

Child elements for tree walking. Override in subclasses with children.

commissioning_date: date | None = None
classmethod from_json(data: dict) Element

Deserialize from a JSON-compatible dict.

geometry: BaseGeometry | None = None
geometry_to_geojson(geometry)
index()

Build a dict[UUID, Element] index of the subtree rooted at self.

Use to resolve Reference objects against this tree.

lat: InitVar[float | None] = None
property latitude: float | None

Latitude, if geometry is a shapely Point; else None.

lon: InitVar[float | None] = None
property longitude: float | None

Longitude, if geometry is a shapely Point; else None.

name: str | None = None
to_dataframe()
to_geojson(exclude_none: bool = True)
to_json(*, exclude_fields: set | None = None) dict

Serialize to a JSON-compatible dict.

to_properties() dict

Domain-specific fields as a dict (excludes infra + children fields).

to_tree() str

Return the hierarchy rendered as an indented tree string.

Use print(element.to_tree()) to display it. In a notebook, printing the element directly (element) also renders the tree via __repr__.

tz: datetime.tzinfo | None = None
members: list[Element]
id: UUID
timeseries: list[TimeSeries]
extra: dict
class emflow.assets.wind.WindPowerArea(*, id: ~uuid.UUID = <factory>, name: str | None = None, timeseries: list[~timedatamodel.timeseries.TimeSeries] = <factory>, geometry: ~shapely.geometry.base.BaseGeometry | None = None, extra: dict = <factory>, lat: dataclasses.InitVar[float | None] = None, lon: dataclasses.InitVar[float | None] = None, commissioning_date: ~datetime.date | None = None, members: list[~energydatamodel.element.Element] = <factory>, tz: ~datetime.tzinfo | None = None, capacity: float | ~pandas.DataFrame | None = None, area: float | None = None, farm_efficiency: ~pandas.DataFrame | None = None)[source]

Bases: NodeAsset

A wind-power-potential area (e.g. offshore zone).

The area’s polygon lives in the inherited geometry field. Constituent turbines or farms (if any) live in the inherited members list.

capacity: float | DataFrame | None = None
area: float | None = None
farm_efficiency: DataFrame | None = None
add_child(obj: Element) None

Attach a child. Override in subclasses that support children.

property centroid: Point | None

Centroid of geometry, or None if no geometry.

children() list

Child elements for tree walking. Override in subclasses with children.

commissioning_date: date | None = None
classmethod from_json(data: dict) Element

Deserialize from a JSON-compatible dict.

geometry: BaseGeometry | None = None
geometry_to_geojson(geometry)
index()

Build a dict[UUID, Element] index of the subtree rooted at self.

Use to resolve Reference objects against this tree.

lat: InitVar[float | None] = None
property latitude: float | None

Latitude, if geometry is a shapely Point; else None.

lon: InitVar[float | None] = None
property longitude: float | None

Longitude, if geometry is a shapely Point; else None.

name: str | None = None
to_dataframe()
to_geojson(exclude_none: bool = True)
to_json(*, exclude_fields: set | None = None) dict

Serialize to a JSON-compatible dict.

to_properties() dict

Domain-specific fields as a dict (excludes infra + children fields).

to_tree() str

Return the hierarchy rendered as an indented tree string.

Use print(element.to_tree()) to display it. In a notebook, printing the element directly (element) also renders the tree via __repr__.

tz: datetime.tzinfo | None = None
members: list[Element]
id: UUID
timeseries: list[TimeSeries]
extra: dict