rdtools.filtering.logic_clip_filter

rdtools.filtering.logic_clip_filter(power_ac, mounting_type='fixed', rolling_range_max_cutoff=0.2, roll_periods=None)

This filter is a logic-based filter that is used to filter out clipping periods in AC power or energy time series. It is based on the method presented in [1]. A boolean filter is returned based on the maximum range over a rolling window, as compared to a user-set rolling_range_max_cutoff (default set to 0.2). Periods where the relative maximum difference between any two points is less than rolling_range_max_cutoff are flagged as clipping and used to set daily clipping levels for the final mask.

Parameters:
  • power_ac (pandas.Series) -- Pandas time series, representing PV system power or energy. For best performance, timestamps should be in local time.

  • mounting_type (str, default 'fixed') -- String representing the mounting configuration associated with the AC power or energy time series. Can either be "fixed" or "single_axis_tracking". Default set to 'fixed'.

  • rolling_range_max_cutoff (float, default 0.2) -- Relative fractional cutoff for max rolling range threshold. When the relative maximum range in any interval is below this cutoff, the interval is determined to be clipping. Defaults to 0.2; however, values as high as 0.4 have been tested and shown to be effective. The higher the cutoff, the more values in the dataset that will be determined as clipping.

  • roll_periods (int, optional) -- Number of periods to examine when looking for a near-zero derivative in the time series derivative. If roll_periods = 3, the system looks for a near-zero derivative over 3 consecutive readings. Default value is set to None, so the function uses default logic: it looks for a near-zero derivative over 3 periods for a fixed tilt system, and over 5 periods for a tracked system with a sampling frequency more frequent than once every 30 minutes.

Returns:

Boolean Series of whether to include the point because it is not clipping. True values delineate non-clipping periods, and False values delineate clipping periods.

Return type:

pandas.Series

References