Solar

class enflow.assets.solar.FixedMount(surface_tilt: float = 0.0, surface_azimuth: float = 0.0)[source]

Bases: object

surface_tilt: float = 0.0
surface_azimuth: float = 0.0
class enflow.assets.solar.SingleAxisTrackerMount(axis_tilt: float = 0.0, axis_azimuth: float = 0.0, max_angle: float | tuple = 90.0, backtrack: bool = True, gcr: float = 0.2857142857142857, cross_axis_tilt: float = 0.0, racking_model: str | None = None, module_height: float | None = None)[source]

Bases: object

axis_tilt: float = 0.0
axis_azimuth: float = 0.0
max_angle: float | tuple = 90.0
backtrack: bool = True
gcr: float = 0.2857142857142857
cross_axis_tilt: float = 0.0
racking_model: str | None = None
module_height: float | None = None
class enflow.assets.solar.PVArray(capacity: float | None = None, surface_azimuth: float | None = None, surface_tilt: float | None = None, surface_area: float | None = None, efficiency: float | None = None, module: str | None = None, module_type: str = 'glass_polymer', module_parameters: dict | pandas.core.series.Series = None, temperature_model_parameters: dict | pandas.core.series.Series = None, *, name: str | None = None, location: energydatamodel.geospatial.GeoLocation | None = None, latitude: float | None = None, longitude: float | None = None, altitude: float | None = None, tz: timezone | None = None, timeseries: energydatamodel.base.TimeSeries | None = None)[source]

Bases: EnergyAsset

capacity: float | None = None
surface_azimuth: float | None = None
surface_tilt: float | None = None
surface_area: float | None = None
efficiency: float | None = None
module: str | None = None
module_type: str = 'glass_polymer'
module_parameters: dict | Series = None
temperature_model_parameters: dict | Series = None
get_timeseries()[source]
altitude: t.Optional[float] = None
geometry_to_geojson(geometry)
get_location()
latitude: t.Optional[float] = None
location: t.Optional[Location] = None
longitude: t.Optional[float] = None
name: t.Optional[str] = None
plot_timeseries(start_date: str | DatetimeIndex | None = None, end_date: str | DatetimeIndex | None = None) Axes

Plots a pandas Series using its built-in plot method.

Args:

start_date: The start date for the plot. end_date: The end date for the plot.

Returns:

The Matplotlib Axes object of the plot.

timeseries: t.Optional[TimeSeries] = None
to_dataframe()

Convert data class to a pandas DataFrame.

to_geojson(exclude_none=True)
to_json(include_none: bool = False) str
tz: t.Optional[pytz.timezone] = None
class enflow.assets.solar.PVSystem(pv_arrays: ~typing.List[~energydatamodel.solar.PVArray] = <factory>, capacity: float = None, surface_azimuth: float = None, surface_tilt: float = None, albedo: float | None = None, surface_type: str | None = None, module_parameters: dict | None = None, inverter_parameters: dict | None = None, module_type: str = 'glass_polymer', racking_model: str = 'open_rack', *, name: str | None = None, location: ~energydatamodel.geospatial.GeoLocation | None = None, latitude: float | None = None, longitude: float | None = None, altitude: float | None = None, tz: ~pytz.timezone | None = None, timeseries: ~energydatamodel.base.TimeSeries | None = None)[source]

Bases: EnergyAsset

The PVSystem class defines a standard set of PV system attributes and modeling functions. This class describes the collection and interactions of PV system components rather than an installed system on the ground. It is typically used in combination with Location and ModelChain objects.

pv_arrays: List[PVArray]
capacity: float = None
surface_azimuth: float = None
surface_tilt: float = None
albedo: float | None = None
surface_type: str | None = None
module_parameters: dict | None = None
inverter_parameters: dict | None = None
module_type: str = 'glass_polymer'
racking_model: str = 'open_rack'
to_pvlib(**kwargs)[source]
altitude: t.Optional[float] = None
geometry_to_geojson(geometry)
get_location()
latitude: t.Optional[float] = None
location: t.Optional[Location] = None
longitude: t.Optional[float] = None
name: t.Optional[str] = None
plot_timeseries(start_date: str | DatetimeIndex | None = None, end_date: str | DatetimeIndex | None = None) Axes

Plots a pandas Series using its built-in plot method.

Args:

start_date: The start date for the plot. end_date: The end date for the plot.

Returns:

The Matplotlib Axes object of the plot.

timeseries: t.Optional[TimeSeries] = None
to_dataframe()

Convert data class to a pandas DataFrame.

to_geojson(exclude_none=True)
to_json(include_none: bool = False) str
tz: t.Optional[pytz.timezone] = None
class enflow.assets.solar.SolarPowerArea(capacity: float | pandas.core.frame.DataFrame = None, geopolygon: energydatamodel.geospatial.GeoPolygon | energydatamodel.geospatial.GeoMultiPolygon = None, *, name: str | None = None, location: energydatamodel.geospatial.GeoLocation | None = None, latitude: float | None = None, longitude: float | None = None, altitude: float | None = None, tz: timezone | None = None, timeseries: energydatamodel.base.TimeSeries | None = None)[source]

Bases: EnergyAsset

capacity: float | DataFrame = None
geopolygon: GeoPolygon | GeoMultiPolygon = None
to_geojson()[source]
property geojson
altitude: t.Optional[float] = None
geometry_to_geojson(geometry)
get_location()
latitude: t.Optional[float] = None
location: t.Optional[Location] = None
longitude: t.Optional[float] = None
name: t.Optional[str] = None
plot_timeseries(start_date: str | DatetimeIndex | None = None, end_date: str | DatetimeIndex | None = None) Axes

Plots a pandas Series using its built-in plot method.

Args:

start_date: The start date for the plot. end_date: The end date for the plot.

Returns:

The Matplotlib Axes object of the plot.

timeseries: t.Optional[TimeSeries] = None
to_dataframe()

Convert data class to a pandas DataFrame.

to_json(include_none: bool = False) str
tz: t.Optional[pytz.timezone] = None