REMIND - REgional Model of INvestments and Development

3.7.0

created with goxygen 1.5.0

carbonRemoval (33_carbonRemoval)

Description

The 33_carbonRemoval module adds further options to remove CO2 from the atmosphere beyond BECCS and afforestation, which are calculated in the core. Currently, direct air carbon capture and storage (DACCS) and enhanced weathering of rocks (EW) are available, ocean alkalinization (OAE) implemented as ocean liming. All options can be switched on and off individually via the switches called cm_33[option abbreviation]. The module calculates capacities, emissions (including captured carbon), energy demand & supply, costs, and limitations associated with the different options.

Interfaces

Interface plot missing!

Input

module inputs (A: portfolio)
  Description Unit A
cm_33DAC choose whether DAC (direct air capture) should be included into the CDR portfolio. x
cm_33EW choose whether EW (enhanced weathering) should be included into the CDR portfolio. x
cm_33OAE choose whether OAE (ocean alkalinity enhancement) should be included into the CDR portfolio. 0 = OAE not used, 1 = used x
cm_33_BCpriceForm biochar price assumptions (revenue from using biochar in agriculture or construction) x
cm_33_EW_shortTermLimit Limit on 2030 potential for enhanced weathering, defined as % of land on which EW is applied. Default 0.5% of land x
cm_33_EW_upScalingRateLimit Annual growth rate limit on upscaling of mining & spreading rocks on fields x
cm_33_OAE_eff OAE efficiency measured in tCO2 uptaken by the ocean per tCaO. Typically between 0.9-1.4 (which corresponds to 1.2-1.8 molCO2/molCaO). \(tCO2/tCaO\) x
cm_33_OAE_limit_EEZ Global limit [Mt CO2 ocean uptake/a]. Upper bound on regions’ ocean uptake is set based on EEZ distribution. x
cm_33_OAE_scen OAE distribution scenarios x
cm_33_OAE_startyr The year when OAE could start being deployed \(year\) x
cm_33_maxFeShare max share of the CDR sectors’ FE demand in the region’s total FE demand, by FE type. Default is 10% x
cm_LimRock limit amount of rock spread each year \(Gt\) x
cm_ccapturescen carbon capture option choice, no carbon capture only if CCS and CCU are switched off! x
cm_frac_NetNegEmi tax on net negative emissions to reflect risk of overshooting, formulated as fraction of carbon price x
cm_gs_ew grain size (for enhanced weathering, CDR module) \(micrometre\) x
cm_startyear first optimized modelling time step \(year\) x
pm_dt
(tall)
difference to last timestep x
pm_emifac
(tall, all_regi, all_enty, all_enty, all_te, all_enty)
emission factor by technology for all types of energy-related emissions \(GtC/TWa, Mt CH4/TWa, Mt N/TWa, Mt SO2/TWa, Mt BC/TWa, Mt OC/TWa\) x
pm_gdp_gdx
(tall, all_regi)
GDP path from gdx, updated iteratively \(T\$\) x
pm_pop
(tall, all_regi)
population data \(bn people\) x
pm_taxCO2eqSum
(ttot, all_regi)
Total CO2 price including general trajectory (pm_taxCO2eq), regional markup (pm_taxCO2eqRegi) and social cost of carbon (pm_taxCO2eqSCC) [T\(/GtC]. Multiply by 272 to convert to\)/tCO2. x
pm_ts
(tall)
(t_n+1 - t_n-1)/2 for a timestep t_n x
pm_ttot_val
(ttot)
value of ttot set element x
sm_D2015_2_D2017 Convert US$2015 to US$2017 x
sm_EJ_2_TWa convert from Exa Joule to Tera Watt annum x
sm_c_2_co2 convert mass from carbon to CO2 (44/12) x
sm_eps small number: 1e-9 x
sm_giga_2_non giga to non x
sm_tBC_2_TWa t biochar to TWa biochar (28700 [MJ/tBC]*10^-12[EJ/MJ]/31.536[EJ/TWa]) x
sm_trillion_2_non trillion to non x
vm_cap
(tall, all_regi, all_te, rlf)
net total capacities [TW] for energy conversion technologies, [GtC] for CCS chain in ccs2te (pipelines/injection) x
vm_capFac
(ttot, all_regi, all_te)
capacity factor of conversion technologies \(share\) x
vm_cesIO
(tall, all_regi, all_in)
Production factor x
vm_demFeSector_afterTax
(ttot, all_regi, all_enty, all_enty, emi_sectors, all_emiMkt)
final energy demand per sector and emissions market after taxation, demand sectors should use this variable in their final energy balance equations so demand-side marginals include taxes effects \(TWa\) x
vm_demSeOth
(ttot, all_regi, all_enty, all_te)
other sety demand from certain technologies, have to calculated in additional equations \(TWa\) x
vm_emiAllco2neg
(ttot, all_regi)
net-negative CO2 emissions (as positive variable) x
vm_emiCdr
(ttot, all_regi, all_enty)
total (negative) CO2 emissions from CDR technologies that are calculated in the CDR module. Note that it includes all atmospheric CO2 entering the CCUS chain (i.e. CO2 stored (CDR) AND used (not CDR)) \(GtC\) x
vm_prodFe
(ttot, all_regi, all_enty, all_enty, all_te)
final energy production \(TWa\) x
vm_prodSe
(tall, all_regi, all_enty, all_enty, all_te)
secondary energy production (including only production as first product, not production as second (coupled) product) \(TWa\) x

Output

module outputs
  Description Unit
sm_capture_rate_cdrmodule CO2 capture rate for CDR energy and process emissions, i.e. fegas use in OAE and DAC and for calcination emissions in oae
vm_biocharRevenue
(ttot, all_regi)
Additional revenue from use of biochar \(tril\$\)
vm_co2capture_cdr
(ttot, all_regi, all_enty, all_enty, all_te, rlf)
total emissions captured through technologies in the CDR module that enter the CCUS chain + captured emissions from associated FE demand \(GtC / a\)
vm_co2emi_cdrFE_beforeCapture
(ttot, all_regi, all_te)
CO2 emissions from energy use in CDR-sector, before capture \(GtC / a\)
vm_emiCdrTeDetail
(ttot, all_regi, all_te)
gross (negative) emissions from CDR technologies in the CDR module by technology. Includes all atmospheric CO2 that enter the CCUS chain (i.e. CO2 stored (CDR) AND used (not CDR)) \(GtC / a\)
vm_omcosts_cdr
(tall, all_regi)
O&M costs for spreading grinded rocks on fields \(T\$\)

Realizations

(A) portfolio

(DAC) Direct air capture uses heat and electricity to capture CO2 from the atmosphere, which can then either be used or stored. Modelled is a low-temperature solid adsorbent process based on the climeworks technology described in Beuttler et al. 2019. We assume 5.28 EJ/Gt C (* 12 Gt C/44 Gt CO2) = 1.44 GJ/tCO2 (10^6 kJ / GJ 1h/3600s) = 400 kWh/tCO2 electricity and 21.12 EJ/Gt C (* 12 Gt C/44 Gt CO2) = 5,76 GJ/tCO2 (10^6 kJ / GJ 1h/3600s) = 1600 kWh/tCO2 low-temperature heat demand. The heat can be provided via district heat, electricity, gas, or H2. If gas is used, the resulting CO2 is captured with a capture rate of 90%.

(EW) Basalt is mined and ground to fine grain sizes (specified in cm_gs_ew, by default 20 µm), and then spread on crop fields where it weathers in reaction with water and atmospheric CO2. Electricity is needed to grind the rocks and diesel is needed for transportation and spreading on crop fields. The weathering process leads to an exponential decay over time of the spread rocks. There is an upper limit on the amount of rock that can be on the fields, so that in equilibrium only the part that decays in one timestep can be replaced in the next. In addition, an arbitrary limit of the amount of rock spread each year can be set in cm_LimRock. Costs consist of costs for capital, O&M, distribution and transport (grades depend on region specific transport distance from mine to fields).

(OAE) Ocean alkalinity enhancement via ocean liming draws down CO2 from the atmosphere by adding (hydrated) lime to the coastal or open ocean. Calcination process, which involves heating limestone to typically around 900-1000°C, results in lime (CaO) and CO2. The CO2 from the process as well as burning gas (if used for fueling the calciner) is assumed to be captured with a capture rate of 90%. The steps required to produce hydrated lime for ocean liming, including limestone extraction, comminution, calcination, and hydration, are already well-established and used at a large scale in the cement industry. Two options for ocean liming are parametrized: obtaining lime using a traditional calciner fueled by natural gas and a novel calciner that can be fueled by either electricity or hydrogen. The efficiency of the method depends on exogenous parameter cm_33_OAE_eff and distribution scenario (which can be optimistic or pesimistic depending on the discharge rate, e.g., how hard it is to avoid precipitation when distributing the alkaline material).

Equations for each option determine the capacity, emissions, energy demand, costs and limits.

DAC input data

FE demand from Beuttler et al. 2019 (Climeworks)

p33_fedem("dac", "feels") = 5.28; !! FE demand electricity for ventilation
p33_fedem("dac", "fehes") = 21.12; !! FE demand heat for material recovery

EW input data

fix costs [T$/Gt stone]. Data from strefler et al. in \(/t stone: mining, crushing, grinding (5.0 investment costs, 25.1 O&M costs), spreading (12.1 O&M costs) ``` s33_costs_fix = 0.0422; s33_co2_rem_pot = 0.3 * 12/44; !! default for basalt, for Olivine 1.1 ``` rock weathering rate (i.e. fraction of rock weathering per year) at ambient temperature (25 degree C), based on eq 2 in strefler, amann et al. (2018): wr = grain surface area based weathering rate (10^-10.53 mol m^-2 s^-1) * molar weight of basalt/forsterite (140.7 g/mol) * 3.155^7 s/a * specific surface area(depending on grain size cm_gs_ew) ``` s33_rock_weath_rate_ambientT = 10**(-10.53) * 125 * 3.155*10**7 * 69.18*(cm_gs_ew**(-1.24)); ``` rock weathering rate for different climate grades: SI Tab F-1 of strefler, amann et al. (2018) ``` p33_rock_weath_rate("1") = s33_rock_weath_rate_ambientT * 0.94; p33_rock_weath_rate("2") = s33_rock_weath_rate_ambientT * 0.29; ``` JeS FE demand fit from Thorben: SI D in strefler, amann et al. (2018) ``` p33_fedem("weathering", "feels") = 6.62 * cm_gs_ew**(-1.16); p33_fedem("weathering", "fedie") = 0.3; ``` Factor distributing the global rock limit across regions according to population ``` p33_LimRock(regi) = pm_pop("2005",regi) / sum(regi2,pm_pop("2005",regi2)); ``` Annual growth rate limit on upscaling of mining & spreading rocks on fields ``` p33_EW_upScalingLimit(ttot) = cm_33_EW_upScalingRateLimit; ``` Calculation of short term limit on rocks spread on field in terms of Gt rocks that can be spread. ``` p33_EW_shortTermEW_Limit(regi) = cm_33_EW_shortTermLimit * sum(rlf, f33_maxProdGradeRegiWeathering(regi, rlf)); ``` Narrative switch: what share of cropland can be used for EW? ``` parameter f33_EW_maxShareOfCropland(ext_regi) "Maximum share of cropland available for enhanced weathering by region" / %cm_33_EW_maxShareOfCropland% /; p33_EW_maxShareOfCropland(regi) = 1; !! if no value is assigned to GLO, the default share is set to 100% p33_EW_maxShareOfCropland(regi) = f33_EW_maxShareOfCropland("GLO"); !! if a value is assigned to GLO, this value is set for all regions loop(ext_regi\)f33_EW_maxShareOfCropland(ext_regi), p33_EW_maxShareOfCropland(regi)$(regi_groupExt(ext_regi, regi)) = f33_EW_maxShareOfCropland(ext_regi); );

#### Biochar input data
if deployment-independent path for biochar over time: fix price by timestep

parameter p33_BiocharPricePath(ttot,char) “Biochar price trajectories assumptions over time (independent of actual deployment) [US\(2015/t BC]" /\)ondelim \(include "./modules/33_carbonRemoval/portfolio/input/p33_BiocharPricePath.cs4r"\)offdelim /; p33_BiocharPricePath(ttot, char)\((ttot.val gt 2050) = p33_BiocharPricePath("2050", char); if (cm_33_BCpriceForm eq 1, p33_BiocharPrice(ttot) = p33_BiocharPricePath(ttot, "priceLow") / sm_tBC_2_TWa / sm_trillion_2_non * sm_D2015_2_D2017; elseif (cm_33_BCpriceForm eq 2), p33_BiocharPrice(ttot) = p33_BiocharPricePath(ttot, "priceHigh") / sm_tBC_2_TWa / sm_trillion_2_non * sm_D2015_2_D2017; else p33_BiocharPrice(ttot) = cm_33_BCpriceForm / sm_tBC_2_TWa / sm_trillion_2_non * sm_D2015_2_D2017; ); parameter p33_BiocharLimitCropland(all_regi) "Limits on Biochar deployment on land based on cropland in 2020. Assumption: max 50 t BC / ha / 10 yrs = 5 t BC / ha / yr. Unit: [Mt BC/ yr]" /\)ondelim \(include "./modules/33_carbonRemoval/portfolio/input/p33_BiocharLimitCropland.cs4r"\)offdelim /;

#### ocean alkalinity enhancement input data (Kowalczyk et al., 2024)

!! An assumption; generally the efficiency might vary between 0.9-1.4 tCO2/tCaO (1.2-1.8 molCO2/molCaO), !! depending on e.g., ocean chemistry and currents in a given region s33_OAE_efficiency = cm_33_OAE_eff / sm_c_2_co2; !! GtC (ocean uptake) per unit of GtCaO !! 0.78 tCO2 are emitted in the decomposition of limestone to produce 1 tCaO s33_OAE_chem_decomposition = 0.78 / sm_c_2_co2 / s33_OAE_efficiency; !! GtC from decomposition per 1GtC taken by the ocean, 0.78 t/tCaO p33_fedem(te_oae33, “feels”) = 1.0 / s33_OAE_efficiency; !! 996 MJ/tCaO, used for grinding, air separation, CO2 compression p33_fedem(te_oae33, “fehes”) = 3.1 / s33_OAE_efficiency; !! 3100 MJ/tCaO, used for calcination if(cm_33_OAE_scen = 0, !! pessimistic scenario for distribution, high diesel demand p33_fedem(te_oae33, “fedie”) = 2.6 / s33_OAE_efficiency; !! 2600 MJ/tCaO (corresponds to discharge rate of 30 t/h) ); !! fedie is used for inland transport of the material and maritime transport to distribute the material in the ocean if(cm_33_OAE_scen = 1, !! optimistic scenario for distribution, lower diesel demand p33_fedem(te_oae33, “fedie”) = 0.77 / s33_OAE_efficiency; !! 770 MJ/tCaO (corresponds to the discharge rate of 100 t/h) );

data for distribution of global oae limit based on EEZ size

Distribute global limit set for OAE based on size of EEZ

if (cm_33_OAE_limit_EEZ gt 0, p33_oae_eez_limit(regi) = cm_33_OAE_limit_EEZ / (sm_c_2_co2 * 1000) * p33_EEZdistribution(regi) ; !! [Mt CO2] / [Mt CO2/Gt C] * fraction = [Gt C] else p33_oae_eez_limit(regi) = 10; !! 10 Gt C ocean uptake effectively means no upper limit (i.e. 36.67 Gt CO2 by one region alone) );

#### All CDR qoptions
Upper bound for FE share by CDR approaches

p33_shfetot_up(t,regi,entyFe,sector)\((t.val ge 2040 AND sameAs(sector, "CDR") AND (sameAS(entyFe, "fedie") OR sameAS(entyFe, "feels") OR sameAS(entyFe, "fehes") OR sameAS(entyFe, "feh2s") OR sameAS(entyFe, "fegas"))) = cm_33_maxFeShare; v33_FE_total.l(t,regi,entyFe) = 0; parameter p33_GDP_NetNeg_share_s(ext_regi) "Maximum share of spending on NNE in GDP, global or region-specific" / %cm_33_GDP_netNegCDR_maxShare% /; p33_GDP_NetNeg_share(regi) = 1; !! if no value assigned to GLO, default is 100% p33_GDP_NetNeg_share(regi) = p33_GDP_NetNeg_share_s("GLO"); !! if a value is assigned to GLO, this value is set for all regions loop(ext_regi\)p33_GDP_NetNeg_share_s(ext_regi), p33_GDP_NetNeg_share(regi)$(regi_groupExt(ext_regi, regi)) = p33_GDP_NetNeg_share_s(ext_regi); ); ```

Equations concerning two or more options

CDR Final Energy Balance

\[\begin{multline*} \sum_{fe2cdr(entyFe,entyFe2,te\_used33)}\left( v33\_FEdemand(t,regi,entyFe,entyFe2,te\_used33) \right) = \sum_{\left(entySe,te\right)\$se2fe(entySe,entyFe,te)}\left( vm\_demFeSector\_afterTax(t,regi,entySe,entyFe,"cdr","ETS") \right) \end{multline*}\]

First part: Sum over CDR-module technologies’ dedicated negative emissions (Note: energy-supply side (BECCS, in the future biochar) and land-use CDR are handled in core) Second part: The gross negative emissions form oae are discounted by unavoidable
calcination emissions released due to <100 percent capture. Accounting note: The variable is the maximum potential, as if all captured carbon was stored. The net-effect is smaller, if not all captured carbon (vm_co2capture_cdr -> v_co2capture in core)
is stored but used for CCU (or vented by capturevalve). The net effect is only explicitly calculated in reportEmi.R. Furthermore, the CDR module might also capture energy related and CDR process emissions that are not part of vm_emiCdr but could lead to additional CDR if energy carrier is biogenic or synfuel.

\[\begin{multline*} vm\_emiCdr(t,regi,"co2") = \sum_{te\_used33} vm\_emiCdrTeDetail(t,regi,te\_used33) + \left(1 - sm\_capture\_rate\_cdrmodule\right) \cdot \sum_{te\_oae33}\left( v33\_co2emi\_non\_atm\_calcination\left(t, regi, te\_oae33\right) \right) \end{multline*}\]

Calculation of gross (negative) CO2 emissions from capacity. Negative emissions from enhanced weathering also result from decaying rock spread in previous timesteps, so emissions do not equal to the capacity (i.e., how much rock is spread in a given timestep).

\[\begin{multline*} vm\_emiCdrTeDetail\left(t, regi, te\_used33\right) = - \sum_{teNoTransform2rlf33\left(te\_used33, rlf\right)}\left( vm\_capFac\left(t, regi, te\_used33\right) \cdot vm\_cap\left(t, regi, te\_used33, rlf\right) \right) \end{multline*}\]

CO2 emissions from fegas consumption for heat production before capture (OAE and DAC)

\[\begin{multline*} vm\_co2emi\_cdrFE\_beforeCapture\left(t, regi, te\_ccs33\right) = pm\_emifac(t,regi,"segafos","fegas","tdfosgas","co2") \cdot \sum_{fe2cdr\left("fegas", entyFe2, te\_ccs33\right)}\left( v33\_FEdemand\left(t, regi,"fegas", entyFe2, te\_ccs33\right)\right) \end{multline*}\]

Preparation of captured emissions to enter the CCUS chain. The first part of the equation describes emissons captured from the ambient air, the second part is CO2 captured from energy usage (OAE or DAC) the third part is CO2 captured from calcination for OAE

\[\begin{multline*} \sum_{teCCS2rlf\left(te, rlf\right)}\left( vm\_co2capture\_cdr\left(t, regi, "cco2", "ico2", te, rlf\right)\right) = - vm\_emiCdrTeDetail\left(t, regi, "dac"\right) + sm\_capture\_rate\_cdrmodule \cdot \left( \sum_{te\_ccs33}\left( vm\_co2emi\_cdrFE\_beforeCapture\left(t, regi, te\_ccs33\right)\right) + \sum_{te\_oae33}\left( v33\_co2emi\_non\_atm\_calcination\left(t, regi, te\_oae33\right)\right) \right) \end{multline*}\]

Limit the amount of H2 from biomass to the demand without CDR. It’s a sustainability bound to prevent a large demand for biomass.

\[\begin{multline*} \sum_{pe2se("pebiolc","seh2",te)} vm\_prodSe(t,regi,"pebiolc","seh2",te) \leq vm\_prodFe(t,regi,"seh2","feh2s","tdh2s") - \sum_{fe2cdr("feh2s",entyFe2,te\_used33)} v33\_FEdemand(t,regi,"feh2s",entyFe2,te\_used33) \end{multline*}\]

DAC equations

Calculation of FE demand for DAC, i.e., electricity demand for ventilation, and heat demand.

\[\begin{multline*} \sum_{fe2cdr(entyFe,entyFe2,"dac")} v33\_FEdemand(t,regi,entyFe,entyFe2,"dac") = p33\_fedem\left("dac", entyFe2\right) \cdot sm\_EJ\_2\_TWa \cdot \left(- vm\_emiCdrTeDetail(t,regi,"dac")\right) \end{multline*}\]

EW equations

Calculation of the amount of ground rock spread in timestep t.

\[\begin{multline*} \sum_{rlf\_cz33, rlf} v33\_EW\_onfield(t,regi,rlf\_cz33,rlf) = \sum_{teNoTransform2rlf33("weathering",rlf)}\left( vm\_capFac(t,regi,"weathering") \cdot vm\_cap(t,regi,"weathering",rlf) \right) \end{multline*}\]

Calculation of the total amount of ground rock on the fields in timestep t. The first part of the equation describes the decay of the rocks added until that time, the rest describes the newly added rocks. The amounts already on or newly spread on the fields are multiplied with the total fraction remaining for the next time step, i.e. the fraction not weathering in the time step years. This fraction is generally calculated as (1-p33_rock_weath_rate)(time_step_years). For better solver solution, it is rewritten according to ab = exp(log(a)b) as exp(log(1-p33_rock_weath_rate) time_step_years).

\[\begin{multline*} v33\_EW\_onfield\_tot(ttot,regi,rlf\_cz33,rlf) = v33\_EW\_onfield\_tot(ttot-1,regi,rlf\_cz33,rlf) \cdot exp\left(log\left(1-p33\_rock\_weath\_rate(rlf\_cz33)\right) \cdot pm\_ts(ttot)\right) + v33\_EW\_onfield(ttot-1,regi,rlf\_cz33,rlf) \cdot \left( \sum_{tall\$\left(tall.val le \left(ttot.val -\frac{ pm\_ts(ttot)}{2}\right) and tall.val gt \left(ttot.val - pm\_ts(ttot)\right)\right)}\left( exp\left(log\left(1-p33\_rock\_weath\_rate(rlf\_cz33)\right) \cdot \left(ttot.val - tall.val\right)\right)\right) \right) + v33\_EW\_onfield(ttot,regi,rlf\_cz33,rlf) \cdot \left( \sum_{tall\$\left(tall.val le ttot.val and tall.val gt \left(ttot.val -\frac{ pm\_ts(ttot)}{2}\right)\right)}\left( exp\left(log\left(1-p33\_rock\_weath\_rate(rlf\_cz33)\right) \cdot \left(ttot.val-tall.val\right)\right)\right) \right) \end{multline*}\]

Calculation of (negative) CO2 emissions from enhanced weathering.

\[\begin{multline*} vm\_emiCdrTeDetail\left(t,regi, "weathering"\right) = \sum_{rlf\_cz33, rlf}\left( - v33\_EW\_onfield\_tot(t,regi,rlf\_cz33,rlf) \cdot s33\_co2\_rem\_pot \cdot p33\_rock\_weath\_rate(rlf\_cz33) \right) \end{multline*}\]

Calculation of FE demand for enhanced weathering, i.e., electricity demand for grinding, and the diesel demand for transportation and spreading on crop fields.

\[\begin{multline*} \sum_{fe2cdr(entyFe,entyFe2,"weathering")} v33\_FEdemand(t,regi,entyFe,entyFe2,"weathering") = p33\_fedem("weathering",entyFe2) \cdot sm\_EJ\_2\_TWa \cdot \sum_{rlf\_cz33, rlf} v33\_EW\_onfield(t,regi,rlf\_cz33,rlf) \end{multline*}\]

O&M costs of EW, consisting of fix costs for mining, grinding and spreading, and transportation costs.

\[\begin{multline*} vm\_omcosts\_cdr(t,regi) = \sum_{rlf\_cz33, rlf}\left( \left(s33\_costs\_fix + p33\_EW\_transport\_costs(regi,rlf\_cz33,rlf)\right) \cdot v33\_EW\_onfield(t,regi,rlf\_cz33,rlf) \right) \end{multline*}\]

Limit total amount of ground rock on the fields to regional maximum potentials.

\[\begin{multline*} \sum_{rlf} v33\_EW\_onfield\_tot(t,regi,rlf\_cz33,rlf) \leq p33\_EW\_maxShareOfCropland(regi) \cdot f33\_maxProdGradeRegiWeathering(regi,rlf\_cz33) \end{multline*}\]

An annual limit for the maximum global amount of rocks spread [Gt] can be set via cm_LimRock, e.g. due to sustainability concerns.

\[\begin{multline*} \sum_{rlf\_cz33, rlf} v33\_EW\_onfield(t,regi,rlf\_cz33,rlf) \leq cm\_LimRock \cdot p33\_LimRock(regi) \end{multline*}\]

Short term bound on spreading of rock

\[\begin{multline*} \sum_{rlf\_cz33, rlf} v33\_EW\_onfield(t,regi,rlf\_cz33,rlf) \leq p33\_EW\_shortTermEW\_Limit(regi) \end{multline*}\]

Limits on the upscaling rate of mining and spreading of rocks. Current cost parameters do not include cost of additional mining being developed, thus adjustment cost are not effective.

\[\begin{multline*} \sum_{rlf\_cz33, rlf} v33\_EW\_onfield(ttot,regi,rlf\_cz33,rlf) \leq \left(1+p33\_EW\_upScalingLimit(ttot)\right)^{pm\_dt(ttot) } \cdot \sum_{rlf\_cz33, rlf} v33\_EW\_onfield(ttot-1,regi,rlf\_cz33,rlf) + p33\_EW\_shortTermEW\_Limit(regi) \end{multline*}\]

Biochar equations

Revenue from Biochar

\[\begin{multline*} vm\_biocharRevenue\left(t, regi\right) = p33\_BiocharPrice(t) \cdot vm\_demSeOth(t,regi,"sebiochar","biocharuse") \end{multline*}\]

OAE equations

Calculation of FE demand for OAE, i.e., electricity for rock preprocessing, and heat for calcination.

\[\begin{multline*} \sum_{fe2cdr\left(entyFe, entyFe2, te\_oae33\right)}\left( v33\_FEdemand\left(t, regi, entyFe, entyFe2, te\_oae33\right)\right) = p33\_fedem\left(te\_oae33, entyFe2\right) \cdot sm\_EJ\_2\_TWa \cdot \left(- vm\_emiCdrTeDetail\left(t, regi, te\_oae33\right)\right) \end{multline*}\]

The CO2 captured from limestone decomposition (OAE technologies only).

\[\begin{multline*} v33\_co2emi\_non\_atm\_calcination\left(t, regi, te\_oae33\right) = - s33\_OAE\_chem\_decomposition \cdot vm\_emiCdrTeDetail\left(t, regi, te\_oae33\right) \end{multline*}\]

Limit OAE by region based on the regions’ share of the exclusive economic zone. There are still many uncertainties about whether OAE would more likely be done outside or inside EEZ. The equation is thus deactivated by default. Arguments in favor of OAE being done in EEZ, which can justify the distribution by EEZ in case the cost-efficient allocation via cm_implicitQttyTrgt is not feasible: 1. Tides lead to better mixing of the waters, thus more contact of the more alkaline surface waters with the atmosphere, leading to an expected higher CO2 uptake efficiency. 2. The generally lower water depth compared to the high seas helps OAE efficiency as the more alkaline surface waters don’t sink to the deep oceans as quickly/ easily. 3. Legal situation: likely easier to create a legal framework for EEZs than high seas, where a significantly larger number of countries would need to agree Potential issues to consider: 1. available EEZ-area is limited through other uses (fishing, offshore wind, marine protection etc.). Esp. marine protected areas are uncertain, as they are supposed to cover 30% of lgobal oceans by 2030 and are currently mainly in EEZ areas. Some could, however, also be primary target for OAE, e.g. with ecosystems susceptible to ocean acidification like coral reefs. 2. Sufficiency of available area: depending on deployment depth and time-scales until the new equilibrium is reached, the total EEZ area may not suffice for chosen uptake targets. At the default uptake efficiency of 1.2 tCO2/tCaO, 5 GtCO2 ocean uptake/yr corresponds ~ to distribution of CaO once a year on the entire EEZ area at 2m depth. 3. Uptake efficiency differs by local conditions, and high-efficiency areas may lie outside EEZ areas.

\[\begin{multline*} -p33\_oae\_eez\_limit(regi) \leq \sum_{te\_oae33}\left( vm\_emiCdrTeDetail\left(t,regi, te\_oae33\right)\right) \end{multline*}\]

Equations limiting CDR in the entire model

Limit the amount of FE for CDR to a given fraction of total FE

\[\begin{multline*} v33\_FEsector\_total(t,regi,entyFe,sector) = \sum_{emiMkt\$sector2emiMkt(sector,emiMkt)}\left( \sum_{entySe\$sefe(entySe,entyFe)}\left( vm\_demFeSector\_afterTax(t,regi,entySe,entyFe,sector,emiMkt)\right)\right) \end{multline*}\]

\[\begin{multline*} v33\_FE\_total(t,regi,entyFe) = \sum_{sector2emiMkt(sector,emiMkt)}\left( \sum_{entySe\$sefe(entySe,entyFe)}\left( vm\_demFeSector\_afterTax(t,regi,entySe,entyFe,sector,emiMkt)\$entyFe2Sector(entyFe,sector)\right)\right) \end{multline*}\]

\[\begin{multline*} v33\_shfeSector(t,regi,entyFe,sector) \cdot v33\_FE\_total(t,regi,entyFe) = v33\_FEsector\_total(t,regi,entyFe,sector) \end{multline*}\]

Limit spending on net negative emissions to a share of the region’s GDP Warning: This needs to be adapted if cm_NetNegEmi_calculation = 1 is used.

\[\begin{multline*} v33\_NetNegEmi\_expenses(t,regi) = \left(1-cm\_frac\_NetNegEmi\right) \cdot pm\_taxCO2eqSum(t,regi) \cdot vm\_emiAllco2neg(t,regi) \end{multline*}\]

Limitations There are no known limitations.

Definitions

Objects

module-internal objects (A: portfolio) (continued below)
  Description
f33_EW_maxShareOfCropland
(ext_regi)
Maximum share of cropland available for enhanced weathering by region
f33_maxProdGradeRegiWeathering
(all_regi, rlf)
regional maximum potentials for enhanced weathering in Gt of grinded stone/a for different grades
p33_BiocharLimitCropland
(all_regi)
Limits on Biochar deployment on land based on cropland in 2020. Assumption: max 50 t BC / ha / 10 yrs = 5 t BC / ha / yr. Unit:
p33_BiocharPrice
(ttot)
Biochar prices assumption
p33_BiocharPricePath
(ttot, char)
Biochar price trajectories assumptions over time (independent of actual deployment)
p33_EEZdistribution
(all_regi)
share in total EEZ area
p33_EW_maxShareOfCropland
(all_regi)
Share of cropland that can be used for enhanced weathering. Limits maximum amount of rocks weathering.
p33_EW_shortTermEW_Limit
(all_regi)
Limit on 2030 potential for enhanced weathering, defined in Gt rocks, based on % of land on which EW is applied
p33_EW_transport_costs
(all_regi, rlf, rlf)
transport costs
p33_EW_upScalingLimit
(ttot)
Annual growth rate limit on upscaling of mining & spreading rocks on fields
p33_FE_limit
(ttot, all_regi, all_enty, sector)
Maximum amount of FE for a sector based on p33_shfetot_up
p33_GDP_NetNeg_share
(all_regi)
Upper bound on share of expenses for net negative emissions in GDP
p33_GDP_NetNeg_share_s
(ext_regi)
Maximum share of spending on NNE in GDP, global or region-specific
p33_LimRock
(all_regi)
regional share of EW limit [fraction], calculated ex ante for a maximal annual amount of 8 Gt rock in D:_technical_curve_transport_remind_regions.m
p33_fedem
(all_te, all_enty)
final energy demand of each technology [EJ/GtC] (for EW the unit is [EJ/Gt stone])
p33_oae_eez_limit
(all_regi)
Regional limit on ocean uptake
p33_rock_weath_rate
(rlf)
fraction of stone weathering per year depending on climate grade (warm or temperate)
p33_shfetot_up
(ttot, all_regi, all_enty, sector)
Upper bound on share of a sector in final energy of a FE type
q33_DAC_FEdemand
(ttot, all_regi, all_enty)
calculates final energy demand from DAC
q33_EW_FEdemand
(ttot, all_regi, all_enty)
calculates final energy demand from enhanced weathering
q33_EW_LimEmi
(ttot, all_regi)
limits EW to a maximal annual amount of ground rock of cm_LimRock
q33_EW_ShortTermBound
(ttot, all_regi)
Limits short term potential for enhanced weathering
q33_EW_capconst
(ttot, all_regi)
calculates amount of ground rock spread on fields
q33_EW_emi
(ttot, all_regi)
calculates amount of carbon captured by EW
q33_EW_omcosts
(ttot, all_regi)
calculates O&M costs for spreading ground rocks on fields
q33_EW_onfield_tot
(ttot, all_regi, rlf, rlf)
total amount of ground rock on fields
q33_EW_potential
(ttot, all_regi, rlf)
limits the total potential of EW per region and grade
q33_EW_upscaling_rate
(ttot, all_regi)
limits spreading of rock to a steep but credible upscaling rate
q33_H2bio_lim
(ttot, all_regi)
limits H2 from bioenergy to FE - H2 demand from CDR, i.e. no H2 from bioenergy for DAC
q33_OAE_EEZ_limit
(ttot, all_regi)
sets upper bound on regional ocean uptake. A global limit is distributed according to size of the EEZ
q33_OAE_FEdemand
(ttot, all_regi, all_enty, all_te)
calculates final energy demand for ocean alkalinity enhancement
q33_OAE_co2emi_non_atm_calcination
(ttot, all_regi, all_te)
calculates the CO2 that comes from calcination (limestone decomposition)
q33_biocharRevenue
(ttot, all_regi)
calculates revenue from biochar use, biochar-price x quantity
q33_capconst
(ttot, all_regi, all_te)
calculates amount of carbon captured by DAC and OAE
q33_carbonRemovalspending
(ttot, all_regi)
expenses for net negative emissions relative to GDP
q33_cco2_cdr_fromFE
(ttot, all_regi, all_te)
calculates the amount of captured CO2 that comes from burning gas
q33_ccsbal
(ttot, all_regi)
calculates CCS emissions from CDR technologies
q33_demFeCDR
(ttot, all_regi, all_enty)
CDR demand balance for final energy
q33_emiCDR
(ttot, all_regi)
aggregates the (negative) emissions captured by the CDR technologies
q33_shfeSector_SectorTotal
(ttot, all_regi, all_enty, emi_sectors)
a sector’s final energy type demand
q33_shfeSector_Total
(ttot, all_regi, all_enty)
total FE demand in a region (aggregating similar fe types)
q33_shfeSector_share
(ttot, all_regi, all_enty, emi_sectors)
share of a sector’s final energy type demand in the region’s total FE type
s33_OAE_chem_decomposition the fraction of CO2 that comes from chemical decomposition in the calcination process
s33_OAE_efficiency the amount of rock required to sequester 1GtC
s33_OAE_glo_limit global limit for OAE
s33_co2_rem_pot specific carbon removal potential
s33_costs_fix fixed costs for mining, grinding, spreading
s33_rock_weath_rate_ambientT fraction of stone weathering per year at ambient temperature (25 degree C)
s33_step size of bins in v33_weathering_onfield
v33_EW_onfield
(ttot, all_regi, rlf, rlf)
amount of ground rock spread on fields in each timestep
v33_EW_onfield_tot
(ttot, all_regi, rlf, rlf)
total amount of ground rock on fields, for each climate zone and transportation distance
v33_FE_total
(ttot, all_regi, all_enty)
total FE demand in a region (aggregating similar fe types)
v33_FEdemand
(ttot, all_regi, all_enty, all_enty, all_te)
FE demand of each technology
v33_FEsector_total
(ttot, all_regi, all_enty, emi_sectors)
FE type demand by sector
v33_NetNegEmi_expenses
(ttot, all_regi)
expenses for net negative emissions
v33_co2emi_non_atm_calcination
(ttot, all_regi, all_te)
CO2 emissions from calcination before capture
v33_shfeSector
(ttot, all_regi, all_enty, emi_sectors)
share of a sector’s final energy type demand in the region’s total FE type
  Unit A
f33_EW_maxShareOfCropland
(ext_regi)
x
f33_maxProdGradeRegiWeathering
(all_regi, rlf)
x
p33_BiocharLimitCropland
(all_regi)
\(Mt BC/ yr\) x
p33_BiocharPrice
(ttot)
\(trilUS\$2017/TWa BC\) x
p33_BiocharPricePath
(ttot, char)
\(US\$2015/t BC\) x
p33_EEZdistribution
(all_regi)
\(fraction\) x
p33_EW_maxShareOfCropland
(all_regi)
x
p33_EW_shortTermEW_Limit
(all_regi)
x
p33_EW_transport_costs
(all_regi, rlf, rlf)
\(T\$/Gt stone\) x
p33_EW_upScalingLimit
(ttot)
x
p33_FE_limit
(ttot, all_regi, all_enty, sector)
x
p33_GDP_NetNeg_share
(all_regi)
x
p33_GDP_NetNeg_share_s
(ext_regi)
x
p33_LimRock
(all_regi)
x
p33_fedem
(all_te, all_enty)
x
p33_oae_eez_limit
(all_regi)
x
p33_rock_weath_rate
(rlf)
x
p33_shfetot_up
(ttot, all_regi, all_enty, sector)
x
q33_DAC_FEdemand
(ttot, all_regi, all_enty)
x
q33_EW_FEdemand
(ttot, all_regi, all_enty)
x
q33_EW_LimEmi
(ttot, all_regi)
x
q33_EW_ShortTermBound
(ttot, all_regi)
x
q33_EW_capconst
(ttot, all_regi)
x
q33_EW_emi
(ttot, all_regi)
x
q33_EW_omcosts
(ttot, all_regi)
x
q33_EW_onfield_tot
(ttot, all_regi, rlf, rlf)
x
q33_EW_potential
(ttot, all_regi, rlf)
x
q33_EW_upscaling_rate
(ttot, all_regi)
x
q33_H2bio_lim
(ttot, all_regi)
x
q33_OAE_EEZ_limit
(ttot, all_regi)
x
q33_OAE_FEdemand
(ttot, all_regi, all_enty, all_te)
x
q33_OAE_co2emi_non_atm_calcination
(ttot, all_regi, all_te)
x
q33_biocharRevenue
(ttot, all_regi)
x
q33_capconst
(ttot, all_regi, all_te)
x
q33_carbonRemovalspending
(ttot, all_regi)
x
q33_cco2_cdr_fromFE
(ttot, all_regi, all_te)
x
q33_ccsbal
(ttot, all_regi)
x
q33_demFeCDR
(ttot, all_regi, all_enty)
x
q33_emiCDR
(ttot, all_regi)
x
q33_shfeSector_SectorTotal
(ttot, all_regi, all_enty, emi_sectors)
x
q33_shfeSector_Total
(ttot, all_regi, all_enty)
x
q33_shfeSector_share
(ttot, all_regi, all_enty, emi_sectors)
x
s33_OAE_chem_decomposition x
s33_OAE_efficiency \(Gt rock / GtC\) x
s33_OAE_glo_limit \(tC / a\) x
s33_co2_rem_pot \(Gt C/Gt ground rock\) x
s33_costs_fix \(T\$/Gt stone\) x
s33_rock_weath_rate_ambientT x
s33_step \(Gt stone\) x
v33_EW_onfield
(ttot, all_regi, rlf, rlf)
\(Gt\) x
v33_EW_onfield_tot
(ttot, all_regi, rlf, rlf)
\(Gt\) x
v33_FE_total
(ttot, all_regi, all_enty)
x
v33_FEdemand
(ttot, all_regi, all_enty, all_enty, all_te)
\(TWa\) x
v33_FEsector_total
(ttot, all_regi, all_enty, emi_sectors)
x
v33_NetNegEmi_expenses
(ttot, all_regi)
x
v33_co2emi_non_atm_calcination
(ttot, all_regi, all_te)
\(GtC / a\) x
v33_shfeSector
(ttot, all_regi, all_enty, emi_sectors)
x

Sets

sets in use
  description
all_emiMkt emission markets
all_enty all types of quantities
all_in all inputs and outputs of the CES function
all_regi all regions
all_te all energy technologies, including from modules
ccs2te(all_enty, all_enty, all_te) chain for ccs
char characteristics of technologies
emi(all_enty) types of emissions, these emissions are given to the climate module
emi_sectors comprehensive sector set used for more detailed emissions accounting (REMIND-EU) and for CH4 tier 1 scaling - potentially to be integrated with similar set all_exogEmi
enty(all_enty) all types of quantities
entyFe(all_enty) final energy types.
entyFe2FeType(all_enty, all_enty) final energy categories mapping to final energy for CDR
entyFe2Sector(all_enty, emi_sectors) final energy (stationary and transportation) mapping to sectors (industry, buildings, transportation and cdr)
entySe(all_enty) secondary energy types
ext_regi extended regions list (includes subsets of H12 regions)
fe2cdr(all_enty, all_enty, all_te) mapping of FE carriers supplying FE demand for all technologies
pe2se(all_enty, all_enty, all_te) map primary energy carriers to secondary
regi(all_regi) all regions used in the solution process
regi_groupExt(ext_regi, all_regi) extended region group mapping. Mapping model regions that belong to region group, including one to one region mapping
rlf cost levels of fossil fuels
rlf_cz33(rlf) representing weathering rates depending on climate zones according to Strefler, Amann et al. (2017)
se2fe(all_enty, all_enty, all_te) map secondary energy to end-use energy using a technology
sector2emiMkt(emi_sectors, all_emiMkt) mapping sectors to emission markets
sefe(all_enty, all_enty) map secondary energy to final energy
t(ttot) optimisation time, years between cm_startyear and 2150 with 5 to 20 years time steps
tall time index, each year from 1900 to 3000
te(all_te) energy technologies
teAdj(all_te) technologies with adjustment costs on capacity additions
teAdj33(all_te) used CDR technologies with linearly growing constraint on control variable
teCCS2rlf(all_te, rlf) mapping for CCS technologies to grades
teLearn(all_te) Learning technologies (for which investment costs are reduced endogenously through capacity deployment).
teLearn33(all_te) used learning CDR technologies
teNoTransform(all_te) all technologies that do not transform energy but still have investment and O&M costs (like storage or grid)
teNoTransform2rlf(all_te, rlf) mapping for no transformation technologies to grades
teNoTransform2rlf33(all_te, rlf) mapping for final energy to grades (used CDR technologies)
teNoTransform33(all_te) used CDR technologies that do not transform energy but still have investment and O&M costs (like storage or grid)
te_all33(all_te) all CDR technologies
te_ccs33(all_te) used CDR technologies that require CCS
te_oae33(all_te) OAE technologies used
te_used33(all_te) used CDR technologies (specified by switches)
ttot(tall) time index with spin-up, years between 1900 and 2150 with 5 to 20 years time steps

Authors

Jessica Strefler, Katarzyna Kowalczyk, Anne Merfort, Tabea Dorndorf

See Also

01_macro, 21_tax, 46_carbonpriceRegi, 47_regipol, core

References