Closed mkmahajan closed 4 years ago
In an email on 4/6/20, Robbie wrote:
We have a workaround for this, but it will imminently be an issue for the India model update. The solution is quite straightforward, which is just to add an allocation pass for new peaker capacity, where the costs and distributinons are the same with addine new capacity. The only difference is the area of the curves, which are defined by the max potential capacity buildable in a year multiplied by the flag for whether a plant is a peaker. This addresses an issue where the model has a tendency over time to build gas and oil peaker plants proportionally, regardless of cost. I don’t think it would be a lot of work.
There are a couple additional wrinkles:
Unlike the earlier allocation passes, peakers are currently built to meet capacity needs, rather than to meet energy demand (MW rather than MWh). The Priority Profile used in the earlier allocation passes is based on $/MWh and would need to be converted to $/MW. That's straightforward enough if we divide by the existing variable "Expected Capacity Factor x Hours per Year." But the expected capacity factor for petroleum is much lower than the expected capacity factor for NG peakers, which will exaggerate the cost differences per MW. I might have to construct a new Priority Profile where everything is calculated in capacity units without regard to expected capacity factors (which are crucial in the cost-per-unit-output calculations). (And if we need one, we need two: one that includes subsidies (for median price) and one that excludes subsidies (for calculating the normalized standard deviation, which is a technical property that is unaffected by subsidy policies).
We need to remember to remove the quantity of peaker plants built during the earlier (energy-based) allocation passes from the buildable amount (area under the curve) prior to the new allocation pass (in addition to multiplying by the Boolean flag designating which plants are peaker plants).
I'll look more closely/carefully at how to set up an allocation in capacity units. I'm going to try to do it in a way that doesn't require us to add new input variables, if possible, so it doesn't increase the burden of adapting the model to new locations.
Done in commit 1015da2. It turns out I can use the Electricity Output Priority Profile because the expected capacity factor doesn't play into it. I just have to convert to capacity using raw hours, without the expected capacity factor playing a role in the conversion. No new input data are needed.
Note that because natural gas peakers are much cheaper than petroleum plants, the U.S. model now is building only NG peakers and not petroleum plants for peaking. (It is easiest to see this if you set the early power plant retirement policy to retire some NG peakers early, because the U.S. doesn't have to build many peakers in a BAU run.)
Note that using cost-based allocation here replaces the old behavior where the model would build peaking plant types in proportion to the extent those types already exist. The rationale behind that behavior was that the existing peakers were built for a reason, even though some might be costly, and that reason may still exist in the future. Under the updated behavior, if we want to see most regions build any petroleum-fired peaking plants, it will need to be cost-effective to do so, relative to other peaker types. This probably increases accuracy (and model adaptability) in most cases, but it may fail to capture ideosyncratic reasons why a single petroleum plant or two was built in a country or region where that plant type is otherwise not cost-effective (for instance, maybe the peaker plant is adjacent to a refinery and burns unsellable petroleum byproducts).
Robbie and I just realized the model allocates capacity using "new peaker capacity desired for peak load purposes by type" rather than by cost. In India, this is causing too much petroleum peaker capacity to be added even though it should be building entirely gas peakers based on cost.