Interface Configuration Guide
This guide provides detailed documentation for the Interface_RDM.xlsx configuration file.
Overview
Interface_RDM.xlsx is the central configuration file that controls all aspects of the OSeMOSYS-RDM workflow. It contains multiple sheets, each handling different configuration aspects.
Sheet Reference
Sheet |
Purpose |
|---|---|
Setup |
Main execution parameters |
To_Print |
Output variables to export |
Uncertainty_Table |
RDM uncertainty definitions |
Params_Sets_Vari |
Parameter-set mappings |
Setup Sheet
Parameter Reference
Execution Control
Parameter |
Type |
Values |
Description |
|---|---|---|---|
Run_Base_Future |
String |
Yes/No |
Execute baseline scenario |
Run_RDM |
String |
Yes/No |
Execute RDM experiment |
Scenario_to_Reproduce |
String |
Experiment/All/{name} |
Which scenarios to run |
Solver Configuration
Parameter |
Type |
Values |
Description |
|---|---|---|---|
Solver |
String |
glpk/cbc/cplex/gurobi |
Optimization solver |
Threads_CPLEX_Gurobi |
Integer |
≥1 |
Number of threads allocated to CPLEX or Gurobi per solve. Ignored for single-thread solvers (CBC, GLPK). See Parallel Execution for sizing guidance. |
Time_CBC |
Integer |
seconds |
Maximum solve time for CBC solver (passed as |
OSeMOSYS_Model_Name |
String |
filename |
Model formulation file (e.g., |
Model Settings
Parameter |
Type |
Values |
Description |
|---|---|---|---|
Region |
String |
Any |
Model region identifier |
Timeslices_model |
Integer |
1-8760 |
Number of time slices |
RDM Settings
Parameter |
Type |
Values |
Description |
|---|---|---|---|
Number_of_Runs |
Integer |
≥1 |
Number of futures to generate |
Parallel_Use |
Integer |
≥1 |
Batch size for parallelization |
Experiment_ID |
String |
Any |
Unique experiment identifier |
Initial_Year_of_Uncertainty |
Integer |
Year |
Global uncertainty start year |
EV UDC Sign Correction
Parameter |
Type |
Values |
Description |
|---|---|---|---|
EV_Conventional_Patterns |
String |
Substrings |
Semicolon-separated patterns for conventional technologies (e.g., |
EV_Electric_Pattern |
String |
Substring |
Pattern for electric technologies (e.g., |
EV_UDCs |
String |
Names |
Semicolon-separated EV penetration UDC constraint names |
Note
These three fields configure automatic post-perturbation sign correction for UDC EV penetration coefficients. If any field is empty, the correction is skipped. See the RDM Pipeline for a full explanation of the mathematical context.
Example Configuration
Solver: cplex
Threads_CPLEX_Gurobi: 4
Time_CBC: 3600
Run_Base_Future: Yes
Run_RDM: Yes
Region: UGA
OSeMOSYS_Model_Name: model.v.5.4.txt
Timeslices_model: 48
Number_of_Runs: 100
Parallel_Use: 10
Scenario_to_Reproduce: Experiment
Experiment_ID: 1
Initial_Year_of_Uncertainty: 2025
To_Print Sheet
Controls which OSeMOSYS output variables are exported.
Structure
Column |
Description |
|---|---|
Parameter |
OSeMOSYS variable name |
Mark with an X to include in output (not Yes/No) |
Note
To enable an output parameter for printing, place an X in the Print column. Do not use “Yes” or “No”.
Common Output Variables
Cost Variables
TotalDiscountedCostCapitalInvestmentOperatingCostAnnualFixedOperatingCostAnnualVariableOperatingCost
Capacity Variables
TotalCapacityAnnualNewCapacityAccumulatedNewCapacity
Activity Variables
ProductionByTechnologyTotalAnnualTechnologyActivityByModeRateOfActivityUseByTechnology
Emission Variables
AnnualEmissionsAnnualTechnologyEmission
Trade Variables
ExportImport
Uncertainty_Table Sheet
Defines all uncertain parameters for RDM analysis.
Column Definitions
Identification
Column |
Type |
Description |
|---|---|---|
X_Num |
Integer |
Unique identifier (1, 2, 3, …) |
X_Category |
String |
Grouping category |
X_Plain_English_Description |
String |
Human-readable description |
XLRM_ID |
String |
Optional XLRM framework ID |
Mathematical Specification
Column |
Type |
Description |
|---|---|---|
X_Mathematical_Type |
String |
Variation method |
Explored_Parameter_of_X |
String |
What aspect to vary |
Min_Value |
Float |
Lower bound (multiplier or absolute value) |
Max_Value |
Float |
Upper bound (multiplier or absolute value) |
Dependency |
String |
|
OSeMOSYS Mapping
Column |
Type |
Description |
|---|---|---|
Involved_Scenarios |
String |
Semicolon-separated scenario list |
Involved_First_Sets_in_Osemosys |
String |
Primary set elements |
Involved_Second_Sets_in_Osemosys |
String |
Secondary set elements |
Involved_Third_Sets_in_Osemosys |
String |
Tertiary set elements |
Exact_Parameters_Involved_in_Osemosys |
String |
OSeMOSYS parameter names |
Important
Multiple Values in Columns:
When specifying multiple values in the columns mentioned above (sets, scenarios, parameters), separate them with
;(space-semicolon-space)The spaces before and after the semicolon are required
Example:
PWRSOL001 ; PWRSOL002(correct) vsPWRSOL001;PWRSOL002(incorrect)Note: The option “All” is not valid. You must specify each value individually.
Temporal Settings
Column |
Type |
Description |
|---|---|---|
Initial_Year_of_Uncertainty |
Integer |
Year uncertainty begins |
X_Mathematical_Type Options
Time_Series
Non-linear interpolation from current trajectory to modified final value.
Original: 2025: 100 → 2030: 120 → 2050: 200
Modified (mult=1.2): 2025: 100 → 2030: 124 → 2050: 240
Use for: Cost projections, demand growth, efficiency improvements
Constant
Maintains value constant from uncertainty start year.
Original: 2025: 100 → 2030: 100 → 2050: 100
Result: Values frozen at start year level
Use for: Fixed policy constraints, technology limits
Linear
Linear interpolation to modified final value.
Original: 2025: 100 → 2050: 200
Modified: Linear path from 100 to 240
Use for: Simple linear projections
Logistic
S-curve (sigmoid) trajectory.
Slow start → Rapid middle growth → Saturation
Use for: Technology adoption curves, market penetration
Step
Sets an absolute target value from the uncertainty start year onwards. Unlike other types, Min_Value and Max_Value represent absolute values (not multipliers).
Original: 2025: 100 → 2026: 50 → 2027: 0 → ... → 2050: 0
Step (value=25): 2025: 25 → 2026: 25 → ... → 2050: 25
Use for: Parameters where the baseline final value is 0 and multipliers cannot generate variability (since 0 x multiplier = 0). Typical cases include imports or technologies that are phased out in the baseline but may continue in alternative futures.
Important
When using Step, the Min_Value and Max_Value columns define the absolute range of the target value (e.g., 5 to 50 PJ), not a multiplier range. The LHS-sampled value is applied directly from Initial_Year_of_Uncertainty onwards.
Timeslices_Curve
Modifies time slice profiles using predefined curves.
References: shape_of_demand.csv
Selects curve based on LHS sample
Use for: Demand shape uncertainty, load profiles
Explored_Parameter_of_X Options
Value |
Description |
|---|---|
Final_Value |
Modify the final year value (rescales each annual delta by |
Final_Value_Multiplicative |
Multiply the baseline by a year-dependent ramp (1.0 at |
Multiplier |
Apply constant multiplier |
Change_Curve |
Change the profile/shape |
Tip
When to choose Final_Value vs Final_Value_Multiplicative for Time_Series:
Final_Valueworks well for monotonic baselines with non-trivial slope (e.g., demand growing roughly linearly). It rescales each year’s incremental change so the trajectory still ends atfinal × multiplier.Final_Value_Multiplicativeis the shape-preserving choice. Pick it whenever the baseline has codos, plateaus, or operates in[0, 1](activity ratios). Each baseline point is scaled by a linear ramp that grows from 1.0 at the uncertainty year to the sampled multiplier at the last year — the geometry of the baseline (relative drops, plateaus, peaks) is preserved exactly.
Example Entries
Fuel Cost Uncertainty
X_Num: 1
X_Category: Fuel Costs
X_Plain_English_Description: Natural gas import price
X_Mathematical_Type: Time_Series
Explored_Parameter_of_X: Final_Value
Min_Value: 0.7
Max_Value: 1.5
Involved_Scenarios: Scenario1 ; Scenario2
Involved_First_Sets_in_Osemosys: IMPNATGAS
Exact_Parameters_Involved_in_Osemosys: VariableCost
Initial_Year_of_Uncertainty: 2025
Technology Limit Uncertainty
X_Num: 2
X_Category: Technology Limits
X_Plain_English_Description: Solar PV maximum installable capacity
X_Mathematical_Type: Time_Series
Explored_Parameter_of_X: Final_Value
Min_Value: 0.5
Max_Value: 2.0
Involved_Scenarios: Scenario1
Involved_First_Sets_in_Osemosys: PWRSOL001 ; PWRSOL002
Exact_Parameters_Involved_in_Osemosys: TotalAnnualMaxCapacity
Initial_Year_of_Uncertainty: 2025
Demand Shape Uncertainty
X_Num: 3
X_Category: Demand
X_Plain_English_Description: Electricity demand profile shape
X_Mathematical_Type: Timeslices_Curve
Explored_Parameter_of_X: Change_Curve
Min_Value: 1
Max_Value: 10
Involved_Scenarios: Scenario1
Involved_First_Sets_in_Osemosys: ELCDEM
Involved_Second_Sets_in_Osemosys: All
Exact_Parameters_Involved_in_Osemosys: SpecifiedDemandProfile
Initial_Year_of_Uncertainty: 2025
Zero-Baseline Parameter (Step Function)
When the baseline value drops to 0 (e.g., imports phased out after 2026), use Step with absolute values:
X_Num: 4
X_Category: Imports
X_Plain_English_Description: Fuel imports continuation beyond phase-out
X_Mathematical_Type: Step
Explored_Parameter_of_X: Final_Value
Min_Value: 5
Max_Value: 50
Involved_Scenarios: Scenario1
Involved_First_Sets_in_Osemosys: IMPFUEL001
Exact_Parameters_Involved_in_Osemosys: TotalTechnologyAnnualActivityUpperLimit
Initial_Year_of_Uncertainty: 2025
Here, Min_Value: 5 and Max_Value: 50 are absolute values (e.g., PJ), not multipliers.
Complementary Dependency Between Parameters
When two parameters must preserve a share constraint (e.g., primary + dependent = constant), set Dependency: YES on the primary row. The dependent row (immediately after) will automatically adjust its values to preserve the additive constraint:
X_Num: 5
X_Category: Technology Share
X_Plain_English_Description: Solar share of total capacity
X_Mathematical_Type: Time_Series
Explored_Parameter_of_X: Final_Value
Min_Value: 0.7
Max_Value: 1.3
Dependency: YES
Involved_Scenarios: Scenario1
Involved_First_Sets_in_Osemosys: PWRSOL001
Exact_Parameters_Involved_in_Osemosys: UDCMultiplierTotalCapacity
Initial_Year_of_Uncertainty: 2025
X_Num: 6
X_Category: Technology Share
X_Plain_English_Description: Wind share (complement of solar)
X_Mathematical_Type: Time_Series
Explored_Parameter_of_X: Final_Value
Min_Value: 0.7
Max_Value: 1.3
Dependency: NO
Involved_Scenarios: Scenario1
Involved_First_Sets_in_Osemosys: PWRWND001
Exact_Parameters_Involved_in_Osemosys: UDCMultiplierTotalCapacity
Initial_Year_of_Uncertainty: 2025
Row 6 (wind) values are computed as: new_dep(t) = baseline_dep(t) + (new_primary(t) - baseline_primary(t)), so their sum remains constant.
Params_Sets_Vari Sheet
Maps parameters to their dependent sets for correct data manipulation.
Structure
Column |
Description |
|---|---|
parameter |
OSeMOSYS parameter name |
Number |
Count of dependent sets (1-3) |
Set1 |
First set type |
Set2 |
Second set type (if applicable) |
Set3 |
Third set type (if applicable) |
Set Type Values
TECHNOLOGYFUEL/COMMODITYYEARTIMESLICEMODE_OF_OPERATIONEMISSIONREGIONSTORAGE
Example Entries
parameter: VariableCost
Number: 2
Set1: TECHNOLOGY
Set2: MODE_OF_OPERATION
parameter: CapacityFactor
Number: 2
Set1: TECHNOLOGY
Set2: TIMESLICE
parameter: SpecifiedDemandProfile
Number: 2
Set1: FUEL
Set2: TIMESLICE
Validation Tips
Before Running
Check solver availability: Ensure selected solver is installed
Verify scenario files: Confirm
.txtfiles exist in0_Scenarios/Validate sets: Check that referenced sets exist in scenario files
Check parameter names: Ensure exact OSeMOSYS parameter names
Common Errors
Error |
Cause |
Solution |
|---|---|---|
“Parameter not found” |
Typo in parameter name |
Check exact OSeMOSYS spelling |
“Set not found” |
Set element doesn’t exist |
Verify in scenario file |
“NaN values” |
Formula error in Excel |
Check cell references |
“Index out of range” |
Missing set mapping |
Add to Params_Sets_Vari |