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). NoRawResult() skips raw writing; the other options pick the file format

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 IIS_<step>_<date>.txt in the result directory. When 0, the run errors out without an IIS file

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