Be selective about re-investments in the ironing out loop
@tsmbland is already working on this.
Since Sep 26, 2025.
Assessment
This issue has not been assessed yet.
Description
We currently redo all investments each round of the ironing out loop. Once #787 is done, this means that we will redo all investments if the price of any commodity is unstable. This is similar to what we do in MUSE1.
However, we could be more selective about this and only redo investments that could possibly be impacted by the unstable prices.
E.g I think the means that if the price of electricity changes from one iteration to the next, we should redo investments for all commodities that could consume electricity in the process of their production. Then, if any of those investments change compared to the previous iteration, we would have to redo the investments upstream of this (including electricity itself)
Let's say we had a very simple model:
gas -> electricity -> heat
- In round 1 we perform investments for
heatthenelectricitythengasbased on commodity prices from the previous milestone year. - After doing all investments and then a final dispatch run to get new prices, we notice that the price of
electricityhas changed compared to the previous milestone year, so we have to redo investments forheatwhich might be impacted by this price change* - If
heatinvestments are unchanged compared to round 1 then we're done (assuming thegasprice is also stable) - If
heatinvestments are changed compared to round 1 (perhaps towards a more electricity-efficient technology), then we'll have to redo investments forelectricity, and likewise if these change then we'll need to redo investments forgas - After this new round of investments, we do another full dispatch run to get a new set of commodity prices, etc. etc.
- This keeps going until the price of all commodities is stable, or the max number of iterations is reached
*Or, perhaps if the price of electricity has changed then this will be factored in to the price of heat so we don't need to look forward and can just redo investments for the commodities with changing prices, starting with those furthest along the supply chain?
@ahawkes Does this sound reasonable?
- Dominant language
- Rust
- Stars
- 8
- Forks
- 5
- Avg merge
- 11h 31m
- Merged PRs (30d)
- 33
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from EnergySystemsModellingLab/MUSE2
-
bug documentation
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
EnergySystemsModellingLab/MUSE2#1367 · 1 comment ·
-
Remove the `ironing out iteration 0` prefix from debug files when the ironing out loop is turned off Openmuse xiii question
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
EnergySystemsModellingLab/MUSE2#1221 ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
EnergySystemsModellingLab/MUSE2#1554 ·
-
bug
EnergySystemsModellingLab/MUSE2#1541 · 2 comments · 1 assignee ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
EnergySystemsModellingLab/MUSE2#1526 ·
All issues in EnergySystemsModellingLab/MUSE2
Similar issues
-
bug CLI custom-model
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
rust-bitcoin/rust-bitcoin#6930 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
fulcrumgenomics/ferro-hgvs#2251 ·
-
A-allocators A-docs C-enhancement T-libs
Difficulty 2/5 1-3 hours Newbie friendliness 75/100