breos.battery.detect_cycles_rainflow#

breos.battery.detect_cycles_rainflow(soc_abs_series, time_index, min_doc_fraction=0.01)[source]#

Detect charge/discharge cycles using rainflow counting (ASTM E1049).

Rainflow counting correctly identifies nested cycles common in residential PV+storage profiles, which simple extrema-based methods miss.

Parameters:
  • soc_abs_series (Series) – Absolute SOC series (0-1 range)

  • time_index (DatetimeIndex) – Datetime index for the series

  • min_doc_fraction (float) – Minimum depth-of-cycle to include (fraction, 0-1)

Returns:

‘doc’, ‘mean_soc’, ‘count’, ‘mean_c_rate’, ‘start_idx’, ‘end_idx’

Return type:

List[Dict]