-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Limit German CO2 sequestration in each investment year #170
Conversation
to avoid boilerplate code repetition
Extend the functions add_{min/max}_limits in additional_functionality.py to allow stores. Add limits to DE CO2 sequestration based on feasibility constraints. E.g. since EU target for 2030 is 50 MtCO2/a sequestration in Net Zero Industry Act, limit DE to 10 MtCO2/a, then relax with subsequent years.
for more information, see https://pre-commit.ci
Validator ReportI am the Validator. Download all artifacts here.
|
Numeric | Status | NMAE | MAPE | |
---|---|---|---|---|
../KN2045_Bal_v4/csvs/price_statistics.csv | ||||
../KN2045_Bal_v4/csvs/cumulative_cost.csv | ||||
../KN2045_Bal_v4/csvs/weighted_prices.csv | ||||
../KN2045_Bal_v4/csvs/nodal_cfs.csv | ||||
../KN2045_Bal_v4/csvs/cfs.csv | ||||
../KN2045_Bal_v4/csvs/nodal_capacities.csv | ||||
../KN2045_Bal_v4/csvs/capacities.csv | ||||
../KN2045_Bal_v4/csvs/energy.csv | ||||
../KN2045_Bal_v4/csvs/curtailment.csv | ||||
../KN2045_Bal_v4/csvs/costs.csv | ||||
../KN2045_Bal_v4/csvs/nodal_supply_energy.csv | ||||
../KN2045_Bal_v4/csvs/supply_energy.csv | ||||
../KN2045_Bal_v4/csvs/supply.csv | ||||
../KN2045_Bal_v4/csvs/metrics.csv | ||||
../KN2045_Bal_v4/csvs/market_values.csv | ||||
../KN2045_Bal_v4/csvs/nodal_costs.csv | ||||
../KN2045_Bal_v4/csvs/prices.csv |
MAPE: Mean Absolute Percentage Error
NMAE: Mean Absolute Error on Min-Max Normalized Data
Status Thresholds: NMAE > 0.05 and MAPE > 5%
Comparing limit_de_seq
(b8525b6) with main
(33916de).
Branch is 4 commits ahead and 4 commits behind.
Last updated on 2024-08-16 00:37:14 CEST
.
else: | ||
logger.error("sense {sense} not recognised") | ||
sys.exit() | ||
|
||
if cname not in n.global_constraints.index: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i'm not entirely sure what this line does 🤔
@JulianGeis , i think you implemented it for the post discretization? Would it be possible to pull it into the main loop and replace if cname not in: do
with if cname in: continue
to achieve the same outcome with less lines of code
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The "else" was me in case "sense" is not specified correctly (a paranoid check).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is nothing like a "paranoid check" 😬
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❤️ paranoid checks
* add_func: use same function for add_max/min_capacity_limits to avoid boilerplate code repetition * add_func: stores in add_{min/max}_limits; limit DE co2 sequestration Extend the functions add_{min/max}_limits in additional_functionality.py to allow stores. Add limits to DE CO2 sequestration based on feasibility constraints. E.g. since EU target for 2030 is 50 MtCO2/a sequestration in Net Zero Industry Act, limit DE to 10 MtCO2/a, then relax with subsequent years. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * check if constraint exists inside loop --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Michael Lindner <michaellindner@posteo.de> Co-authored-by: Micha <michaellindner@pik-potsdam.de>
Unify functions
add_{min/max}_capacity
inadditional_functionality.py
to avoid boilerplate code repetition.Allow this function to limit stores.
Add limits to DE CO2 sequestration based on feasibility constraints.
E.g. since EU target for 2030 is 50 MtCO2/a sequestration in Net Zero Industry Act, limit DE to 10 MtCO2/a, then relax with subsequent years.
For 365H resolution, this limit reduced sequestration in DE in 2030 from 55 to 10 MtCO2, while increasing system costs by 0.3%. The limit in 2045 reduced sequestration in DE from 97 to 80 MtCO2, while increasing system costs by 0.3%.
Before asking for a review for this PR make sure to complete the following checklist:
ariadne_all
completes without errorsexport_ariadne_variables
has been adapted to the changesChangelog.md
main
has been merged into the PRYYYYMMDDdescriptive_title