Switches
The list below provides a list of all available settings / switches for GENeSYS-MOD that are given to the user as a default.
Name |
Options |
Default |
Description |
|---|---|---|---|
General settings |
|||
data_file |
[string] |
The data file to use for the calculations (can be overwritten if using a pre-defined scenario option) |
|
hourly_data_file |
[string] |
The timeseries file to use for the calculations (can be overwritten if using a pre-defined scenario option) |
|
model_region |
[string] |
Name of the modeled region (relevant for the use of a region-specific scenario data file) |
|
data_base_region |
[string] |
Name of the base region of the modeled region (the base region will be used to populate missing data) |
|
year |
[string] |
2018 |
The start-year of the modelling horizon |
emissionPathway |
[string] |
Name of the scenario / pathway to compute |
|
emissionScenario |
[string] |
Additional scenario information, e.g. for distribution purposes |
|
Timeseries reduction |
|||
timeseries_method |
[elmod] |
elmod |
Chooses the timeseries reduction method. Currently, only elmod is implemented |
elmod_nthhour |
[integer] |
484 |
Defined the step-size for the timeseries reduction algorithm. Good choices include 784, 484, 244, 122, 73, 25. Lower numbers will lead to more time slices and more computational requirements |
elmod_starthour |
[integer] |
8 |
Determines the start-hour of the timeseries reduction algorithm |
elmod_dunkelflaute |
[0,1] |
0 |
Enables / disables injection of an artificial “Dunkelflaute” into the timeseries |
Data input/output |
|||
switch_raw_results |
[NoRawResult, CSVResult, TXTResult, TXTandCSV] |
NoRawResult() |
Selects the writer for raw JuMP-variable dumps (variable, value, axes). |
switch_processed_results |
[0,1] |
1 |
Enables the processed-result writers (annual production, capacity, emissions, levelised costs etc.) — i.e. the human-readable CSVs the analysis scripts consume |
write_reduced_timeserie |
[0,1] |
1 |
Writes the post-reduction timeseries (CapacityFactor, SpecifiedDemandProfile, etc.) to an Excel file so that subsequent runs can reuse it |
load_reduced_timeserie |
[0,1] |
0 |
If 1, skips the (non-convex) timeseries-reduction NLP and reads a previously written reduced timeseries from disk. Useful when comparing two model versions on the same TS |
switch_LCOE_calc |
[0,1] |
0 |
Computes per-technology levelised cost of electricity in the post-processing |
Technical settings |
|||
solver |
[lp solver] |
cplex |
Choice of LP solver for the model |
threads |
[integer] |
6 |
Number of threads to be used. Can also be 0 (all available threads) or an offset (e.g. -2 will use all but two available threads) |
Debugging |
|||
switch_investLimit |
[0,1] |
1 |
Enables / disables “smoothing constraints” that make results more realistic. Only disable for debugging |
switch_infeasibility_tech |
[0,1] |
0 |
Enables / disables the infeasibility technologies that can provide unmet demand at very high cost. Only enable for debugging if model is infeasible |
switch_base_year_bounds |
[0,1] |
1 |
Enables / disables the base year calibration |
switch_base_year_bounds_debugging |
[0,1] |
0 |
Enables / disables a slack for the base year calibration. Only enable for debugging |
switch_iis |
[0,1] |
1 |
On infeasibility, request the solver to compute the Irreducible Infeasible Set and write it to |
Features / functionality options |
|||
switch_ccs |
[0,1] |
1 |
Enables / disables Carbon Capture and Storage (CCS) in the model |
switch_ramping |
[0,1] |
0 |
Enables / disables ramping requirements for technologies |
switch_reserve |
[0,1] |
0 |
Enables / disables the reserve-margin constraint (additional dispatchable capacity beyond peak demand). Independent of the peaking-capacity block below |
switch_intertemporal |
[0,1] |
0 |
If set to 1, the model will consider age-appropriate efficiencies of technologies, but at increased computational complexity |
switch_weighted_emissions |
[0,1] |
1 |
If set to 1, emissions will be weighted between two modeled years to determine the overall emissions (relevant for emission budget calculations) |
set_symmetric_transmission |
[share,0-1] |
0.9 |
Determines the build-out of electricity transmission lines. 0 means the model can completely freely decide, a 1 would mean full symmetric build-out |
switch_hydrogen_blending_share |
[share,0-1] |
1 |
The amount of hydrogen allowed in natural gas pipelines (as a share) |
set_storagelevelstart_up |
[share,0-1] |
0.75 |
The upper bound for the start-level of the storage at the beginning of the year |
set_storagelevelstart_down |
[share,0-1] |
0.25 |
The lower bound for the start-level of the storage at the beginning of the year |
E2P_ratio_deviation_factor |
[float] |
2 |
The maximum deviation factor from the technology-defined storage E2P-ratio |
Peaking constraint options |
|||
switch_peaking_capacity |
[0,1] |
1 |
Enable / disable the peaking constraints. The purpose of these constraints is to ensure proper peak capacity build-out based on the original (non-reduced) timeseries |
switch_peaking_with_trade |
[0,1] |
1 |
Enable / disable the consideration of transmission lines in the peaking requirements |
switch_peaking_with_storages |
[0,1] |
1 |
Enable / disable the consideration of storages in the peaking requirements |
switch_peaking_minrun |
[0,1] |
1 |
Enable / disable a mininum run constraint for peaking capacities that are in reserve. The amount can be decided in the minrun_share |
set_peaking_slack |
[share,0-1] |
1 |
Set the slack of the peaking constraints. 1 means that there is no slack at all, forcing the full enforcement of the peaking constraints |
set_peaking_res_cf |
[share,0-1] |
0.5 |
Set a factor for renewable capacities to be considered in the peaking constraints. The reasoning is that non-dispatchable renewables should not be factored in too well into these reserve capacities |
set_peaking_min_thermal |
[share,0-1] |
0.25 |
Set a minimum share of thermal plants in the peaking / reserve capacities |
set_peaking_startyear |
[integer] |
2030 |
Set the start year for the reserve constraints to be enforced in the model |
set_peaking_minrun_share |
[share,0-1] |
0.15 |
Sets the amount of the minimum run requirement (if enabled). 0 would mean they do not need to be operated at all, 1 would mean that they need to run permanently |
Employment module options |
|||
switch_employment_calculation |
[0,1] |
0 |
Enables / disables the (post-processing) employment-effect calculation |
switch_endogenous_employment |
[0,1] |
0 |
If 1, the employment effect is added as an endogenous term to the optimisation (significantly increases solve time). If 0, employment is only computed in the post-processing step |
employment_data_file |
[string] |
Defines the filename of the employment data file |