-
Notifications
You must be signed in to change notification settings - Fork 130
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
Penalty for secondary energy share deviation in sectors #1762
Penalty for secondary energy share deviation in sectors #1762
Conversation
…SectorShare method
Looks good to me. This may be a problem in process-based chemicals. But it seems to be important to the overall model, and I now know that it's there, so we can either live with it, or find a solution for this implementation and chemicals-feedstocks-related SE differences to live alongside each other. Maybe I'll approach you for that in the coming months. On an unrelated note: Is that so, or did I get the documentation wrong, or did I mess up in my calculations? |
@robertpietzcker nevermind, I messed up: But that might raise a different. more severe issue (if I'm not messing up again): The penalty So in the fossil-dominated world we live in, syn and bio would get a push with no founding. Is that an effect we want from that penalty switch? |
yes, which is one of the reasons I prefer the (currently default) "sqSectorAvrgShare " :-) but you are right, some info about this should be added in the description of "sqSectorShare" - like "this method ALSO creates an unwanted incentive for the model to have equal fos/syn/bio shares" |
To me, that seems like the only difference to I.e.: You're saying this only difference is unwanted (and I agree). Which begs the questions: Is there any advantage to it? If not, then I'd be in favour of deleting it. (As always, if I'm not messing up). Calculations: and then |
|
The alternative formulations are present to compare different levels of complexity and allow runtime comparisons. The default option selected considers the pros and cons observed so far about these alternatives, but as these formulations should be further improved in subsequent PRs, I prefer to keep the current options in the code. |
…seFeSectorSharePenalization
@robertpietzcker Please let me know if you are ok with merging in this way so I can go ahead with the merge. |
to make sure I understand correctly - the merged version would have as default that the model sees NONE of the penalizing terms, but just the share calculation terms? |
Here is a comparison scenario of the NPi runs (1) without any code from the PR and (2) with the code from the PR but with
There is juts one small difference that is active between the runs. I initialized the .l share values for The results are almost the same, but there are some differences on the biomass trade and the initial point change also affects bunker emissions. Besides that I think most of the other changes are either non-existent or residual. The policy runs aren't finished yet. |
Since both the SSP2 scenarios and the 2040 paper scenarios are using the latest setup we tested, do I have the green light to proceed with merging this into the trunk with our current test configuration? The current tested setup uses If you need any additional test runs, please let me know. If approved, I'll update this PR to the current tested configuration and create a new PR to incorporate the The 2040 paper test runs are available at: |
Hi all :) |
Without the code in this PR, REMIND was free to allocate bio, syn, and fossil fuels across sectors. To guide the model towards a more balanced distribution, the PR introduces a small monetary incentive (in the form of a cost penalization) to equalize the fuel shares across sectors. This incentive is designed to be minimal, so if there’s a sector-specific economic advantage to using a particular fuel type, the incentive should remain negligible. This adjustment takes effect from 2025 onward. |
the shares on years before 2025 shoudl be controlled by the |
Thanks @Renato-Rodrigues. I will check once the fix is in place and remove the postprocessing step in our reporting. |
…seFeSectorSharePenalization
This PR is merging the changes discussed here in a disabled state. A follow up PR will be created to include the default behavior change in REMIND, address the issue that motivated these code changes and point to test runs. |
Purpose of this PR
Features:
Detailed documentation can be found within the code:
The default option is set to
sqSectorAvrgShare
, as it provides the most stable solution so far with acceptable solving time.The
sqSectorShare
andsqSectorAvrgShare
deviations can be defined using either share units or energy units by setting the option with the switchc_seFeSectorShareDevUnit
. The default is set toshare
.The penalization term in the objective function is scaled to avoid affecting optimization results. This scaling factor can be defined using the switch
c_seFeSectorShareDevScale
.Additional Changes:
vm_demFeSector
withvm_demFeSector_afterTax
in the core share equations, as the marginal effect of the constraints on these shares should not be reflected in final energy marginal prices reported by REMIND.cm_INCONV_PENALTY_FESwitch
to avoid competitive behavior between both penalization methodsType of change
Checklist:
FAIL 0
in the output ofmake test
)Further information (optional):
/p/projects/ecemf/REMIND/2040_scenarios/v09_2024_08_02_REMIND_3.3.1/output
/p/projects/ecemf/REMIND/2040_scenarios/v11_2024_09_02