-
Notifications
You must be signed in to change notification settings - Fork 20
Fix foreign investments according to reference network #87
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
Open
cpschau
wants to merge
821
commits into
main
Choose a base branch
from
fix-foreign-investments
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+292
−9
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Preparation for public model Pypsa-DE
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
…nto fix-foreign-investments
cpschau
pushed a commit
that referenced
this pull request
Jul 14, 2025
report decentral heat in primary energy
for more information, see https://pre-commit.ci
…nto fix-foreign-investments
for more information, see https://pre-commit.ci
…tion after solving)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR extends the functionality for fixing foreign investments in multi-scenario model setups:
Investment fixing mechanism:
Users can fix investments for components outside Germany to match the optimal values from a reference scenario by setting
fix_foreign_investments:enabletotrue. The reference scenario is specified viafix_foreign_investments:reference_scenario. As a consequence, the reference network is solved prior to the other scenarios.For components with
slack=0and bothnom_minandnom_maxenabled in the config, the nominal capacity is set exactly to the reference value and the component is made non-extendable (_extendable=False), thereby removing its investment variable from the optimization.Otherwise, lower and/or upper bounds are applied based on the reference value, adjusted by slack and floor/ceil rounding to tolerate numerical inaccuracies.
Scope:
Only extendable components fully outside Germany and the EU are affected.
Solar potential constraint adjustment:
In
solve_network, the solar potential constraint now applies only to German buses whenfix_foreign_investmentsis enabled and the run is not the reference scenario. This prevents numerical inconsistencies for fixed foreign investments.Testing:
The feature was tested using the following scenario config:
Furthermore, following adjustments were made in
config.de.yaml:The sequential optimization was tested successfully fixing the capacities to the exact reference values and also setting an upper and a lower bound with a slack of 0.001. However, during the testing phase the 1:1 fixing could lead to convergence issues in the solver due to the mismatch between line flows and line parameters taken over from the reference network.
Therefore, downstream iterations on the AC-DC network optimization setting the parameter
solving:options:skip_iterationstofalsecombined with a small slack are recommended to resolve these issues.Here are the tracked network KPIs for the exact fixing (

slack=0,nom_minandnom_maxenabled, skipping additional iterations):ariadne_allcompletes without errorsexport_ariadne_variableshas been adapted to the changesChangelog.mdmainhas been merged into the PRYYYYMMDDdescriptive_title