sunpeek.core_methods.pc_method.main#

Implements Performance Check (PC) Method according to technical standard ISO 24194:2022.

HowTo#

To create instances, use - ISO mode: PCMethod.from_method(‘ISO’) - Extended mode: PCMethod.from_method(‘Extended’)

The entry-point method by the classes in this module is :method:`pc_method.run()`. This is called by :fun:`run_performance_check` in the wrapper / the PC strategies. Results: pc_method.get_results() returns a components.results.PCMethodOutput object.

See docstring in __init__ for more details.

Implementations#

PCMethodISO#

The implementation variant that aligns as closely as possible to the ISO 24194 standard is in class PCMethodISO. Create an analysis with PCMethod.from_method(‘ISO’, **kwargs).

PCMethodExtended#

Reasoning: Some of the data analysis recommendations described in the ISO standard apparently assume the use of Excel or other spreadsheet based software. For instance, analysis is based on fixed 1-hourly that start at full hours. This does not necessarily lead to the best / most useful results.

This software package implements an extended variant of the Performance Check method that overcomes some limitations of the strictly fixed-hour variant described in ISO 24194. This ‘extended’ implementation has a few slight but significant improvements in data analysis, while sticking as closely as possible to the intentions and purpose of the ISO 24194 standard: It tends to produce more and less noisy intervals in a Performance Check analysis. Numerically, comparable in range to PCMethodISO in terms of measured vs expected power. The extended version tends to include more intervals that are limit cases compared to the requirements stated in the ISO 24194, hence its results have somewhat higher generality. By default, the extended implementation uses a 1-hour averaging, as described in ISO 24194. It can be set to a different value. All other PCMethodExtended settings are the same as PCMethodISO.

First analysis validations on real-plant data confirmed that the PCMethodExtended variant reduces noise in the analysis output and improves the regression between measured and estimated power, the main KPI of the PC method.

Differences of PCMethodExtended over PCMethodISO in detail: - Uses rolling resampling instead of fixed-hour resampling in PCMethodISO. Consequently, data intervals used for the analysis (performance equations) are not restricted to start at full hours. - Uses a minimum-noise (minimum relative standard deviation) criterion to select among overlapping interval candidates. - Allows different interval lengths, not restricted to 1 hour. - Minimum number of non-NaN data records per interval not restricted to 20.

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

Code author: Lukas Feierl <l.feierl@solid.at>

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

Classes

PCMethod(plant, formula[, use_wind])

Superclass for various variants of the Performance Check Method.

PCMethodExtended(plant, formula[, use_wind])

This class implements the "extended" variant of the Performance Check method, with improvements in data analysis.

PCMethodISO(plant, formula[, use_wind])

This PC method implementation aligns as strictly as possible to the method as defined in the technical standard ISO 24194.

PCSettings(method, formula, **kwargs)

PC Method settings: Holds defaults, parses and validates a PC method settings dictionary, replacing None or missing settings with defaults.