Veda2.0 Released!


Peaking Constraints
#1

Denise van Regemorter has made a good summary of the points that the user may need to consider with respect to peaking equations. The summary is given below, with some editorial changes:

Peaking Equation

A peaking equation can be activated for a commodity by defining the peaking timeslices in the set COM_PKTS, or by defining the commodity to be a member of the set COM_PEAK. In VEDA-FE, the COM_PKTS timeslices can be defined in the ~FI_Comm table. (Using COM_PEAK is actually never needed, you can always use COM_PKTS instead.)

A single peaking equation combining several different ELC commodities (e.g. ELCHIG, ELCMED, ELCLOW) is sometimes needed. This can be accomplished by defining a user-defined commodity group containing the electricity commodities, and by defining COM_PKTS for the group. The peak equations will then be generated for the aggregated group, and not for the member commodities, unless the user has explicitly requested TIMES to generate them by defining COM_PKTS or COM_PEAK also for those member commodities. So, to eliminate these equations, just remove any such unnecessary specifications.

Additional notes:

1.      Currently, the peak equations can be generated only for the timeslices at the commodity timeslice level. COM_PKTS(“annual”) means that a peak equation will be generated for all of those commodity timeslices. (In VEDA-FE, COM_PKTS can be defined for several individual timeslices by putting PEAKTS=ts1,ts2,…,tsn).

2.      By using the SET PRC_PKNO one can exclude technologies from contributing to the peak. For example, possible electricity transmission technologies should normally not be included in the peaking equation, and should therefore be declared as belonging to the SET PRC_PKNO.

3.      When defining the reserve margins with COM_PKRSV, one should take into account the grid-losses upstream of the peak consumption processes, either in the peak reserve (COM_PKRSV) or in the value of the (optional) COM_PKFLX parameter (default=0). However, on the production side of the peaking equation, any COM_IE efficiencies of the produced electricity commodities are already taken into account in the peak equation. Therefore, if any of the grid-losses have been modeled with such COM_IE parameters for the produced electricity, they should not be included in the peak reserve margin. Only those grid-losses that have been defined in some other way should be included in the reserve margin (e.g. the efficiencies of the grid transmission processes).

4.      For each technology producing a peaking commodity one can also define an NCAP_PKCNT parameter for specifying the % contributing to the peak. If the associated timeslice is annual, the NCAP_PKCNT is value is defined for all peaking timeslices. The default value of NCAP_PKCNT is 1 for all of the peaking timeslices, and that should be reasonable in many cases. But the default value can be quite non-appropriate for technologies like solar or wind which cannot contribute so much to the peak. NCAP_PKCNT is always applied only on the production side. So, for example, if NCAP_PKCNT is defined for a trade process, it will be applied to the Imports only.  For the consumption side (or Exports), FLO_PKCOI(R,T,P,C,TS) can be used to apply any given multiplier for the consumption that will occur during the peak.

5.      If NCAP_PKCNT is explicitly defined for a process, it will override PRC_PKNO, but in that case the process will contribute to the peak only by its production in the peak timeslice, not by capacity. It has been implemented in this way, because in some cases one should not assume that the capacity contributes to the peak, but only the actual production during the peak, and by using NCAP_PKCNT you can accomplish that. In other words, if you specify PRC_PKNO and no NCAP_PKCNT, the process will have no contribution to the peak; but if NCAP_PKCNT is also specified, the process will contribute to the peak by its production multiplied by the NCAP_PKCNT value, instead of the capacity.

Note also that existing powerplants do also appear in the peak equation, but because their capacities are usually defined by either RESIDs or PASTIs, their contribution is included only in the RHS constant of the equation.
Reply
#2
Thanks so much!
Really useful information.
Reply
#3
Hi all,
I'm trying to include peaking constraints in my electricity model and I'm trying to understand all of the pieces that need to be in place for it to work.  I have a few questions about this since I am not able to get the peak constraint to work.  While there is sufficient nominal capacity in the system to meet peak demand, there isn't any additional capacity to meet the reserve margin I have specified, given the availabilities of all the power plants in the peak timeslice. 

I think I've read everything on the subject on the VEDA forum and on the VEDA support website and it's not entirely clear to me all of the steps needed to make this equation work (there's also very little in the documentation) so I would like to review the key points to find out what I'm missing. 

1) In the commodity definition for electricity (ELC), I have included a column called "PeakTS" and specify which timeslices I'm interested having the peaking constraint applied (i.e. ANNUAL = all timeslices; or alternatively I can specify one of my timeslices by name).
Based upon the notes in the first post in this thread, i think that PeakTS is equivalent to COM_PKTS.

2) In the power plant definitions (in BaseYear workbook as well as NewTechnologies), there is a column called "Peak" where I specify the contribution of that particular process to the peak demand (somewhere between 0 and 1).
Based upon the notes in the first post in this thread, I think that Peak is equivalent to NCAP_PKCNT.
I am assuming that I don't need to use PRC_PKNO unless I have declared a set to be part of the peaking equation rather than a commodity (ELC).
I'm trying to understand how to use the Peak parameter.  Based upon the additional notes #5 above which states "If NCAP_PKCNT is explicitly defined for a process, it will override PRC_PKNO, but in that case the process will contribute to the peak only by its production in the peak timeslice, not by capacity."
I have wind generators, and I know how much they will contribute to peak demand because I am specifying an availability for each timeslice (i.e. fraction of capacity that can be used each timeslice).  However, I'm not sure if I then need to specify the contribution to peak or not. 

3) I have defined a reserve margin COM_PKRSV to be 33%.  There is a nominal 17% reserve margin in our region, but the additional reserve margin is to account for the difference between the average values of demand in our timeslices and the peak demand that is expected in the timeslices (our timeslices encompass about 180 hours each).
And I want to make sure that the unused/unavailable capacity of the intermittent renewables are not contributing to this reserve margin requirement.  If we have 10 GW of wind capacity but only 30% of total wind capacity (3GW) is available during the peak timeslice, I want to make sure that 7GW of capacity is not used as part of the reserve marging requirement.

I am not seeing the peaking constraint work for me as all power plants are being used up to their available capacity in the peak timeslice, whereas, I would like to see 33% additional available capacity that is sitting unused in this timeslice to account for the reserve margin.  Any tips would be greatly appreciated.

thanks.

Chris


Reply
#4
Here are my brief answers:

1) Yes, I agree that the VEDA "PeakTS" refers to the TIMES COM_PKTS attribute (I have verified this by inspecting the TIMES input files (*.DD), which are generated when the model is run).
2) Yes, I agree that the VEDA "Peak" attribute refers the TIMES NCAP_PKCNT attribute (I have verified this by both looking at Advanced Functions → Attributes Master and inspecting the TIMES input files (*.DD), which are generated when the model is run). Concerning the additional notes #5 you quoted, they apply only to the cases where you have specified both PRC_PKNO and NCAP_PKCNT.
3) If you have 10 GW of wind capacity, of which 3 GW should contribute to the peak (and assuming that this amount is equal to the availability factor fraction of the capacity) you have at least three options to define that condition:
  • Define NCAP_PKCNT = 0.3, and do not define PRC_PKNO for the processes involved
  • Define the PRC_PKAF attribute for the processes involved
  • Define the PRC_PKNO attribute and define NCAP_PKCNT = 1 for the processes involved
I guess this just confirms what you already know, but I hope it can be of some help anyway.
Reply
#5
Hi Antti,
Thank you for your reply and verifying what I have understood to be the case.  I have been traveling and am finally getting back to the modeling work. 
I think I have figured this out how this works but I'm still not getting reserve marking behavior in my model and I realized I can be a little more clear and concise with my question this time.

I have specified availability of all types of power plants for each of the 48 annual timeslices in my model.  So no powerplant can exceed that availability to contribute to the peak demand.  So that works fine from the perspective of understanding which plants will be operating and contributing to peak demand.  What I'm not able to see is any reserve or additional generating capacity that is built to satisfy the reserve capacity requirement I have specified (33%) in the COM_PKRSV table.

If I look at generating capacity and generation in the peak timeslice for non-renewable (i.e. dispatchable) plants, they are practically identical (there is no excess capacity in the system to handle any unforseen spikes in demand).  Put another way, there is very little ability of the electricity system to generate any more electricity in the peak timeslice.

I guess what I'm trying to ask is whether the PKRSV is calculated based upon nominal capacity (i.e. 10 GW of wind) or available capacity (3 GW of wind).  It appears that PKRSV is calculated based upon nominal capacity and this seems to underestimate the amount of firm or dispatchable capacity needed to meet reliability concerns. 

Perhaps you can clarify how the COM_PKRSV value is actually used in the model.  Since I am running a high renewable case, where I end up with 50% of my generation from wind and solar and given their low capacity factor (20-40%), the nominal generating capacity of the system is well above the possible output of all plants (available capacity) in the peak timeslice. So even though available capacity is maxed out, it still meets PKRSV since there is alot of unavailable capacity in the system. 

But this is not what I want.  I would like there to actually be excess generating capability in the system in order to actually be able to generate additional electricity.

I hope this post is clear and that you have some thoughts you can share about how this could be resolved.

thanks,

Chris
Reply
#6
The formulation of the peak equation is given in the TIMES documentation (see Part II, pages 234-236). I think it explains quite clearly how e.g. the COM_PKRSV is used in the formulation. Have you not been reading the documentation?

Concerning your wind and solar power, are you setting NCAP_PKCNT=0.3 or lower for the wind power plants, and similarly for other generation options (solar, run-of-river hydro, etc.), which should not be contributing to the peak by their nominal installed capacity? Or are you using one of the alternative approaches I mentioned, based on using PRC_PKAF or PRC_PKNO?

cyang Wrote:I guess what I'm trying to ask is whether the PKRSV is calculated based upon nominal capacity (i.e. 10 GW of wind) or available capacity (3 GW of wind).  It appears that PKRSV is calculated based upon nominal capacity and this seems to underestimate the amount of firm or dispatchable capacity needed to meet reliability concerns.
COM_PKRSV is a TIMES input parameter. As described in the documentation, it represents the "Peak reserve margin as fraction of peak demand, e.g. if COM_PKRSV = 0.2, the total installed capacity must exceed the peak load by 20 %."  I think this should be reasonably clear as such, but note that the "peak load" can also be adjusted by the COM_PKFLX and FLO_PKCOI parameters, and "total installed capacity" can be adjusted by using NCAP_PKCNT, PRC_PKAF and PRC_PKNO (as explained in the documentation).
cyang Wrote:Perhaps you can clarify how the COM_PKRSV value is actually used in the model.
See above: It has actually been already clarified in the documentation. The formulation of the equation is given quite in detail there, and so could you please clarify what still appears to be unclear about it?

I hope the pointers to the documentation can be of some help to you, but if you still don't see the peaking equations working as documented, please let us know.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  User Constraints AKanudia 1 8,957 22-03-2011, 07:04 AM
Last Post: maria

Forum Jump:


Users browsing this thread: 1 Guest(s)