Phase 1 shadow · synthetic · independent  ·  SAWEM Phase 1 Trading Simulator — explainer-grade, not an MMS.  ·  Trading Rules Round 2 (12 April 2026 v01 draft)
Trading day 2026-05-29 virtual hour 00 Auction state: ACCEPTING gate close in 18h:00m DAM clear IDM re-clear Balancing Settlement
SAWEM
Shadow-day · stage 2 of 4 · intraday market

IDM re-clear · hour 17 · 2026-05-29

Stage status timestamp (IDM re-cleared): 2026-05-29T18:25:00Z

Illustrative re-clearing — production MMS runs a full intraday SCED. The IDM stage consumes the DAM result for this hour, applies each variable generator's revised forecast, and re-clears the residual gap.

DAM SMP
R2188.35 / MWh
IDM SMP
R2188.35 / MWh
Residual gap re-cleared
216.4 MWh
from forecast slip on variable plant
216.4 MWh uncovered → balancing

Peak hour — no spare IDM supply. The residual gap exceeds the remaining unawarded supply, so 216.4 MWh cannot be backfilled intraday and falls through to balancing at the imbalance price. IDM SMP holds at the DAM SMP.

Forecast adjustments at the IDM gate

Variable generators (wind / solar / aggregated renewables) revise availability; a slip beyond −5% makes the seller IDM re-bid eligible (the forecast-slip story). Dispatchable plant shows 0% slip.

Party DAM award (MWh) Forecast slip Revised (MWh) Gap (MWh) Re-bid?
Aggregator — renewables pool 300.0 -14.2% 257.6 -42.5 re-bid window →
Cross-border — ZESA interconnect 200.0 200.0
Eskom Holdings — coal fleet (Generator) 30000.0 30000.0
Eskom Holdings — OCGT peaker (Generator) 400.0 400.0
IPP — solar BW5 (Generator) 790.0 -8.3% 724.1 -65.9 re-bid window →
IPP — wind plant (Generator) 1212.0 -8.9% 1104.0 -108.0 re-bid window →
Audit chain

Commit this IDM re-clear to the append-only SHA-256 chain (idm_re_cleared event). Best-effort: with no D1 binding bound locally this degrades to a "not recorded" marker rather than failing.

Full DAM + IDM transcript
[clearHour] day=2026-05-29 hour=17 seed=42
[clearHour] tieBreak=price_asc → ts_asc → party_id_asc
[clearHour] demand_mw_min=2160000
[clearHour] accept offer=o-17-solar party=gen_ipp_solar_bw5_01 price=38541c volume=47400 cumulative=47400
[clearHour] accept offer=o-17-renew-agg party=agg_renewables_01 price=41503c volume=18000 cumulative=65400
[clearHour] accept offer=o-17-wind party=gen_ipp_wind_01 price=45949c volume=72720 cumulative=138120
[clearHour] accept offer=o-17-coal party=gen_eskom_coal_01 price=83038c volume=1800000 cumulative=1938120
[clearHour] accept offer=o-17-zesa party=cb_zesa_synthetic price=111632c volume=12000 cumulative=1950120
[clearHour] accept offer=o-17-ocgt party=gen_eskom_ocgt_01 price=218835c volume=24000 cumulative=1974120
[clearHour] SMP=218835c marginal=gen_eskom_ocgt_01
— IDM —
[reclearIntraday] day=2026-05-29 hour=17 seed=42
[reclearIntraday] slip party=agg_renewables_01 -14.2% dam=18000 revised=15453 gap+=2547
[reclearIntraday] slip party=gen_ipp_solar_bw5_01 -8.3% dam=47400 revised=43444 gap+=3956
[reclearIntraday] slip party=gen_ipp_wind_01 -8.9% dam=72720 revised=66237 gap+=6483
[reclearIntraday] residual_gap=12986 backfilled=0 uncovered=12986 idm_smp=218835c backfill_awards=0
Shadow-day stage 2/4 · Trading Rules R2 §07 (intraday) · simulator build 2026-05-29.