N-1 Reserve, not finished
Push a new branch to the server, including the n-1 codes I write, unfortunately find it's not working now-it's just ignored by the system, codes are: N-1 Reserve Demand----------------------------------------------------------------------------------------------------------
q_resDemand_Infeed( grid, restypeDirectionNode(restype, up_down, node), ft(f, t),unit_) ${ ord(t) < tSolveFirst + p_nReserves(node, restype, 'reserve_length') and not [ restypeReleasedForRealization(restype) and ft_realized(f, t) ] and nuRescapable(restype, up_down, node, unit_) and p_nReserves(node, restype, 'N-1') } ..
// Reserve provision by capable units on this node
+ sum(nuft(node, unit, f, t)${nuRescapable(restype, up_down, node, unit) and (ord(unit_) ne ord(unit)) },
+ v_reserve(restype, up_down, node, unit, f+df_nReserves(node, restype, f, t), t)
) // END sum(nuft)
// Reserve provision to this node via transfer links
+ sum(gn2n_directional(grid, node_, node)${restypeDirectionNodeNode(restype, up_down, node_, node)}, + (1 - p_gnn(grid, node_, node, 'transferLoss') )
* v_resTransferRightward(restype, up_down, node_, node, f+df_nReserves(node_, restype, f, t), t) * p_nnReserves(node_, node, restype, 'ratio') // Reserves from another node - reduces the need for reserves in the node
) // END sum(gn2n_directional)
+ sum(gn2n_directional(grid, node, node_)${restypeDirectionNodeNode(restype, up_down, node_, node)},
+ (1 - p_gnn(grid, node, node_, 'transferLoss') )
* v_resTransferLeftward(restype, up_down, node, node_, f+df_nReserves(node_, restype, f, t), t) * p_nnReserves(node, node_, restype, 'ratio') // Reserves from another node - reduces the need for reserves in the node
) // END sum(gn2n_directional)
=G=
// Demand for reserves
+ v_gen(grid,node,unit_,f,t)*p_nReserves(node, restype, 'Infeed2Cover')*(p_nReserves(node, restype, up_down)+1)/(p_nReserves(node, restype, up_down)+1)
// Reserve provisions to another nodes via transfer links
+ sum(gn2n_directional(grid, node, node_)${restypeDirectionNodeNode(restype, up_down, node_, node)}, // If trasferring reserves to another node, increase your own reserves by same amount
+ v_resTransferRightward(restype, up_down, node, node_, f+df_nReserves(node, restype, f, t), t) * p_nnReserves(node, node_, restype, 'ratio')
) // END sum(gn2n_directional)
+ sum(gn2n_directional(grid, node_, node)${restypeDirectionNodeNode(restype, up_down, node_, node)}, // If trasferring reserves to another node, increase your own reserves by same amount
+ v_resTransferLeftward(restype, up_down, node_, node, f+df_nReserves(node, restype, f, t), t) * p_nnReserves(node_, node, restype, 'ratio')
) // END sum(gn2n_directional)
// Reserve demand feasibility dummy variables
- vq_resDemand(restype, up_down, node, f, t)
- vq_resMissing(restype, up_down, node, f, t)$(ord(t) <= tSolveFirst + p_nReserves(node, restype, 'gate_closure') - mod(tSolveFirst - 1, p_nReserves(node, restype, 'update_frequency')))
;