Add biochar as novel CDR approach (introduction of biopyrX technoloqies) - #2168
Conversation
dklein-pik
left a comment
There was a problem hiding this comment.
Thank you for this PR that I find very well documented and commented. I have only a few minor comments.
| pm_cf(ttot,regi,"tdh2b") = pm_cf(ttot,regi,"tdh2s"); | ||
| pm_cf(ttot,regi,"tdh2i") = pm_cf(ttot,regi,"tdh2s"); | ||
|
|
||
| *TD* Set capacity factors for pyrolysis technologies. *Move to mrremind for final implementation* |
There was a problem hiding this comment.
Is this not supposed to be the final implementation?
| vm_deltaCap.fx(t,regi,"biopyrliq",rlf)$(t.val ge cm_startyear) = 0; | ||
| else | ||
| vm_deltaCap.lo(t,regi,"biopyrliq",rlf)$(t.val gt cm_startyear) = 1.0e-8; !! initiate a negligible increase to help model find the technology | ||
| vm_deltaCap.up(t,regi,"biopyrliq",rlf)$(t.val gt cm_startyear) = 1e10; !! necessary to revert fixing to 0 |
There was a problem hiding this comment.
Fixing to zero can only happen if c_bioliqscen eq 0, right? If so, would you mind mentioning it here?
| *** or number (ex. 0.66), multiply by 0.66 Industry CSS cost markup | ||
| $setglobal cm_Industry_CCS_markup off !! def = off | ||
| *' Flag to change learning assumption for established pyrolysis technologies. 0 = not learning; any number = learning rate | ||
| *' Beware: you may need to start a new NPi if you want to have techs learning. |
There was a problem hiding this comment.
Why is this necessary? Is it only necessary if I want the technologies to learn also in the NPi and not just in the policy scenario, or is it also necessary if I want them to learn only in the policy scenario?
amerfort
left a comment
There was a problem hiding this comment.
Hi Tabea, thanks for doing all the great work and especially for the detailed documentation of parameter choices and rationales. It looks great from my side.
Maybe we can address David's point about endogenous learning and the necessity to have endogenously learning NPi runs as precursors for endogenously learning policy runs in a separate issue later on, as this is not the default setting.
| bioethl "biomass to ethanol" | ||
| bioeths "sugar and starch biomass to ethanol" | ||
| biodiesel "oil biomass to biodiesel" | ||
| biopyronly "biomass pyrolysis to biochar, no energy co-product (established industrial)" |
There was a problem hiding this comment.
I'm not sure where this is relevant for REMIND/GAMS. Intuitively it doesn't seem to be a renewable (energy) technology, if there are no energy co-products. But I'm sure there are good reasons to add it to this set.
|
addition: #2240 |

Purpose of this PR
This PR adds biochar to REMIND as described in issue550.
! new inputdata including mrremind-PR705 is required before merging! ✔️
! new reporting required remind2-PR744
Basic implementation logic:
There are 4 new pe2se technologies (
biopyrX) that transformpebiolcto the new secondary energy carriersebiochar. Thesebiocharcannot be used energetically, but is demanded by the dummy technologybiocharuseand accounted undervm_demSeOth. We further assign a monetary value to the produced product, given byp33_BiocharPrice. The totalvm_biocharRevenueis then added toqm_budget.Options to modify
(1)
c_biopyrEstablishedturns the 3 established biopyr technologies on/off -> default = ON(2)
c_biopyrliqturns the bioliquid tech on/off -> default = OFF(3)
cm_BClearningcan introduce capital cost learning for established tech -> default = OFF (because the other bioenergy technologies aren't learning endogenously either)(4)
cm_33_BCpriceFormadjusts the revenue for biochar -> default = declining price over time . Alternative: set constant price (also 0 = turning it completely off)Other
The implementation is based on a submitted paper. The parametrization choices are additionally documented in the code.
The addition of biochar as CDR option mainly has an effect for scenarios strongly limiting geologic CO2 storage availability.
Type of change
Indicate the items relevant for your PR by replacing ◻️ with ☑️.
Do not delete any lines. This makes it easier to understand which areas are affected by your changes and which are not.
Parts concerned
Impact
Checklist
Do not delete any line. Leave unfinished elements unchecked so others know how far along you are.
In the end all checkboxes must be ticked before you can merge.
make test) after my final commit and all tests pass (FAIL 0)remind2if and where it was neededforbiddenColumnNamesin readCheckScenarioConfig.R in case the PR leads to deprecated switchesCHANGELOG.mdcorrectly (added, changed, fixed, removed, input data/calibration)Further information (optional)
/p/tmp/tabeado/Biochar/remindv351/remind/outputand for the final version here: /p/tmp/tabeado/Biochar/remindv351Final