USEPA / ElectricityLCI

Creative Commons Zero v1.0 Universal
24 stars 10 forks source link

U.S. average generation profiles by fuel type #256

Open bl-young opened 3 weeks ago

bl-young commented 3 weeks ago

We see a number of applications for providing fuel specific generation profiles at the national level, e.g., Electricity - COAL - US. At one point, I believe it was possible to create a version with aggregation to the entire U.S. (or at least I was able to do it with a few minor tweaks to the code). Do you anticipate still providing this option in the next release? The immediate applications we see for these mixes are as proxies to assess international grid mixes and to provide options for assessing changing U.S. grid mixes.

bl-young commented 3 weeks ago

If i recall, regional_aggregation: 'US' does not work, but I believe I had pulled this off before with this commit: https://github.com/bl-young/ElectricityLCI/commit/8ce5b93b9280585766f01606cdb41a6983e52f5b

But it's likely outdated now and wasn't tested thoroughly.

bl-young commented 6 days ago

FYI this is what I am aiming for: image

(Note, I'm less concerned with the consumption mix and capturing potential imports from Canada). The changes I made in the commit I referenced above from a few years back seem to still work at the latest HEAD. I will do a PR for you to review.

Was there an alternate intention of regional_aggregation: 'US' if not what I'm showing in the screenshot?

m-jamieson commented 5 days ago

Nope, I believe the intent of regional_aggregation: "US" in aggregate_data in generation.py is as you show. However, I did not want to implement that in main.py, and if I recall init.py was made the way it is, so that it was easier to force BA-level trading and build up to the US consumption mix (and FERC). The other benefit of doing it that way was being able to see the share of the US consumption mix from the various BAAs.

Anyhow, can try the pull request, but if it breaks the above, I'm inclined not to accept it. In that case, I think it would be worthwhile to make a new folder with some custom scripts to do this sort of thing.