Commit 678a0202 authored by Juha Kiviluoma's avatar Juha Kiviluoma
Browse files

Fixing result output of reserves

parent c21dccd6
......@@ -23,7 +23,7 @@ Model schedule /
q_obj
q_balance
q_resDemand
q_resDemandLargestInfeedUnit
* q_resDemandLargestInfeedUnit
// Unit Operation
q_maxDownward
......
......@@ -137,7 +137,7 @@ r_resDemandMarginal
r_nuTotalReserve
r_nuTotalReserveShare
r_nTotalReserve
r_resDemandLargestInfeed
r_resDemandLargestInfeedUnit
* --- Investment Result Symbols -----------------------------------------------
// Interesting investment results
......
......@@ -139,7 +139,8 @@ Parameters
r_nuTotalReserve(restype, up_down, node, unit) "Total nu reserve provision over the simulation (MW*h)"
r_nuTotalReserveShare(restype, up_down, node, unit) "Total nu/n reserve provision share over the simulation"
r_nTotalReserve(restype, up_down, node) "Total reserve provisions in nodes over the simulation (MW*h)"
r_resDemandLargestInfeed(grid, f, t, restype, up_down, node) "Reserve Demand from the loss of largest infeed unit"
r_resDemandLargestInfeedUnit(grid, f, t, restype, up_down, node) "Reserve Demand from the loss of largest infeed unit"
* --- Investment Results ------------------------------------------------------
// Interesting investment results
......@@ -176,7 +177,7 @@ Option clear = r_shutdown;
Option clear = r_invest;
Option clear = r_investTransfer;
Option clear = r_qResDemand;
Option clear = r_resDemandLargestInfeed;
Option clear = r_resDemandLargestInfeedUnit;
* =============================================================================
* --- Diagnostics Results Arrays ----------------------------------------------
* =============================================================================
......
......@@ -155,6 +155,7 @@ q_resDemand(restypeDirectionNode(restype, up_down, node), sft(s, f, t))
q_resDemandLargestInfeedUnit(grid, restypeDirectionNode(restype, 'up', node), unit_fail(unit_), sft(s, f, t))
${ ord(t) < tSolveFirst + p_nReserves(node, restype, 'reserve_length')
and gn(grid, node)
and not [ restypeReleasedForRealization(restype)
and ft_realized(f, t)
]
......
......@@ -77,6 +77,10 @@ loop((restypeDirectionNode(restype, up_down, node), sft(s, f, t))
* p_nuRes2Res(node, unit, restype_, up_down, restype)
);
// Reserve requirement due to N-1 Reserve constraint
r_resDemandLargestInfeedUnit(grid, f+df_reserves(node, restype, f, t), t, restype, up_down, node)
= smax(unit_fail(unit_), v_gen.l(grid, node, unit_, s, f, t) * p_nuReserves(node, unit_, restype, 'portion_of_infeed_to_reserve'));
// Reserve transfer capacity
r_resTransferRightward(restype, up_down, node, to_node, f+df_reserves(node, restype, f, t), t)
${ restypeDirectionNode(restype, up_down, to_node)
......@@ -95,10 +99,6 @@ loop((restypeDirectionNode(restype, up_down, node), sft(s, f, t))
r_qResMissing(restype, up_down, node, f+df_reserves(node, restype, f, t), t)
= vq_resMissing.l(restype, up_down, node, s, f+df_reserves(node, restype, f, t), t);
// Reserve requirement due to N-1 Reserve constraint
r_resDemandLargestInfeed(grid, f+df_reserves(node, restype, f, t), t, restype, up_down, node)
= smax(unit_fail(unit_), v_gen.l(grid, node, unit_, s, f, t) * p_nuReserves(node, unit_, restype, 'portion_of_infeed_to_reserve'));
); // END loop(restypeDirectionNode, sft)
* --- Interesting results -----------------------------------------------------
......
......@@ -9,7 +9,7 @@
"defModels/*.gms",
"defOutput/*.inc"],
"cmdline_args": "",
"datafiles": ["input/InputData.gdx"],
"datafiles": ["input/inputData.gdx"],
"datafiles_opt": ["input/*.gms",
"input/*.gdx",
"input/*.inc",
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment