Outputs#
All outputs of a run are written to the folder set in results.directory (default results/).
Simulation_Results.xlsx#
One row per scenario and formulation; repeated runs append rows (the reproduction tools keep the last row of each scenario and formulation).
Column |
Meaning |
|---|---|
|
Scenario label and formulation directory ( |
|
LP size from the GLPK solution file |
|
Objective value, model cost units |
|
Wall time of model generation and solve, s (older files: |
|
Solver time reported by GLPK, s |
|
Peak memory reported by GLPK, MB |
|
New VRE capacity |
|
New storage energy capacity, kW·yr (total = new + 0.05 residual) |
|
|
State-of-charge files#
File |
Content |
|---|---|
|
SoC at the start of each representative timeslice |
|
Novo: SoC at the start of each chronological timeslice (365 × 24/h values) |
|
SoC at the start of each chronological day |
|
Kotzur trajectory reconstructed within each day ( |
|
SoC at the start of each day type |
|
Welsch trajectory reconstructed in grouped day-type order |
Other files#
File |
Content |
|---|---|
|
k, h, seed, storage cap, representative days and the day-to-representative mapping |
|
Chronological → representative timeslice mapping used for the Kotzur reconstruction |
|
Daily, hourly and two-week SoC comparison (only when all four formulations ran) |
|
Full console output of the run (batch and notebook runs) |
|
All OSeMOSYS result tables of the last run of that formulation (not tracked) |
Loading results in Python#
import src.reproduce as rp
res = rp.load_results("results/Simulation_Results.xlsx") # tidy table: resource, k, h, formulation, ...
rp.table4(res) # Table 4 of the paper (needs the k365h1 runs)
rp.add_errors(res) # cost and capacity error vs k365h1 Novo