pypsa-usa icon indicating copy to clipboard operation
pypsa-usa copied to clipboard

Incorrect Ramping Limits

Open trevorb1 opened this issue 2 years ago • 6 comments

Checklist

  • [X] I am using the current master branch
  • [X] I am running on an up-to-date pypsa-usa environment. Update via conda env update -f envs/environment.yaml

The Issue

Ramping limits for generators are being incorrectly applied. As per the PyPSA documentation, they should be applied at a per unit level; instead they seem to be applied at an absolute value.

Steps To Reproduce

  1. Run the default workflow snakemake -j6
  2. Read in the network
 n = pypsa.Network()
n.import_from_netcdf("../workflow/results/western/networks/elec_s_60_ec_lvopt_Co2L1.0.nc")
  1. Check ramp rate on generators
n.generators[~(n.generators.ramp_limit_up.isna())]

image

Expected Behavior

ramp_limit_up and ramp_limit_down should be applied at a per unit of nominal power level (ie. a value between 0 and 1)

Error Message

No response

Anything else?

No response

trevorb1 avatar Sep 25 '23 19:09 trevorb1

Will address this in #56 !

ktehranchi avatar Sep 25 '23 19:09 ktehranchi

Ramping rates are actually not an issue here, NG plants can ramp faster than 1 pu per hour, and that's why the ramp rates are high!

ktehranchi avatar Apr 30 '24 04:04 ktehranchi

Totally fair! Especially from an aggregated point of view, I think that makes sense. Just to note, I think 860 still classifies a lot of CCGT into the 1-12hr ramp time (albiet from cold start). Moreover, its probably closer to 1hr than 12hr in most cases; so again, I agree with your assumption! OCGT are basically all classified as 10min.

From a clarity perspective, do you think we should change the ramp limits to be 1.0?

trevorb1 avatar Apr 30 '24 14:04 trevorb1

Interesting- I didn't see that field from the 860..... one thing to note right now is we only have ramp rates for plants in the WECC from the ads... need to add plants for the rest of the US, and could probably use that field as an approximate. Problem is that Time from cold-start to full load != ramp rate... because start-up time shouldn't be included in ramp rate.

Could you explain what you mean by "From a clarity perspective, do you think we should change the ramp limits to be 1.0?"

ktehranchi avatar Apr 30 '24 15:04 ktehranchi

Problem is that Time from cold-start to full load != ramp rate... because start-up time shouldn't be included in ramp rate.

I agree!

Could you explain what you mean by "From a clarity perspective, do you think we should change the ramp limits to be 1.0?"

Ramp limits are defined on a per unit basis, so setting the ramp limit to 1.0 will accomplish the same thing and aligns with pypsa component definition. Functionally it should be the same (I believe), just clearer for new users?

Ramping rates are actually not an issue here

Also, I havent checked if coal plants have been corrected from when this screenshot was taken, but coal plant ramping limits probably shouldnt be 1.0?

trevorb1 avatar Apr 30 '24 16:04 trevorb1

Ramp limits are defined on a per unit basis, so setting the ramp limit to 1.0 will accomplish the same thing and aligns with pypsa component definition. Functionally it should be the same (I believe), just clearer for new users?

True

Also, I havent checked if coal plants have been corrected from when this screenshot was taken, but coal plant ramping limits probably shouldnt be 1.0?

I'll revisit this.

ktehranchi avatar Apr 30 '24 16:04 ktehranchi

#355 Fixes this

ktehranchi avatar Jun 05 '24 18:06 ktehranchi

@trevorb1 I reviewed this and I think the coal ramping rates are correct. You can see below that in PyPSA-Eur they use 1.0 for coal ramping.

From this report also:

On average, the coal-based power plants around the world have ramp rates within the range of 1%–4% per minute, combined cycle gas turbines are between 2%–4%, and open cycle gas turbines are within the range of 8%–12%. State-of-the-art coal-based plants can even achieve ramp rates of up to 6% per minute, whereas state-of- the-art combined cycle gas turbines can achieve 8%–10%, and open cycle gas turbines up to 15% (Agora 2017; EPPSA 2015). In Denmark, thermal power plants are either built or retrofit to provide 4% ramp rate. Retrofit measures in Germany (Boxberg and Walsum Power Plant) allowed power plants to achieve ramp rates up to 6%. The new Belchatow II Unit1 in Poland can provide a ramp rate of 2%–6%. Nuclear plants are generally considered inflexible, but they also offer some flexibility in countries like Germany and France (Agora 2015). Internal combustion engines can provide fast ramping of around 100% (IRENA 2019). Hydro generators can provide ramp rates of the order of 10%–30% per minute; however, this flexibility may be restricted at times due to various environmental constraints.

Given these are % per minute, most coal and natural gas plants can ramp more than their nameplate capacity per hour.

ktehranchi avatar Jun 05 '24 18:06 ktehranchi

Totally fair, thanks for clarifying @ktehranchi! :)

trevorb1 avatar Jun 05 '24 18:06 trevorb1