GenXProject / GenX.jl

GenX: a configurable power system capacity expansion model for studying low-carbon energy futures. More details at : https://genx.mit.edu
https://genxproject.github.io/GenX.jl/
GNU General Public License v2.0
267 stars 114 forks source link

GenX should be able to operate on alternate time bases #295

Open cfe316 opened 1 year ago

cfe316 commented 1 year ago

GenX has been constructed to operate on a 1 hour time basis.

It should be possible to unstuck this in order to allow, for example, 5, 30, or 120 minute timesteps.

This would probably also be a good time to break apart the ModelScaleFactor into something like [PowerScaleFactor*, TimeScaleFactor, CurrencyScaleFactor] and possibly also MassScaleFactor (for CO2 accounting).

This should take a bit of thinking over. I'd appreciate any comments or considerations here.

sambuddhac commented 1 year ago

@cfe316 To the best of my knowledge, for the purposes of capacity expansion planning model, the hourly time resolution is a good approximation, because you want only approximate calculations for the operational story of the power system, which influence the capacity decisions. Of course, one can go for a higher granularity in the time scale, but the gain in accuracy of the calculations of dispatch will come at a way too higher cost of elevating the computational effort. As a matter of fact, even in the operational regime, the Day Ahead Market (DAM) where the ISOs do the unit commitment and scheduling of generators and loads to carry out the market clearing and financial settlements (for both Energy and Ancillary Services scheduling), only the hourly resolution power flow is solved. The 5 minutes dispatch (with 25 minutes for look-ahead for ERCOT and PJM at least; probably for other markets also) is only carried out for the Real Time Market (RTM) where you try to do things like correcting the supply-demand mismatch, from that predicted during DAM, deployment of AS, Fast start/fast ramp generators, and running the Balancing Energy Market (BAM).

However, what you mentioned that deep significance and relevance for not only RTM, but also studying even lower time resolution power system studies like stability, power system harmonics, transient response, frequency excursions, deployment of AS in Energy Markets, Automatic Generation Control (AGC) for area imbalance. However, I suspect, as we move to sub-hour modeling and sub-5 minute modeling, we need a much more detailed modeling of the power system, and a planning model like the current GenX won't suffice. The first among these is a full-blown DC-OPF (and presumably (N-1) SCOPF) followed by eventually AC-SCOPF will a full network representation.

I will let @JesseJenkins and @xuqingyu to chime in to throw in more insights and to see what I said is correct or not. This is an interesting issue to discuss though.

JesseJenkins commented 1 year ago

GenX design philosophy has been to be configurable and flexible for a variety of applications. So while hourly resolution is standard, some studies have shown that subhourly resolutions more accurately reflect the value of storage or demand flexibility, may more accurately estimate peak demands, etc and other studies have 'downsampled' time resolution to 2 or 4 hour blocks to reduce computational burden. There's no reason we can't make GenX flexible to capture time steps of different lengths. It'll just take some care. Maybe not a top priority unless users have a strong interest. Potential users: feel free to chime in here...

On Tue, Nov 1, 2022, 5:03 PM Chakrabarti, Sambuddha (Sam) < @.***> wrote:

@cfe316 https://github.com/cfe316 To the best of my knowledge, for the purposes of capacity expansion planning model, the hourly time resolution is a good approximation, because you want only approximate calculations for the operational story of the power system, which influence the capacity decisions. Of course, one can go for a higher granularity in the time scale, but the gain in accuracy of the calculations of dispatch will come at a way too higher cost of elevating the computational effort. As a matter of fact, even in the operational regime, the Day Ahead Market (DAM) where the ISOs do the unit commitment and scheduling of generators and loads to carry out the market clearing and financial settlements (for both Energy and Ancillary Services scheduling), only the hourly resolution power flow is solved. The 5 minutes dispatch (with 25 minutes for look-ahead for ERCOT and PJM at least; probably for other markets also) is only carried out for the Real Time Market (RTM) where you try to do things like correcting the supply-demand mismatch, from that predicted during DAM, deployment of AS, Fast start/fast ramp generators, and running the Balancing Energy Market (BAM).

However, what you mentioned that deep significance and relevance for not only RTM, but also studying even lower time resolution power system studies like stability, power system harmonics, transient response, frequency excursions, deployment of AS in Energy Markets, Automatic Generation Control (AGC) for area imbalance. However, I suspect, as we move to sub-hour modeling and sub-5 minute modeling, we need a much more detailed modeling of the power system, and a planning model like the current GenX won't suffice. The first among these is a full-blown DC-OPF (and presumably (N-1) SCOPF) followed by eventually AC-SCOPF will a full network representation.

I will let @JesseJenkins https://github.com/JesseJenkins and @xuqingyu https://github.com/xuqingyu to chime in to throw in more insights and to see what I said is correct or not. This is an interesting issue to discuss though.

— Reply to this email directly, view it on GitHub https://github.com/GenXProject/GenX/issues/295#issuecomment-1299158187, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACPYTSCLYMSZRMDNTD44XBLWGGATBANCNFSM6AAAAAARUNHLUU . You are receiving this because you were mentioned.Message ID: @.***>

Nick-Maurer commented 1 year ago

If you wanted to run a simulation with a smaller time step, say 30min, is there any issue with using 8760 half-hourly data points for generation and demand? Recognising that in doing so, you only model half the year. This obviously has limitations, but something we have been considering investigating here in Aus.

cfe316 commented 1 year ago

You'd need to adjust many of the other inputs, especially in Generators_data.csv, but possibly other files as well. For example, variable operations and maintenance costs would now be half as large since they would be in $/MW-half-hour. Minimum up and down times for thermal generators would need to be twice as long. Fractional storage losses per timestep would be half as large.

I suppose for the most part, columns with units of ...hours would need to double and columns with units of 1/hours (such as $/MWh) would half. You'd want to go through with a fine-toothed comb and double check though.

Nick-Maurer commented 1 year ago

Hmm, very true. Seems a little tedious, but maybe not impossible.