sunpeek.core_methods.virtuals.calculations#

Module implementing virtual sensor calculations, in terms of CoreAlgorithm and CoreStrategy classes.

To add an implementation, subclass CoreAlgorithm (see ThermalPower class for instance). - allowed_components(): specify to which component the algorithm applies - define_strategies(): add specific ways to calculate the algorithm output, in terms of CoreStrategy classes

For each such CoreStrategy or VirtualSensorStrategy, implement - _calc(): The calculation itself. Output must be a dict containing unit-aware pd.Series (with dtype pint[unit]). - _get_feedback(): Add checks for all inputs required by _calc(). This is used by config_virtuals(plant).

Code author: Philip Ohnewein <p.ohnewein@aee.at>

Code author: Daniel Tschopp <d.tschopp@aee.at>

Code author: Peter Zauner <p.zauner@aee.at>

Classes

AlgoIAM(component[, strategies])

Incidence angle modifier (IAM) for array's collector.

AngleOfIncidence(component[, strategies])

Calculate the angle of incidence of sun on plane of component using pvlib function.

ArrayTemperatures(component[, strategies])

Calculate mean operating temperature of collector component and its temperature derivative.

HorizontalIrradiances(component[, strategies])

For a Plant, calculate horizontal irradiance components from its radiation input slots.

InternalShading(component[, strategies])

Calculates internal shading (row-to-row shading) related virtual sensors of a collector component.

MassFlow(component[, strategies])

Mass flow for Plants and Arrays.

SolarPosition(component[, strategies])

For Plant: Calculates solar angles (azimuth, elevation, zenith).

StrategyAOI_pvlib(component)

StrategyArrayTemperatures_savgol(component)

StrategyIAMFromCollector(component)

Calculate incidence angle modifier (IAM) based on IAM method defined in array's collector.

StrategyInternalShading_BanyAppelbaum(component)

StrategyInternalShading_SlopedGround(component)

StrategyMassFlowFromPower(component)

For Plants and Arrays, calculate mass flow from fluid, thermal power and inlet & outlet temperatures.

StrategyMassFlowFromVolumeFlow(component)

For Plants and Arrays, calculate mass flow from fluid, thermal power and inlet & outlet temperatures.

StrategyPowerFromSensor(component)

Feedthrough strategy, taking power from a Plant or Array tp real sensor.

StrategyPowerFromVolumeFlow(component)

For Plant and Arrays, calculate thermal power from fluid, volume flow and inlet & outlet temperatures.

StrategySolarPosition_pvlib(component)

StrategyTiltedIrradiance_feedthrough(component)

Array tilted irradiance components using only available real sensors, no radiation modeling.

ThermalPower(component[, strategies])

Thermal power for Plant and Arrays.

TiltedIrradiances(component[, strategies])

Calculate Array tilted irradiance components from its radiation input slots (in_XX).