The optional Use Demand Curve column is used to calculate capacity prices based on the intersection of an input demand curve and the resource capacity stack. Existing resources which don’t clear the capacity market in a given year will not receive capacity payments for that year (that information is recorded in the RMT for use in additional simulations).
NOTE: When set to True, the Capacity Pricing Function and Capacity Price Base columns need to also be populated.
When this column is set to True, demand curve logic is activated for that zone/pool and capacity prices are calculated using a different method. A demand curve for each year is formulated with values using the Capacity Price Base multiplied by the intersection of the reserve margin with the Capacity Pricing Function. Instead of all existing resources with reliable capacity in the system receiving a capacity payment, only those that qualify in each year will receive the payment.
Here is the general approach, after a given LT iteration makes its decisions, Aurora will loop through each of the years and do the following:
Find the peak demand for the year and the total fixed capacity (capacity that can’t be retired).
Get the annual value for each remaining in-system resource (excluding any capacity revenue) and convert that to a $/MW-wk value that represents the needed make-whole payment (capacity price) to make that unit whole that year.
Sort the resources by their needed make-whole payment from smallest to largest.
Loop through the resources and calculate the reserve margin level at each resource (i.e. the reserve margin based only on this unit + the fixed units + those with lower make whole payments). Use that reserve margin level to calculate the capacity price from the demand curve. Stop once the first unit is found where the capacity price from the demand curve is lower than the needed make-whole payment of the current resource.
Do some interpolation between that resource and the previous one in the stack to determine the final capacity price (i.e. where the resource stack and the demand curve intersect).
Continue looping through the resources and mark all remaining existing resources (but not new resource options) as ineligible for capacity prices.
Detailed diagnostics are written to the StudyLog when General Debug is turned on.
If a zone and its pool both have Use Demand Curve specified, Aurora will calculate a capacity price for both and use the highest value for the zone price. In that case, if a resource is determined eligible for capacity revenue in either the zone or pool calculation for a given year, it will receive the capacity payment. In the subsequent iteration, only those resources which were marked as eligible for the capacity prices each year will receive capacity revenue, and their valuation in the next LT decision (MIP) will include the consideration of that revenue. Once the final LT decision has been made, Aurora writes the RMT and includes a special string in the Capacity Revenue Multiplier column to indicate which years the existing resources are eligible for capacity revenue, so the information can flow through to the final run and subsequent non-LT runs.
Use Demand Curve Column