cc(counter) "Temporary subset of counter used for calculations"
// Directional Sets
up_down "Direction set used by some variables, e.g. reserve provisions and generation ramps"
/ up, down /
input_output "Designating nodes as either inputs or outputs"
/ input, output /
inc_dec "Increase or decrease in dummy, or slack variables"
/ increase, decrease /
min_max "Minimum and maximum"
/ min, max /
constraint "Possible names for constraints"
/ eq1*eq9, gt1*gt9 /
eq_constraint(constraint) "Equality constraints"
/ eq1*eq9 /
gt_constraint(constraint) "Greater than constraints"
/ gt1*gt9 /
* --- Model Feature Sets ------------------------------------------------------
...
...
@@ -165,8 +171,8 @@ Sets
ts_cf
ts_reserveDemand
ts_node
ts_fuelPriceChange
ts_fuelPrice
ts_priceChange
ts_price
ts_unavailability
/
...
...
@@ -205,6 +211,7 @@ Sets
* --- Parameter Data Related Sets ---------------------------------------------
param_gn "Possible parameters for grid, node" /
nodeBalance "A flag to decide whether node balance constraint is to be used"
selfDischargeLoss "Self discharge rate of the node (MW/[v_state])"
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"
...
...
@@ -248,22 +255,19 @@ param_gnn "Set of possible data parameters for grid, node, node (nodal interconn
invCost "Investment cost (EUR/MW)"
annuity "Investment annuity"
portion_of_transfer_to_reserve "Portion to cover incase fail"
ICrampUp
ICrampDown
/
param_gnu "Set of possible data parameters for grid, node, unit" /
maxGen "Maximum output capacity (MW)"
maxCons "Maximum loading capacity (MW)"
capacity "Maximum capacity (MW)"
conversionCoeff "Coefficient for conversion equation (multiplies each input or output when summing v_gen from multiple inputs/outputs)"
useInitialGeneration "A flag to indicate whether to fix generation for the first time step (binary)"
initialGeneration "Initial generation/consumption of the unit in the first time step (MW)"
conversionFactor "Conversion factor for inputs or outputs (for changing the unit of measurement)"
doNotOutput "Flag for inputs that are not included in the output commodities"
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)"
maxRampDown "Speed to ramp down (p.u./min)"
upperLimitCapacityRatio "Ratio of the upper limit of the node state and the unit capacity investment ([v_state]/MW)"
unitSizeGen "Output capacity of one subunit for integer investments (MW)"
unitSizeCons "Loading capacity of one subunit for integer investments (MW)"
unitSizeTot "Sum of output and loading capacity of one subunit (MW)"
unitSize "Input/Output capacity of one subunit for integer investments (MW)"
invCosts "Investment costs (EUR/MW)"
annuity "Investment annuity factor"
fomCosts "Fixed operation and maintenance costs (EUR/MW/a)"
...
...
@@ -327,20 +331,18 @@ param_eff "Parameters used for unit efficiency approximations" /
* --- Power plant and fuel data -----------------------------------------------
* --- Power plant and commodity data -----------------------------------------------
Parameters
p_gn(grid, node, param_gn) "Properties for energy nodes"
p_gnBoundaryPropertiesForStates(grid, node, param_gnBoundaryTypes, param_gnBoundaryProperties) "Properties of different state boundaries and limits"
p_gnn(grid, node, node, param_gnn) "Data for interconnections between energy nodes"
p_gnu(grid, node, unit, param_gnu) "Unit data where energy type matters"
p_gnu_io(grid, node, unit, input_output, param_gnu) "Unit data where energy type matters"
p_gnuBoundaryProperties(grid, node, unit, slack, param_gnuBoundaryProperties) "Properties for unit boundaries where energy type matters"
p_unit(unit, param_unit) "Unit data where energy type does not matter"
p_gnReserves(grid, node, restype, *) "Data defining the reserve rules in each node"
p_groupReserves(group, restype, *) "Data defining the reserve rules in each node group"
p_unitConstraint(unit, constraint) "Constant for constraints (eq1-9, gt1-9) between inputs and outputs"
p_unitConstraintNode(unit, constraint, node) "Coefficients for constraints (eq1-9, gt1-9) between inputs and outputs"
p_gnReserves(grid, node, restype, param_policy) "Data defining the reserve rules in each node"
p_groupReserves(group, restype, param_policy) "Data defining the reserve rules in each node group"
p_groupReserves3D(group, restype, up_down, param_policy) "Reserve policy in each node group separately for each reserve type and direction"
p_groupReserves4D(group, restype, up_down, group, param_policy) "Reserve policy in each node group separately for each reserve type and direction, also linking to another group"
p_gnuReserves(grid, node, unit, restype, *) "Reserve provision data for units"
p_gnuReserves(grid, node, unit, restype, param_policy) "Reserve provision data for units"
p_gnnReserves(grid, node, node, restype, up_down) "Reserve provision data for node node connections"
p_gnuRes2Res(grid, node, unit, restype, up_down, restype) "The first type of reserve can be used also in the second reserve category (with a possible multiplier)"
p_gnPolicy(grid, node, param_policy, *) "Policy data for grid, node"
p_groupPolicy(group, param_policy) "Two-dimensional policy data for groups"
p_groupPolicy3D(group, param_policy, *) "Three-dimensional policy data for groups"
p_uStartupfuel(unit, node, param_unitStartupfuel) "Parameters for startup fuels"
p_unStartup(unit, node, starttype) "Consumption during the start-up (MWh/start-up)"
p_unitEmissionCost(unit, node, emission) "Emission costs for each {unit, node, emission}, calculated from input data (CUR/MWh)"
p_effUnit(effSelector, unit, effSelector, param_eff) "Data for piece-wise linear efficiency blocks"
p_effGroupUnit(effSelector, unit, param_eff) "Unit data specific to a efficiency group (e.g. left border of the unit)"
p_uNonoperational(unit, starttype, min_max) "Non-operational time after being shut down before start up"
...
...
@@ -83,7 +87,7 @@ Parameters
p_uCounter_shutdownMax(unit, counter) "Maximum output for the time steps where the unit is being shut down from the minimum load (minimum output in the first interval) (p.u.)"
p_u_minRampSpeedInLastRunUpInterval(unit) "Minimum ramp speed in the last interval for the run-up to min. load (p.u./min)"
p_u_minRampSpeedInFirstShutdownInterval(unit) "Minimum ramp speed in the fist interval for the shutdown from min. load (p.u./min)"
// Time dependent unit & fuel parameters
// Time dependent unit & commodity parameters
ts_unit(unit, param_unit, f, t) "Time dependent unit data, where energy type doesn't matter"
ts_effUnit(effSelector, unit, effSelector, param_eff, f, t) "Time dependent data for piece-wise linear efficiency blocks"
ts_effGroupUnit(effSelector, unit, param_eff, f, t) "Time dependent efficiency group unit data"
...
...
@@ -157,17 +161,17 @@ Parameters
ts_cf(flow, node, f, t) "Available capacity factor time series (p.u.)"
ts_reserveDemand(restype, up_down, group, f, t) "Reserve demand in region in the time step (MW)"
ts_node(grid, node, param_gnBoundaryTypes, f, t) "Fix the states of a node according to time-series form exogenous input ([v_state])"
ts_fuelPriceChange(fuel, t) "Initial fuel price and consequent changes in fuel price (EUR/MWh)"
ts_fuelPrice(fuel, t) "Fuel price time series (EUR/MWh)"
ts_priceChange(node, t) "Initial commodity price and consequent changes in commodity price (EUR/MWh)"
ts_price(node, t) "Commodity price time series (EUR/MWh)"
ts_unavailability(unit, t) "Unavailability of a unit in the time step (p.u.)"
// Aliases used in the equations after interval aggregation
// NOTE: Sample dimension has to be last because of the scenario reduction algorithm
ts_influx_(grid, node, s, f, t) "Mean external power inflow/outflow during a time step (MWh/h)"
ts_cf_(flow, node, s, f, t) "Mean available capacity factor time series (p.u.)"
ts_reserveDemand_(restype, up_down, group, f, t) "Mean reserve demand in region in the time step (MW)"
ts_node_(grid, node, param_gnBoundaryTypes, s, f, t) "Mean value of ts_node"
ts_fuelPrice_(fuel, t) "Mean fuel price time during time step (EUR/MWh)"
ts_vomCost_(grid, node, unit, t) "Calculated variable O&M cost that includes O&M cost, fuel cost and emission cost"
ts_startupCost_(unit, starttype, t) "Calculated variable startup cost that includes startup cost, fuel cost and emission cost"
// Aliases used for updating data in inputsLoop.gms