This PR resets the bounds on 1st generation biofuels (that are exogenously prescribed and harmonized with MAgPIE) such that they are correctly applied already from 2030 on instead of only from 2045 on. This solves the issue of excessive 1st generation biofuel production in between 2030 and 2045.
This PR is only a hotfix, as it comes with the caveat that Baseline runs (and other runs that do not allow for early retirement of technologies) will be infeasible, since the bounds themselves are outdated and partially too low to reflect historic capacities.
Apart from that there is the problem (has been there before, though) that some regions phase out some capacities of pebioil and pebios technologies even in historic time steps (i.e. before 2020, see here).
In a follow-up process, these bounds need to be adjusted such that they a) do not violate historic capacities, b) are in line with current policies (e.g. limits set by the EU) and c) are better in line with updated data on 1st gen. biofuel sustainability constraints (which is the main motivation for limiting 1st gen. biofuels).
Once that is done, I would suggest to constrain REMIND such that early retirement in historic time steps is forbidden.
Type of change
(Make sure to delete from the Type-of-change list the items not relevant to your PR)
[x] Bug fix
[ ] Refactoring
[ ] New feature
[ ] Minor change (default scenarios show only small differences)
Test runs are here:
/p/tmp/merfort/REMIND_bugfix_1stgen/remind
This fix has quite some impacts on the model results in runs with a tight carbon budget.
PkBudg500:
Red: original REMIND version, bound only applied in 2045
Green: new, bound applied from 2030 on
Blue: new, bound applied from 2030on + phase-out afterwards (cm_1stgen_phaseout <- 1)
PkBudg650:
Red: original REMIND version, bound only applied in 2045
Green: new, bound applied from 2030 on
Blue: new, bound applied from 2030on + phase-out afterwards (cm_1stgen_phaseout <- 1)
For a more detailed discussion on the changes, please refer to the respective issue.
Purpose of this PR
This PR resets the bounds on 1st generation biofuels (that are exogenously prescribed and harmonized with MAgPIE) such that they are correctly applied already from 2030 on instead of only from 2045 on. This solves the issue of excessive 1st generation biofuel production in between 2030 and 2045. This PR is only a hotfix, as it comes with the caveat that Baseline runs (and other runs that do not allow for early retirement of technologies) will be infeasible, since the bounds themselves are outdated and partially too low to reflect historic capacities.
Apart from that there is the problem (has been there before, though) that some regions phase out some capacities of
pebioil
andpebios
technologies even in historic time steps (i.e. before 2020, see here).In a follow-up process, these bounds need to be adjusted such that they a) do not violate historic capacities, b) are in line with current policies (e.g. limits set by the EU) and c) are better in line with updated data on 1st gen. biofuel sustainability constraints (which is the main motivation for limiting 1st gen. biofuels). Once that is done, I would suggest to constrain REMIND such that early retirement in historic time steps is forbidden.
Type of change
(Make sure to delete from the Type-of-change list the items not relevant to your PR)
Checklist:
remind2
where it was needed (NA)forbiddenColumnNames
in readCheckScenarioConfig.R in case the PR leads to deprecated switches (NA)FAIL 0
in the output ofmake test
)CHANGELOG.md
has been updated correctlyFurther information (optional):
/p/tmp/merfort/REMIND_bugfix_1stgen/remind
This fix has quite some impacts on the model results in runs with a tight carbon budget.PkBudg500: Red: original REMIND version, bound only applied in 2045 Green: new, bound applied from 2030 on Blue: new, bound applied from 2030on + phase-out afterwards (cm_1stgen_phaseout <- 1)
PkBudg650: Red: original REMIND version, bound only applied in 2045 Green: new, bound applied from 2030 on Blue: new, bound applied from 2030on + phase-out afterwards (cm_1stgen_phaseout <- 1)
For a more detailed discussion on the changes, please refer to the respective issue.