pik-piam / remind2

The remind2 package contains the REMIND-specific routines for data and model output manipulation.
0 stars 40 forks source link

Report ocean CDR #629

Closed katarkow closed 3 weeks ago

katarkow commented 2 months ago

Ocean alkalinity enhancement (OAE) takes up CO2 into the ocean by spreading hydrated lime (Ca(OH)2) into the ocean. The amount of CO2 taken by the ocean can be found in vm_emiCdrTeDetail. Producing Ca(OH)2 from limestone (CaCO3) (a process called calcination) results in CO2, which is captured with a capture rate of 90%. The process can use gas (traditional calciner) or electricity/hydrogen (electric or novel calciner). The emissions from burning gas are also captured in the CDR module (similarly to gas used for DAC).

Due to <100% capture rate, there are unavoidable emissions (from gas and calcination) which get deduced from the CDR amount already in the CDR module.

vm_emiCdr(t,regi,"co2")
=e=
sum(te_used33, vm_emiCdrTeDetail(t,regi,te_used33))
+ (1 - s33_capture_rate) * (
    sum(te_ccs33, v33_co2emi_non_atm_gas(t, regi, te_ccs33))
    + sum(te_oae33, v33_co2emi_non_atm_calcination(t, regi, te_oae33))
)

The captured emissions (see eq below) end up either stored or released due to CCU.

sum(teCCS2rlf(te, rlf), vm_co2capture_cdr(t, regi, enty, enty2, te, rlf))
=e=
- vm_emiCdrTeDetail(t, regi, "dac")
+ s33_capture_rate * (
    sum(te_ccs33, v33_co2emi_non_atm_gas(t, regi, te_ccs33))
    + sum(te_oae33, v33_co2emi_non_atm_calcination(t, regi, te_oae33))
)

And that's where we were getting summation errors from (already for DAC only) since I split negative emissions from energy-related emissions. Here is my attempt to fix it. I know it's not perfect, but these emissions require refactoring anyway. For captured carbon from gas the CCU part of that is handled here and lands in Supply. I then add the CDR-related carbon on the supply side as well - gas to Emi|CO2|Energy|Supply|+|Gases w/ couple prod and calcination emissions which are basically fossil emissions to Emi|CO2|Energy|Supply|+|Solids w/ couple prod. This fixes the summation errors.

This PR introduces the following variables: