A reproducible day-ahead (D-1) market clearing engine built on PyPSA. It runs a rolling welfare-maximising optimisation, exports the results, and publishes them through a static web interface — a digital sandbox that puts simulation, training and competition in one place.
Model design. 33 provincial zones; linear welfare maximisation; 48-hour rolling horizon with 24-hour publication; interzonal transmission constraints; storage intertemporal optimisation; locational marginal pricing aggregated to zones.
Outputs. Hourly zonal prices, interzonal flows, storage state of charge, and the full solved PyPSA network as a .nc file.
Separation of years. The model year (2025 representative system) is kept distinct from the publication year (real calendar time), so physical consistency survives while the output stays operationally relevant.
Uses. Congestion price analysis, coal flexibility diagnostics, renewable integration stress tests, storage arbitrage demonstration, interprovincial trade evaluation, and market design comparison.
Statement from the repository: this is a research, toy-electricity-trade-game and training dispatch engine. It is not an official trading system or a regulatory platform.