# solarforecastarbiter.reference_forecasts.persistence.persistence_scalar_index¶

solarforecastarbiter.reference_forecasts.persistence.persistence_scalar_index(observation, data_start, data_end, forecast_start, forecast_end, interval_length, interval_label, load_data)[source]

Calculate a persistence forecast using the mean value of the observation clear sky index or AC power index from data_start to data_end.

In the example below, we use GHI to be concrete but the concept also applies to AC power. The persistence forecast is:

$GHI_{t_f} = \overline{ \frac{ GHI_{t_{start}} }{ GHI_{{clear}_{t_{start}}} } \ldots \frac{ GHI_{t_{end}} }{ GHI_{{clear}_{t_{end}}} } }$

where $$t_f$$ is a forecast time, and the overline represents the average of all observations or clear sky values that occur between $$t_{start}$$ = data_start and $$t_{end}$$ = data_end. All $$GHI_{t}/GHI_{{clear}_t}$$ ratios are restricted to the range [0, 2] before the average is computed.

Parameters: observation (datamodel.Observation) – data_start (pd.Timestamp) – Observation data start. Forecast is inclusive of this instant if observation.interval_label is beginning or instant. data_end (pd.Timestamp) – Observation data end. Forecast is inclusive of this instant if observation.interval_label is ending or instant. forecast_start (pd.Timestamp) – Forecast start. Forecast is inclusive of this instant if interval_label is beginning or instant. forecast_end (pd.Timestamp) – Forecast end. Forecast is inclusive of this instant if interval_label is ending or instant. interval_length (pd.Timedelta) – Forecast interval length interval_label (str) – instant, beginning, or ending load_data (function) – A function that loads the observation data. Must have the signature load_data(observation, data_start, data_end) and properly account for observation interval label. forecast (pd.Series) – The persistence forecast. The forecast interval label is the same as the observation interval label.