C2070 Delta E+Delta E+ · SFU

Getting started

OSeCAN is a reproducible uv project. uv installs Python and the pinned dependencies; the default solver ships as a wheel, so no system install is needed.

Install

curl -LsSf https://astral.sh/uv/install.sh | sh   # Linux/macOS
source $HOME/.local/bin/env
cd CLEWsCAN2070
uv sync            # creates .venv from pyproject + uv.lock (writes uv.lock first time)

Run the pipeline

uv run osecan build-sets                        # structure  -> SETS
uv run osecan build-params                      # placeholder parameters (+ WS3/FABLE seams)
uv run osecan retrieve                           # open datasets -> data/external (+ sha256)
uv run osecan clean-demand "Current Measures" # CER EF2026 -> real SpecifiedAnnualDemand
uv run osecan harmonize                          # gate: params ⊆ SET codes
uv run osecan solve --run results/base           # preprocess → GLPK → results
uv run osecan report                             # HTML dashboard (+ transmission map)

Solve prerequisites

osecan solve is pure-Python (GLPK via swiglpk) and needs nothing extra — it uses the vendored resources/osemosys_fast_osecan.txt (stock model + UDC block). osecan run is the subprocess variant and additionally needs glpsol on PATH.

Notebook

uv run jupyter lab      # open notebooks/build_osecan.ipynb ; use the .venv kernel