feat(optimization): report the knee of the terminal value curve

Everything up to the knee is backed by residual load, everything beyond
it only by an export at the median feed-in tariff - the two halves have
very different confidence. The breakpoint list alone does not say where
the split is, so consumers had to guess it from the segment lengths.
This commit is contained in:
Andreas
2026-09-04 11:41:23 +02:00
parent 3074018bed
commit c0c9a1f669
3 changed files with 26 additions and 0 deletions
+2
View File
@@ -510,6 +510,8 @@ be unreachable. `deadline_policy` decides what happens then:
- `credited_euro`: the credit applied to the total balance
- `curve.energy_wh` / `curve.value_euro`: breakpoints of the value curve
- `curve.marginal_euro_per_kwh`: slope of each segment, monotonically decreasing
- `curve.residual_energy_wh`: the knee - up to here the value is backed by residual load,
beyond it only by an export
- `curve.window_slots`: how many trailing horizon slots the curve was derived from
- `reason`: why that mode applied. Empty in `AUTO` mode. In `FIXED` mode it distinguishes a
configured `FIXED` from an `AUTO` run that found no priced residual load in its window - the