32  Sub-Module 6.2-A

PoC Pipeline, Commands and Run-Bundle Conventions

NoteNode Declaration — SM-6.2-A: PoC Pipeline, Commands and Run-Bundle Conventions
Field Content
Tier Sub-Module
Status ✓ Complete
Assumes §6.2
Contributes Complete module execution sequence with PowerShell commands, input/output conventions, ensemble scaling workflow, and acceptance checklist
Skip condition Skip for results reading; process when replicating or extending the pipeline
Passes to §6.3 through §6.8
Sub-Modules here None

32.1 SM-6.2-A: PoC Pipeline, Commands and Run-Bundle Conventions

Step 1: DemandPack construction

python -m src.generate_demandpack --epoch-tag 2035_EB --outdir Output/runs/<bundle>/epoch2035_EB/
python -m src.generate_demandpack --epoch-tag 2035_BB --outdir Output/runs/<bundle>/epoch2035_BB/

Produces staged hourly demand CSVs accepted by the site dispatch module. Verify output: annual_total_mwh field within 0.5 percent of the declared annual total.

Step 2: Site dispatch (proportional mode)

python -m src.site_dispatch_2020 --epoch 2035_EB --mode proportional `
  --demand-csv Output/runs/<bundle>/epoch2035_EB/demand_staged.csv `
  --output-root Output --run-id <bundle>/epoch2035_EB/dispatch_prop_v2_capfix1

Repeat for 2035_BB. Produces site_dispatch_2035_EB_summary.csv and incremental_electricity_MW_2035_EB.csv in the signals/ subfolder.

Step 3: Futures template (first time or when scaling)

# Generate 100 paired futures (recommended for thesis PoC)
python scripts/generate_futures_2035.py --n 100 --seed 42 `
  --out "Input/rdm/futures_2035.csv"

# Validate
python scripts/validate_futures_2035.py --csv "Input/rdm/futures_2035.csv" --n 100

Anchor futures 0 to 20 are preserved exactly. Futures 21 to 99 use Latin Hypercube Sampling across continuous driver dimensions and weighted discrete sampling for VOLL.

Step 4: Grid RDM screening

python -m src.run_rdm_2035 --bundle <bundle> --epoch-tag 2035_EB `
  --futures-csv "Input/rdm/futures_2035.csv"
python -m src.run_rdm_2035 --bundle <bundle> --epoch-tag 2035_BB `
  --futures-csv "Input/rdm/futures_2035.csv"

Both runs must reference the same futures_2035.csv to enforce the paired-futures contract. Produces rdm_summary_2035_EB.csv and rdm_summary_2035_BB.csv in Output/runs//rdm/.

Step 5: Site decision robustness overlay

# Initialise canonical futures.csv with site multipliers
python -m src.site_decision_robustness --bundle <bundle> --init-futures-multipliers

# Validate setup
python -m src.site_decision_robustness --bundle <bundle> --validate-only

# Generate overlay
python -m src.site_decision_robustness --bundle <bundle> --epoch-eb 2035_EB --epoch-bb 2035_BB

Step 6: Pathway comparison

python -m src.compare_pathways_2035 --bundle <bundle>

Produces compare_2035_EB_vs_BB.csv and compare_2035_EB_vs_BB.md in Output/runs//compare/.

Acceptance checklist

All items below must be verified before the bundle is considered release-ready:

  • All dispatch summaries exist for 2035_EB and 2035_BB
  • All incremental electricity CSVs exist in signals/ folders
  • RDM summaries exist for both 2035_EB and 2035_BB
  • Paired futures: EB and BB RDM summaries use identical future_id sets
  • No unacceptable unserved energy: annual_unserved_MWh equals zero or within declared tolerance
  • Pathway comparison CSV and MD exist
  • Overlay outputs exist: site_decision_robustness_summary_2035.csv
  • SHA256 hash verification passes for all SignalsPack files