rdtools.soiling.CODSAnalysis

class rdtools.soiling.CODSAnalysis(energy_normalized_daily)

Container for the Combined Degradation and Soiling (CODS) algorithm for degradation and soiling loss analysis. Based on the method presented in [1].

Parameters:

energy_normalized_daily (pandas.Series) -- Daily performance metric (i.e. performance index, yield, etc.) Index must be DatetimeIndex with daily frequency

pm

Equals energy_normalized_daily

Type:

pandas.Series

result_df

Contains the columns/keys:

Column Name

Description

'soiling_ratio'

soiling ratio (SR) (-)

'soiling_rates'

soiling rates (1/day)

'cleaning_events'

True at cleaning events

'seasonal_component'

seasonal component (SC)

'degradation_trend'

degradation trend (Rd)

'total_model'

the total model fit, i.e. SR * SC * Rd * rs, where SR is the soiling ratio, SC is the seasonal component, Rd is the degradation trend, and rs is the residual shift, i.e. the mean of the residuals (adjusting the position of the model fit to the position of the input data)

'residuals'

The residuals of the model fit, i.e. PI / (SR * SC * Rd)

'SR_low'

lower bound of 95 % conf. interval of SR

'SR_high'

upper bound of 95 % conf. interval of SR

'rates_low'

lower bound of 95 % conf. interval of soiling rates

'rates_high'

upper bound of 95 % conf. interval of soiling rates

'bt_soiling_ratio'

Bootstrapped estimate of soiling ratio (SR)

'bt_soiling_rates'

Bootstrapped estimate of soiling rates

'seasonal_low'

lower bound of 95 % conf. interval of seasonal component (SC)

'seasonal_high'

upper bound of 95 % conf. interval of seasonal component (SC)

'model_high'

upper bound of 95 % confidence interval of the model fit

'model_low'

lower bound of 95 % confidence interval of the model fit

Type:

pandas.DataFrame with pandas datetimeindex

degradation

List of linear degradation rate of system in %/year, lower and upper bound of 95% confidence interval

Type:

list

soiling_loss

List of average soiling losses over the time series in %, lower and upper bound of 95% confidence interval

Type:

list

residual_shift

Mean value of residuals. Multiply total model by this number for complete overlap with input pi

Type:

float

RMSE

Root Means Squared Error of total model vs input pi

Type:

float

small_soiling_signal

Whether or not the signal is deemed too small to infer anything about it

Type:

bool

adf_res

The results of an Augmented Dickey-Fuller test (telling whether the residuals are stationary or not)

Type:

list

Raises:

ValueError -- If the performance metrix does not have daily index frequency

References

__init__(energy_normalized_daily)

Methods

__init__(energy_normalized_daily)

iterative_signal_decomposition([order, ...])

Estimates the soiling losses and the degradation rate of a PV system based on its daily normalized energy, or daily Performance Index (PI).

run_bootstrap([reps, confidence_level, ...])

Bootstrapping of CODS algorithm for uncertainty analysis, inherently accounting for model and parameter choices.