Files
mattandClaude Sonnet 5 c70c9731a6
CI / test (push) Successful in 14s
Run the full three-year dispatch and fix issues it surfaced
Executed battery-dispatch run over the full 2018-2020 Attachment 2
series (225.9s, 1096 rolling-horizon windows) and committed the
results: outputs/ (dispatch.csv, annual/monthly summaries, summary.json,
four figures), README.md (setup, run instructions, assumptions, the
one-paragraph approach summary) and RESULTS.md (headline numbers,
per-year table, charts, commentary).

The full run surfaced three real issues, all fixed rather than papered
over:

- validate_schedule's soc_within_bounds check used a fixed 1e-6 MWh
  tolerance for the "state of charge below zero" case, while its
  sibling soc_matches_power_flows check already scales its tolerance
  with sqrt(n) for the same reason (CBC's own solver precision
  accumulating over a long cumulative sum). Over 52,608 half-hours this
  false-failed on a 5.1e-6 MWh solver-noise dip, not a real violation.
  Scaled it the same way.
- cli.py's summary printed net_of_opex_gbp under the label "Less fixed
  opex", so the terminal output showed the post-opex profit (£193k)
  where a reader would expect the opex figure itself (£15k). Split into
  two correctly-labelled lines.
- plots.py's monthly revenue chart stacked Market 1 (always negative
  here) and Market 2 (always positive) with a single running `bottom`,
  which is only correct for same-signed series: Market 2's bar
  completely overlapped and painted over Market 1's, hiding the
  -£297k Market 1 loss entirely. Now accumulates positive and negative
  contributions on separate baselines and marks the net.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-24 16:29:40 +01:00

415 B

1yeargross_profit_gbpprofit_market_1_gbpprofit_market_2_gbpcharged_mwhdischarged_mwhequivalent_full_cyclescaptured_spread_gbp_per_mwh
2201867799.45428-115113.361429182912.8157094096.1440983696.77005972.83422418.340187
3201964299.710798-103884.584974168184.2957724944.2119064459.4437481173.53782814.418774
4202076331.687725-78420.110711154751.7984355561.8158895022.2463411321.64377415.198714