feat: implement B3 indicators calculations to CBA#350
Conversation
065a88a to
072efda
Compare
a82abb6 to
5357dd4
Compare
lisazeyen
left a comment
There was a problem hiding this comment.
Perfect, thanks @measrainsey! Looks good. The only remaining thing which needs to be changed is setting whenever you call the statistics module nice_names=False and take the same list for renewable carriers which is already part of the config.
Question to @cdgaete : do you know if for some projects additional renewable capacities are given, which are getting connected by the new project, e.g. a transmission line connecting to a offshore hub?
| central: 628 | ||
| high: 662 | ||
| res_carriers: | ||
| - Onshore Wind |
There was a problem hiding this comment.
This is a mix of some carriers renamed to there "nice names" and some technologies still having the pypsa network names. I would suggest when calling the statistic module to set nice_names=False so that there is no renaming of carriers. This would require some renaming in this list, e.g. Onshore Wind -> onwind. You can directly use the electricity.tyndp_renewable_carriers option then
There was a problem hiding this comment.
Updated to use nice_names=False in n.statistics() - and also removed the need for the cba.res_carriers in the config, instead now using electricity.tyndp_renewable_carriers
| return CO2_emissions_per_carrier | ||
|
|
||
|
|
||
| def calculate_res_capacity_per_carrier( |
There was a problem hiding this comment.
Just as a note: We are currently fixing the capacities so there will be never a difference in installed capacity per carrier. I think this is mainly for projects which are e.g. connecting offshore wind parks. But I am not sure if that value of additional connected capacity is given somewhere.
There was a problem hiding this comment.
Thanks for clarifying! Then I guess this explains why the capacity differences in my quick checks have been 0 so far :)
…y.tyndp_renewable_carriers` from config
|
Thanks @lisazeyen for your review! I hope I addressed your comments correctly, let me know if not @cdgaete also let me know if you have any feedback regarding the capacities stuff |
lisazeyen
left a comment
There was a problem hiding this comment.
just one small comment concerning the naming, the rest looks good!
Co-authored-by: lisazeyen <[email protected]>
…n_*` Co-authored-by: lisazeyen <[email protected]>
…rtailment_mwh` Co-authored-by: lisazeyen <[email protected]>
Conflicts: config/test/config.tyndp.yaml doc/release_notes.rst envs/default_linux-64.pin.txt envs/default_osx-64.pin.txt envs/default_osx-arm64.pin.txt envs/default_win-64.pin.txt pixi.lock
Conflicts: config/test/config.tyndp.yaml doc/release_notes.rst envs/default_linux-64.pin.txt envs/default_osx-64.pin.txt envs/default_osx-arm64.pin.txt envs/default_win-64.pin.txt pixi.lock
Conflicts: doc/release_notes.rst
|
Noting here that the CI is failing in the SB test phase ( However, running |
Closes:
Changes proposed in this Pull Request
This PR adds the calculation of the B3 indicator for the Cost-Benefit Analysis (CBA) workflow.
Workflow
The only changes made to the workflow are in the
scripts/cba/make_indicators.pyfile:calculate_b3_indicator()function has been added to calculate the B3 indicators, as well as some helper functions for getting information about networks using the PyPSAstatisticsmoduleThe resulting columns that are added to the indicators CSV are:
B3_res_capacity_change_mw: difference in RES capacity (MW) with and without the projectB3_res_generation_change_mwh: difference in RES generation (MWh) with and without the projectB3_res_dump_change_mwh: difference in RES curtailment (MWh) with and without the projectOpen issues
RES benefit calculation
One thing I am not sure yet is how to implement this part of the text here from the CBA Implementation Guideline (p. 69):
If
E_projectis the generation of JUST the project (and not generation from all RES technologies in the whole network), then we would need to find a way to pull out the specific project from the network and get its generation?Notes
Checklist
[ ] Changed dependencies are added topixi.toml(usingpixi add <dependency-name>).[ ] Changes in configuration options are added inconfig/config.default.yaml.doc/configtables/*.csv.config/test/*.yaml.[ ] Open-TYNDP SPDX license header added to all touched files.[ ] Sources of newly added data are documented indoc/data_sources.rst.[ ] New rules are documented in the appropriatedoc/*.rstfiles.doc/release_notes.rstis added.READMEanddoc/index.rst.[ ] Module docstrings added to new Python scripts.