Heatpump

class emflow.assets.heatpump.HeatPump(*, 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 | None = None, cop: float | None = None, energy_source: str | None = None)[source]

Bases: NodeAsset

A heat pump in an energy system.

capacity: float | None = None

heating/cooling capacity in kW.

cop: float | None = None

coefficient of performance.

energy_source: str | None = None

e.g. β€˜electricity’, β€˜geothermal’.

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