Commit 6421e64e authored by Juha Kiviluoma's avatar Juha Kiviluoma
Browse files

Merge branch 'Fix_ramp_constraints' into generic_forecast_loop_read

# Conflicts:
#	inc/3d_setVariableLimits.gms
parents 67e9a1a6 d38f8017
...@@ -23,13 +23,16 @@ Backbone has been designed with a modular structure, making it easier to change ...@@ -23,13 +23,16 @@ Backbone has been designed with a modular structure, making it easier to change
* 1d_results.gms - Contains definitions for the model results. * 1d_results.gms - Contains definitions for the model results.
* 1e_inputs.gms - Contains instructions on how to load input data, as well as forms a lot of helpful sets based on said data, for example in order to facilitate writing the constraints. * 1e_inputs.gms - Contains instructions on how to load input data, as well as forms a lot of helpful sets based on said data, for example in order to facilitate writing the constraints.
* 2a_variables.gms - Contains variable definitions used by the models. * 2a_variables.gms - Contains variable definitions used by the models.
* 2b_equations.gms - Contains the equation definitions for the models. * 2b_eqDeclarations.gms - Contains equation declarations for the models.
* 2c_objective.gms - Contains the objective function definition.
* 2d_constraints.gms - Contains definitions for constraint equations.
* *Model Definition Files* - Contains GAMS definitions for different models, essentially lists the equations (constraints) that apply. Current files include *schedule.gms*, *building.gms* and *invest.gms*. * *Model Definition Files* - Contains GAMS definitions for different models, essentially lists the equations (constraints) that apply. Current files include *schedule.gms*, *building.gms* and *invest.gms*.
* 3a_periodicInit.gms - Initializes various data and sets for the solve loop. * 3a_periodicInit.gms - Initializes various data and sets for the solve loop.
* 3b_inputsLoop.gms - Instructions for possible data import inside the solve loop, as well as forecast in-the-loop improvements. * 3b_inputsLoop.gms - Instructions for possible data import inside the solve loop, as well as forecast in-the-loop improvements.
* 3c_periodicLoop.gms - Contains instructions for the forecast-time structure of the desired model. * 3c_periodicLoop.gms - Contains instructions for the forecast-time structure of the desired model.
* 3d_setVariableLimits.gms - Defines the variable boundaries for each solve. * 3d_setVariableLimits.gms - Defines the variable boundaries for each solve.
* 3e_solve.gms - Contains the GAMS solve command for using the solver. * 3e_solve.gms - Contains the GAMS solve command for using the solver.
* 3f_afterSolve.gms - Fixes some variable values after solve.
* 4a_outputVariant.gms - Contains instructions for storing desired results during the solve loop. * 4a_outputVariant.gms - Contains instructions for storing desired results during the solve loop.
* 4b_outputInvariant.gms - Calculates further results post-solve. * 4b_outputInvariant.gms - Calculates further results post-solve.
* 4c_outputQuickFile.gms * 4c_outputQuickFile.gms
...@@ -37,10 +40,11 @@ Backbone has been designed with a modular structure, making it easier to change ...@@ -37,10 +40,11 @@ Backbone has been designed with a modular structure, making it easier to change
Most of these files are under *\inc* in the Backbone folder, except for the model definition files being housed under *\defModels*. Other than the abovementioned files, a few key input files are required for Backbone to work. These are assumed to be found under *\input* and are briefly described below. Most of these files are under *\inc* in the Backbone folder, except for the model definition files being housed under *\defModels*. Other than the abovementioned files, a few key input files are required for Backbone to work. These are assumed to be found under *\input* and are briefly described below.
* inputData.gdx - Contains most of the input data about the system to be modelled. * inputData.gdx - Contains most of the input data about the system to be modelled.
* 1_options.gms - Contains options to control the solver. Not required but included if exists.
* timeAndSamples.inc - Contains definitions for the time, forecast and sample index ranges. * timeAndSamples.inc - Contains definitions for the time, forecast and sample index ranges.
* modelsInit.gms - Contains model parameters for the solve (or a link to a template under *\defModels* to be used). Useful for any additional GAMS scripting. * modelsInit.gms - Contains model parameters for the solve (or a link to a template under *\defModels* to be used). Useful for any additional GAMS scripting.
Backbone folder contains two template files *timeAndSamples_temp.inc* and *modelsInit_temp.gms* to provide examples of the input format. These files can be copied into *\input* and renamed to *timeAndSamples.inc* and *modelsInit.gms*. Backbone folder contains three template files *1_options_temp.gms*, *timeAndSamples_temp.inc*, and *modelsInit_temp.gms* to provide examples of the input format. These files can be copied into *\input* and renamed to *1_options.gms*, *timeAndSamples.inc*, and *modelsInit.gms*.
## When Simply Using Backbone ## When Simply Using Backbone
......
...@@ -42,6 +42,7 @@ Model building / ...@@ -42,6 +42,7 @@ Model building /
* q_conversionSOS2InputIntermediate * q_conversionSOS2InputIntermediate
* q_conversionSOS2Constraint * q_conversionSOS2Constraint
* q_conversionSOS2IntermediateOutput * q_conversionSOS2IntermediateOutput
* q_fuelUseLimit
// Energy Transfer // Energy Transfer
q_transfer q_transfer
......
...@@ -99,7 +99,7 @@ if (mType('building'), ...@@ -99,7 +99,7 @@ if (mType('building'),
// Lenght of reserve horizon // Lenght of reserve horizon
mSettings('building', 't_reserveLength') = 0; mSettings('building', 't_reserveLength') = 0;
* --- Define Unit Efficiency Approximations ----------------------------------- * --- Define Unit Approximations ----------------------------------------------
// Define unit aggregation threshold // Define unit aggregation threshold
mSettings('building', 't_aggregate') = 0; mSettings('building', 't_aggregate') = 0;
...@@ -107,15 +107,18 @@ if (mType('building'), ...@@ -107,15 +107,18 @@ if (mType('building'),
// Define unit aggregation and efficiency levels starting indeces // Define unit aggregation and efficiency levels starting indeces
mSettingsEff('building', 'level1') = 1; mSettingsEff('building', 'level1') = 1;
* ---- Define output settings for results // Define threshold for omitting start-up and shutdown trajectories
mSettings('building', 't_omitTrajectories') = 8761;
* --- Define output settings for results --------------------------------------
// Define when to start outputting results - allows to skip an initialization period. Uses ord(t) > results_t_start in the code. // Define when to start outputting results - allows to skip an initialization period. Uses ord(t) > results_t_start in the code.
mSettings('schedule', 'results_t_start') = 1; mSettings('building', 'results_t_start') = 1;
* ---- Control the solver * --- Control the solver ------------------------------------------------------
// Control the use of advanced basis
mSettings('schedule', 'loadPoint') = 2; // 0 = no basis, 1 = latest solve, 2 = all solves, 3 = first solve
mSettings('schedule', 'savePoint') = 2; // 0 = no basis, 1 = latest solve, 2 = all solves, 3 = first solve
// Control the use of advanced basis
mSettings('building', 'loadPoint') = 2; // 0 = no basis, 1 = latest solve, 2 = all solves, 3 = first solve
mSettings('building', 'savePoint') = 2; // 0 = no basis, 1 = latest solve, 2 = all solves, 3 = first solve
); // END if(mType) ); // END if(mType)
...@@ -26,7 +26,6 @@ Model invest / ...@@ -26,7 +26,6 @@ Model invest /
// Unit Operation // Unit Operation
q_maxDownward q_maxDownward
q_noReserveInRunUp
q_maxUpward q_maxUpward
q_startshut q_startshut
q_startuptype q_startuptype
...@@ -37,12 +36,15 @@ Model invest / ...@@ -37,12 +36,15 @@ Model invest /
q_genRamp q_genRamp
q_rampUpLimit q_rampUpLimit
q_rampDownLimit q_rampDownLimit
q_rampUpDown
q_rampSlack
q_outputRatioFixed q_outputRatioFixed
q_outputRatioConstrained q_outputRatioConstrained
q_conversionDirectInputOutput q_conversionDirectInputOutput
q_conversionSOS2InputIntermediate q_conversionSOS2InputIntermediate
q_conversionSOS2Constraint q_conversionSOS2Constraint
q_conversionSOS2IntermediateOutput q_conversionSOS2IntermediateOutput
q_fuelUseLimit
// Energy Transfer // Energy Transfer
q_transfer q_transfer
......
...@@ -80,7 +80,7 @@ if (mType('invest'), ...@@ -80,7 +80,7 @@ if (mType('invest'),
// Define forecast properties and features // Define forecast properties and features
mSettings('invest', 't_forecastStart') = 0; mSettings('invest', 't_forecastStart') = 0;
mSettings('invest', 't_forecastLengthUnchanging') = 0; // Length of forecasts in time steps - this does not decrease when the solve moves forward (requires forecast data that is longer than the horizon at first) mSettings('invest', 't_forecastLengthUnchanging') = 0; // Length of forecasts in time steps - this does not decrease when the solve moves forward (requires forecast data that is longer than the horizon at first)
mSettings('building', 't_forecastLengthDecreasesFrom') = 0; // Length of forecasts in time steps - this decreases when the solve moves forward until the new forecast data is read (then extends back to full length) mSettings('invest', 't_forecastLengthDecreasesFrom') = 0; // Length of forecasts in time steps - this decreases when the solve moves forward until the new forecast data is read (then extends back to full length)
mSettings('invest', 't_forecastJump') = 0; mSettings('invest', 't_forecastJump') = 0;
// Define Realized and Central forecasts // Define Realized and Central forecasts
...@@ -105,7 +105,7 @@ if (mType('invest'), ...@@ -105,7 +105,7 @@ if (mType('invest'),
// Lenght of reserve horizon // Lenght of reserve horizon
mSettings('invest', 't_reserveLength') = 36; // CHECK THIS mSettings('invest', 't_reserveLength') = 36; // CHECK THIS
* --- Define Unit Efficiency Approximations ----------------------------------- * --- Define Unit Approximations ----------------------------------------------
// Define unit aggregation threshold // Define unit aggregation threshold
mSettings('invest', 't_aggregate') = 8761; mSettings('invest', 't_aggregate') = 8761;
...@@ -113,16 +113,19 @@ if (mType('invest'), ...@@ -113,16 +113,19 @@ if (mType('invest'),
// Define unit aggregation and efficiency levels starting indeces // Define unit aggregation and efficiency levels starting indeces
mSettingsEff('invest', 'level1') = 1; mSettingsEff('invest', 'level1') = 1;
* ---- Define output settings for results // Define threshold for omitting start-up and shutdown trajectories
mSettings('invest', 't_omitTrajectories') = 8761;
* --- Define output settings for results --------------------------------------
// Define when to start outputting results - allows to skip an initialization period. Uses ord(t) > results_t_start in the code. // Define when to start outputting results - allows to skip an initialization period. Uses ord(t) > results_t_start in the code.
mSettings('schedule', 'results_t_start') = 1; mSettings('invest', 'results_t_start') = 1;
* ---- Control the solver * --- Control the solver ------------------------------------------------------
// Control the use of advanced basis
mSettings('schedule', 'loadPoint') = 2; // 0 = no basis, 1 = latest solve, 2 = all solves, 3 = first solve
mSettings('schedule', 'savePoint') = 2; // 0 = no basis, 1 = latest solve, 2 = all solves, 3 = first solve
// Control the use of advanced basis
mSettings('invest', 'loadPoint') = 2; // 0 = no basis, 1 = latest solve, 2 = all solves, 3 = first solve
mSettings('invest', 'savePoint') = 2; // 0 = no basis, 1 = latest solve, 2 = all solves, 3 = first solve
); // END if(mType) ); // END if(mType)
......
...@@ -26,7 +26,6 @@ Model schedule / ...@@ -26,7 +26,6 @@ Model schedule /
// Unit Operation // Unit Operation
q_maxDownward q_maxDownward
* q_noReserveInRunUp
q_maxUpward q_maxUpward
q_startshut q_startshut
q_startuptype q_startuptype
...@@ -37,12 +36,15 @@ Model schedule / ...@@ -37,12 +36,15 @@ Model schedule /
q_genRamp q_genRamp
q_rampUpLimit q_rampUpLimit
q_rampDownLimit q_rampDownLimit
q_rampUpDown
q_rampSlack
q_outputRatioFixed q_outputRatioFixed
q_outputRatioConstrained q_outputRatioConstrained
q_conversionDirectInputOutput q_conversionDirectInputOutput
q_conversionSOS2InputIntermediate q_conversionSOS2InputIntermediate
q_conversionSOS2Constraint q_conversionSOS2Constraint
q_conversionSOS2IntermediateOutput q_conversionSOS2IntermediateOutput
q_fuelUseLimit
// Energy Transfer // Energy Transfer
q_transfer q_transfer
......
...@@ -82,7 +82,7 @@ if (mType('schedule'), ...@@ -82,7 +82,7 @@ if (mType('schedule'),
// Define forecast properties and features // Define forecast properties and features
mSettings('schedule', 't_forecastStart') = 1; mSettings('schedule', 't_forecastStart') = 1;
mSettings('schedule', 't_forecastLengthUnchanging') = 36; // Length of forecasts in time steps - this does not decrease when the solve moves forward (requires forecast data that is longer than the horizon at first) mSettings('schedule', 't_forecastLengthUnchanging') = 36; // Length of forecasts in time steps - this does not decrease when the solve moves forward (requires forecast data that is longer than the horizon at first)
mSettings('building', 't_forecastLengthDecreasesFrom') = 168; // Length of forecasts in time steps - this decreases when the solve moves forward until the new forecast data is read (then extends back to full length) mSettings('schedule', 't_forecastLengthDecreasesFrom') = 168; // Length of forecasts in time steps - this decreases when the solve moves forward until the new forecast data is read (then extends back to full length)
mSettings('schedule', 't_forecastJump') = 24; mSettings('schedule', 't_forecastJump') = 24;
mTimeseries_loop_read('schedule', 'ts_reserveDemand') = no; mTimeseries_loop_read('schedule', 'ts_reserveDemand') = no;
mTimeseries_loop_read('schedule', 'ts_unit') = no; mTimeseries_loop_read('schedule', 'ts_unit') = no;
...@@ -120,7 +120,7 @@ if (mType('schedule'), ...@@ -120,7 +120,7 @@ if (mType('schedule'),
// Lenght of reserve horizon // Lenght of reserve horizon
mSettings('schedule', 't_reserveLength') = 36; mSettings('schedule', 't_reserveLength') = 36;
* --- Define Unit Efficiency Approximations ----------------------------------- * --- Define Unit Approximations ----------------------------------------------
// Define unit aggregation threshold // Define unit aggregation threshold
mSettings('schedule', 't_aggregate') = 168; mSettings('schedule', 't_aggregate') = 168;
...@@ -129,15 +129,18 @@ if (mType('schedule'), ...@@ -129,15 +129,18 @@ if (mType('schedule'),
mSettingsEff('schedule', 'level1') = 1; mSettingsEff('schedule', 'level1') = 1;
mSettingsEff('schedule', 'level2') = 12; mSettingsEff('schedule', 'level2') = 12;
* ---- Define output settings for results // Define threshold for omitting start-up and shutdown trajectories
mSettings('schedule', 't_omitTrajectories') = 8761;
* --- Define output settings for results --------------------------------------
// Define when to start outputting results - allows to skip an initialization period. Uses ord(t) > results_t_start in the code. // Define when to start outputting results - allows to skip an initialization period. Uses ord(t) > results_t_start in the code.
mSettings('schedule', 'results_t_start') = 1; mSettings('schedule', 'results_t_start') = 1;
* ---- Control the solver * --- Control the solver ------------------------------------------------------
// Control the use of advanced basis // Control the use of advanced basis
mSettings('schedule', 'loadPoint') = 2; // 0 = no basis, 1 = latest solve, 2 = all solves, 3 = first solve mSettings('schedule', 'loadPoint') = 2; // 0 = no basis, 1 = latest solve, 2 = all solves, 3 = first solve
mSettings('schedule', 'savePoint') = 2; // 0 = no basis, 1 = latest solve, 2 = all solves, 3 = first solve mSettings('schedule', 'savePoint') = 2; // 0 = no basis, 1 = latest solve, 2 = all solves, 3 = first solve
); // END if(mType) ); // END if(mType)
...@@ -52,6 +52,10 @@ p_u_maxOutputInLastRunUpInterval ...@@ -52,6 +52,10 @@ p_u_maxOutputInLastRunUpInterval
p_u_runUpTimeIntervals p_u_runUpTimeIntervals
dt_toStartup dt_toStartup
p_ut_runUp p_ut_runUp
p_u_maxOutputInFirstShutdownInterval
p_u_shutdownTimeIntervals
dt_toShutdown
p_ut_shutdown
* Variables * Variables
v_obj v_obj
...@@ -61,12 +65,14 @@ v_transfer ...@@ -61,12 +65,14 @@ v_transfer
v_state v_state
v_fuelUse v_fuelUse
v_sos2 v_sos2
v_startup
v_spill v_spill
v_online_LP v_online_LP
v_online_MIP v_online_MIP
v_startup v_startup
v_shutdown v_shutdown
v_genRampUpDown
v_transferRightward
v_transferLeftward
v_resTransferRightward v_resTransferRightward
v_resTransferLeftward v_resTransferLeftward
v_reserve v_reserve
...@@ -82,7 +88,6 @@ v_invest_MIP ...@@ -82,7 +88,6 @@ v_invest_MIP
// Unit Operation // Unit Operation
q_maxDownward q_maxDownward
q_noReserveInRunUp
q_maxUpward q_maxUpward
q_startshut q_startshut
q_startuptype q_startuptype
...@@ -93,12 +98,15 @@ v_invest_MIP ...@@ -93,12 +98,15 @@ v_invest_MIP
q_genRamp q_genRamp
q_rampUpLimit q_rampUpLimit
q_rampDownLimit q_rampDownLimit
q_rampUpDown
q_rampSlack
q_outputRatioFixed q_outputRatioFixed
q_outputRatioConstrained q_outputRatioConstrained
q_conversionDirectInputOutput q_conversionDirectInputOutput
q_conversionSOS2InputIntermediate q_conversionSOS2InputIntermediate
q_conversionSOS2Constraint q_conversionSOS2Constraint
q_conversionSOS2IntermediateOutput q_conversionSOS2IntermediateOutput
q_fuelUseLimit
// Energy Transfer // Energy Transfer
q_transfer q_transfer
...@@ -114,7 +122,18 @@ v_invest_MIP ...@@ -114,7 +122,18 @@ v_invest_MIP
q_boundStateMaxDiff q_boundStateMaxDiff
q_boundCyclic q_boundCyclic
// Policy
q_inertiaMin
q_instantaneousShareMax
q_constrainedOnlineMultiUnit
q_capacityMargin
q_constrainedCapMultiUnit
q_emissioncap
q_energyShareMax
q_energyShareMin
* Dummy variables * Dummy variables
vq_gen vq_gen
vq_resDemand vq_resDemand
vq_resMissing
v_stateSlack v_stateSlack
...@@ -34,11 +34,11 @@ Sets ...@@ -34,11 +34,11 @@ Sets
// General Time Structure // General Time Structure
t_start, // First time step for the start of simulation t_start, // First time step for the start of simulation
t_jump, // Number of time steps realized with each solve t_jump, // Number of time steps realized with each solve
t_horizon, // Length of the simulation horizon (central forecast) t_horizon, // Length of the simulation horizon in time steps (central forecast)
t_end, // Last time step of the simulation t_end, // Last time step of the simulation
loadPoint, // load advanced basis; 0 = no basis, 1 = all solves, 2 = first solve loadPoint, // Load advanced basis; 0 = no basis, 1 = latest solve, 2 = all solves, 3 = first solve
savePoint, // save advanced basis; 0 = no basis, 1 = all solves, 2 = first solve savePoint, // Save advanced basis; 0 = no basis, 1 = latest solve, 2 = all solves, 3 = first solve
intervalEnd, // End index of a time step interval intervalEnd, // Last time step in the block of intervals with the same length
intervalLength, // Number of time steps aggregated within interval intervalLength, // Number of time steps aggregated within interval
IntervalInHours, // Length of one time step in hours IntervalInHours, // Length of one time step in hours
...@@ -53,7 +53,8 @@ Sets ...@@ -53,7 +53,8 @@ Sets
// Features // Features
t_reserveLength, // Length of reserve provision horizon in time steps t_reserveLength, // Length of reserve provision horizon in time steps
t_aggregate, // Unit aggregation threshold time index t_aggregate, // Unit aggregation threshold time index
results_t_start // time period where results outputting starts t_omitTrajectories, // Threshold time index for omitting start-up and shutdown trajectories
results_t_start // Time index where results outputting starts
/ /
// Solve info // Solve info
...@@ -141,8 +142,6 @@ Sets ...@@ -141,8 +142,6 @@ Sets
/ hot, warm / / hot, warm /
cost_consumption "Startup cost or startup fuel consumption" cost_consumption "Startup cost or startup fuel consumption"
/ cost, consumption / / cost, consumption /
unit_capacity "Unit or capacity based parameter"
/ unit, capacity / // Is capacity needed anymore?
// Other Features // Other Features
feature "Set of optional model features" / feature "Set of optional model features" /
...@@ -212,8 +211,8 @@ Sets ...@@ -212,8 +211,8 @@ Sets
* --- Parameter Data Related Sets --------------------------------------------- * --- Parameter Data Related Sets ---------------------------------------------
param_gn "Possible parameters for grid, node" / param_gn "Possible parameters for grid, node" /
selfDischargeLoss "Self discharge rate of the node [MW/v_state]" selfDischargeLoss "Self discharge rate of the node (MW/[v_state])"
energyStoredPerUnitOfState "A possible unit conversion if v_state uses something else than MWh" energyStoredPerUnitOfState "A possible unit conversion if v_state uses something else than MWh (MWh/[v_state])"
boundStart "A flag to bound the first t in the run using reference constant or time series" boundStart "A flag to bound the first t in the run using reference constant or time series"
boundStartAndEnd "A flag that both start and end are bound using reference constant or time series" boundStartAndEnd "A flag that both start and end are bound using reference constant or time series"
boundEnd "A flag to bound last t in each solve based on the reference constant or time series" boundEnd "A flag to bound last t in each solve based on the reference constant or time series"
...@@ -245,93 +244,94 @@ param_gnBoundaryProperties "Properties that can be set for the different boundar ...@@ -245,93 +244,94 @@ param_gnBoundaryProperties "Properties that can be set for the different boundar
/ /
param_gnn "Set of possible data parameters for grid, node, node (nodal interconnections)" / param_gnn "Set of possible data parameters for grid, node, node (nodal interconnections)" /
transferCap "Transfer capacity limits" transferCap "Transfer capacity limits (MW)"
transferCapBidirectional "Total bidirectional transfer capacity limit" transferCapBidirectional "Total bidirectional transfer capacity limit (MW)"
transferLoss "Transfer losses" transferLoss "Transfer losses"
diffCoeff "Coefficients for energy diffusion between nodes" diffCoeff "Coefficients for energy diffusion between nodes (MW/[v_state])"
boundStateMaxDiff "Maximum difference of node state pairs" boundStateMaxDiff "Maximum difference of node state pairs ([v_state])"
transferCapInvLimit "Capacity limit for investments (MW)" transferCapInvLimit "Capacity limit for investments (MW)"
investMIP "Choice of making integer investment instead of continous investment (MW versus number of links)" investMIP "A flag to make integer investment instead of continous investment (MW versus number of links)"
unitSize "Size of one link for integer investments (MW)" unitSize "Size of one link for integer investments (MW)"
invCost "Investment cost (€/MW)" invCost "Investment cost (EUR/MW)"
annuity "Investment annuity" annuity "Investment annuity"
/ /
param_gnu "Set of possible data parameters for grid, node, unit" / param_gnu "Set of possible data parameters for grid, node, unit" /
maxGen "Maximum output capacity (MW)" maxGen "Maximum output capacity (MW)"
maxCons "Maximum loading capacity (MW)" maxCons "Maximum loading capacity (MW)"
cB "Share of output" cB "Share of output"
cV "Reduction in primary output when increasing secondary output, e.g. reduction of electricity generation due to heat generation in extraction CHP (MWh_e/MWh_h)" cV "Reduction in primary output when increasing secondary output, e.g. reduction of electricity generation due to heat generation in extraction CHP (MWh_e/MWh_h)"
maxRampUp "Speed to ramp up (p.u. / min)" maxRampUp "Speed to ramp up (p.u./min)"
maxRampDown "Speed to ramp down (p.u. / min)" maxRampDown "Speed to ramp down (p.u./min)"
rampUpCost "Wear and tear cost of ramping up (€/MW)" rampUpCost "Wear and tear cost of ramping up (EUR/MW)" // redundant
rampDownCost "Wear and tear cost of ramping down (€/MW)" rampDownCost "Wear and tear cost of ramping down (EUR/MW)" // redundant
maxGenCap "Maximum output capacity investment (MW)" upperLimitCapacityRatio "Ratio of the upper limit of the node state and the unit capacity investment ([v_state]/MW)"
maxConsCap "Maximum loading capacity investment (MW)" unitSizeGen "Output capacity of one subunit for integer investments (MW)"
minGenCap "Minimum output capacity investment (MW)" unitSizeCons "Loading capacity of one subunit for integer investments (MW)"
minConsCap "Minimum loading capacity investment (MW)" unitSizeTot "Sum of output and loading capacity of one subunit (MW)"
upperLimitCapacityRatio "Ratio of the upper limit of the node state and the unit capacity investment" invCosts "Investment costs (EUR/MW)"
unitSizeGen "Output capacity of one unit for integer investments (MW)" annuity "Investment annuity factor"
unitSizeCons "Loading capacity of one unit for integer investments (MW)" fomCosts "Fixed operation and maintenance costs (EUR/MW/a)"
unitSizeTot "Sum of output and loading capacity of one unit (MW)" inertia "Inertia of the unit (s)"
unitSizeGenNet "Output minus loading capacity of one unit (MW)" unitSizeMVA "Generator MVA rating of one subunit (MVA)"
invCosts "Investment costs (€/MW)" /
annuity "Investment annuity factor"
fomCosts "Fixed operation and maintenance costs (€/MW/a)" param_gnuBoundaryProperties "Properties that can be set for the different boundaries" /
inertia "Inertia of the unit (s)" rampLimit "Maximum ramp speed (p.u./min)"
unitSizeMVA "Generator MVA rating (MVA)" rampCost "Wear and tear cost of ramping up (EUR/MW)"
/ /
param_unit "Set of possible data parameters for units" / param_unit "Set of possible data parameters for units" /
unitCount "Number of subunits if aggregated" unitCount "Number of subunits if aggregated"
outputCapacityTotal "Output capacity of the unit, calculated by summing all the outputs together by default, unless defined in data" outputCapacityTotal "Output capacity of the unit, calculated by summing all the outputs together by default, unless defined in data"
unitOutputCapacityTotal "Output capacity of the unit, calculated by summing all the unit output sizes together by default" unitOutputCapacityTotal "Output capacity of the unit, calculated by summing all the subunit output sizes together by default"
availability "Availability of given energy conversion technology (p.u.)" availability "Availability of given energy conversion technology (p.u.)"
omCosts "Variable operation and maintenance costs (€/MWh)" omCosts "Variable operation and maintenance costs (EUR/MWh)"
startCostCold "Variable start-up costs for cold starts excluding fuel costs (€/MW)" startCostCold "Variable start-up costs for cold starts excluding fuel costs (EUR/MW)"
startCostWarm "Variable start-up costs for warm starts excluding fuel costs (€/MW)" startCostWarm "Variable start-up costs for warm starts excluding fuel costs (EUR/MW)"
startCostHot "Variable start-up costs for hot starts excluding fuel costs (€/MW)" startCostHot "Variable start-up costs for hot starts excluding fuel costs (EUR/MW)"
startFuelConsCold "Consumption of start-up fuel per cold subunit started up (MWh_fuel/MW)" startFuelConsCold "Consumption of start-up fuel per cold subunit started up (MWh_fuel/MW)"
startFuelConsWarm "Consumption of start-up fuel per warm subunit started up (MWh_fuel/MW)" startFuelConsWarm "Consumption of start-up fuel per warm subunit started up (MWh_fuel/MW)"
startFuelConsHot "Consumption of start-up fuel per hot subunit started up (MWh_fuel/MW)" startFuelConsHot "Consumption of start-up fuel per hot subunit started up (MWh_fuel/MW)"
startColdAfterXhours "Offline hours after which the start-up will be a cold start (h)" startColdAfterXhours "Offline hours after which the start-up will be a cold start (h)"
startWarmAfterXhours "Offline hours after which the start-up will be a warm start (h)" startWarmAfterXhours "Offline hours after which the start-up will be a warm start (h)"
rampSpeedToMinLoad "Ramping speed from start-up to minimum load (p.u. / min.)" rampSpeedToMinLoad "Ramping speed from start-up to minimum load (p.u./min)"
rampSpeedFromMinLoad "Ramping speed from shutdown decision to zero load (p.u./min)"
minOperationHours "Minimum operation time (h), prevents shutdown after startup until the defined amount of time has passed" minOperationHours "Minimum operation time (h), prevents shutdown after startup until the defined amount of time has passed"
minShutdownHours "Minimum shut down time (h), prevents starting up again after the defined amount of time has passed" minShutdownHours "Minimum shut down time (h), prevents starting up again after the defined amount of time has passed"
SO2 "SO2 emissions (tonne per MWh_fuel)" SO2 "SO2 emissions (tonne per MWh_fuel)"
NOx "NOx emissions (tonne per MWh_fuel)" NOx "NOx emissions (tonne per MWh_fuel)"
CH4 "CH4 emissions (tonne per MWh_fuel)" CH4 "CH4 emissions (tonne per MWh_fuel)"
resTimelim "How long should a storage be able to provide reserve (h)" resTimelim "How long should a storage be able to provide reserve (h)"
eff00 * eff12 "Efficiency of the unit to convert input to output/intermediate product" eff00 * eff12 "Efficiency of the unit to convert input to output/intermediate product"
opFirstCross "The operating point where the real efficiency curve and approximated efficiency curve cross" opFirstCross "The operating point where the real efficiency curve and approximated efficiency curve cross"
op00 * op12 "Right border of the efficiency point" op00 * op12 "Right border of the efficiency point"
section "Possibility to define a no load fuel use for units with zero minimum output"
level1 * level9 "Level of simplification in the part-load efficiency representation" level1 * level9 "Level of simplification in the part-load efficiency representation"
useTimeseries "Uses time series form input for unit parameters whenever possible" useTimeseries "A flag to use time series form input for unit parameters whenever possible"
section "Possibility to define a no load fuel use for units with zero minimum output" investMIP "A flag to make integer investment instead of continous investment"
investMIP "Choice of making integer investment instead of continous investment (number of units versus MW)" maxUnitCount "Maximum number of units when making integer investments"
maxUnitCount "Maximum number of units when making integer investments" minUnitCount "Minimum number of units when making integer investments"
minUnitCount "Minimum number of units when making integer investments"
/ /
param_fuel "Parameters for fuels" / param_fuel "Parameters for fuels" /
emissionIntensity "Intensity of emission from fuel (kg/MWh_fuel)" emissionIntensity "Intensity of emission from fuel (kg/MWh_fuel)"
main "Main fuel of the unit - unless input fuels defined as grids" main "Main fuel of the unit - unless input fuels defined as grids"
startup "Startup fuel of the unit, if exists. Can be the same as main fuel - consumption using startupFuelCons" startup "Startup fuel of the unit, if exists. Can be the same as main fuel - consumption using startupFuelCons"
/ /
param_unitFuel "Parameters for fuel limits in units" / param_unitFuel "Parameters for fuel limits in units" /
maxFuelCons "Maximum absolute fuel consumption in a unit" maxFuelCons "Maximum absolute fuel consumption in a unit - not used for start-up fuels"
maxFuelFraction "Maximum share of a fuel in the consumption mix" maxFuelFraction "Maximum share of a fuel in the consumption mix - exact share for start-up fuels"
/ /
param_policy "Set of possible data parameters for grid, node, regulation" / param_policy "Set of possible data parameters for grid, node, regulation" /
emissionTax "Emission tax (EUR/tonne)" emissionTax "Emission tax (EUR/tonne)"
update_frequency "Frequency of updating reserve contributions" update_frequency "Frequency of updating reserve contributions"
gate_closure "Number of timesteps ahead of dispatch that reserves are fixed" gate_closure "Number of timesteps ahead of dispatch that reserves are fixed"
use_time_series "Flag for using time series data. !!! REDUNDANT WITH useTimeseries, PENDING REMOVAL !!!" use_time_series "Flag for using time series data. !!! REDUNDANT WITH useTimeseries, PENDING REMOVAL !!!"
reserveContribution "Reliability parameter of reserve provisions" reserveContribution "Reliability parameter of reserve provisions"
emissionCap "Emission limit (tonne)" emissionCap "Emission limit (tonne)"
instantaneousShareMax "Maximum instantaneous share of generation and import from a particular group of units and transfer links" instantaneousShareMax "Maximum instantaneous share of generation and import from a particular group of units and transfer links"
energyShareMax "Maximum energy share of generation from a particular group of units" energyShareMax "Maximum energy share of generation from a particular group of units"
energyShareMin "Minimum energy share of generation from a particular group of units" energyShareMin "Minimum energy share of generation from a particular group of units"
......