REMIND - REgional Model of INvestments and Development

3.7.1

created with goxygen 1.5.1

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_rockRemPot Maximum CO2 removal potential per ton of rock (t CO2 / t rock). 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_frac_NetNegEmi tax on net negative emissions to reflect risk of overshooting, formulated as fraction of carbon price 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_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_EW_transport_costs
(tall, all_regi)
O&M costs for transporting ground rocks from mines to fields \(T\$\)
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\)

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 (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 spreading on crop fields. Transport costs from mine to fields depend on distance grades. In addition, capital cost for mining and production, and O&M cost for mining and spreading on fields are added. The amount of rock that can be spread on fields is limited by the maximum potential for enhanced weathering, which depends on the region and climate grade. 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. The share of suitable fields that can be used for spreading rocks can be adjusted via cm_33_EW_maxShareOfCropland.

(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. (Overarching) This module further limits the amount of final energy that can be used for CDR technologies (via cm_33_maxFeShare), and the share of GDP that can be spent on net negative emissions (via cm_33_GDP_netNegCDR_maxShare). It also contains the biochar material value price assumption and revenue calculation.

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

s33_rockRemPot = cm_33_EW_rockRemPot / sm_c_2_co2;       !! default for basalt is 0.3 t CO2/t rock, for Olivine 1.1 t CO2/t rock. Converted to t C/t rock.

Sources for loss pathways that would reduce the total removal potential per ton rock: https://www.carbon-drawdown.de/blog/2026-7-18-where-does-the-co-removal-potential-of-enhanced-weathering-actually-go; https://cdrxiv.org/preprint/417 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.15510^7 s/a specific surface area(depending on grain size s33_rockGrainSize)

s33_rock_weath_rate_ambientT = 10**(-10.53) * 125 * 3.155*10**7 * 69.18*(s33_rockGrainSize**(-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 * s33_rockGrainSize**(-1.16);    !! electricity for grinding of rocks, depends on the grain size. 
p33_fedem("weathering", "fedie") = 0.3;                         !! diesel for spreading rocks on fields using tractors

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 suitable 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\_rockRemPot \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 spreading rocks 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*}\]

Transport cost for rocks from mine to field

\[\begin{multline*} vm\_EW\_transport\_costs(t,regi) = \sum_{rlf\_cz33, rlf}\left( p33\_EW\_transport\_costs(regi,rlf\_cz33,rlf) \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*}\]

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)
  Description Unit A
f33_EW_maxShareOfCropland
(ext_regi)
Maximum share of suitable cropland available for enhanced weathering by region x
f33_maxProdGradeRegiWeathering
(all_regi, rlf)
regional maximum potentials for enhanced weathering in Gt of ground rock/a for different grades x
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\) x
p33_BiocharPrice
(ttot)
Biochar prices assumption \(trilUS\$2017/TWa BC\) x
p33_BiocharPricePath
(ttot, char)
Biochar price trajectories assumptions over time (independent of actual deployment) \(US\$2015/t BC\) x
p33_EEZdistribution
(all_regi)
share in total EEZ area \(fraction\) x
p33_EW_maxShareOfCropland
(all_regi)
Share of cropland that can be used for enhanced weathering. Limits maximum amount of rocks weathering. x
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 x
p33_EW_transport_costs
(all_regi, rlf, rlf)
transport costs \(T\$/Gt rock\) x
p33_EW_upScalingLimit
(ttot)
Annual growth rate limit on upscaling of mining & spreading rocks on fields x
p33_FE_limit
(ttot, all_regi, all_enty, sector)
Maximum amount of FE for a sector based on p33_shfetot_up x
p33_GDP_NetNeg_share
(all_regi)
Upper bound on share of expenses for net negative emissions in GDP x
p33_GDP_NetNeg_share_s
(ext_regi)
Maximum share of spending on NNE in GDP, global or region-specific x
p33_fedem
(all_te, all_enty)
final energy demand of each technology [EJ/GtC] (for EW the unit is [EJ/Gt rock]) x
p33_oae_eez_limit
(all_regi)
Regional limit on ocean uptake x
p33_rock_weath_rate
(rlf)
fraction of stone weathering per year depending on climate grade (warm or temperate) x
p33_shfetot_up
(ttot, all_regi, all_enty, sector)
Upper bound on share of a sector in final energy of a FE type x
q33_DAC_FEdemand
(ttot, all_regi, all_enty)
calculates final energy demand from DAC x
q33_EW_FEdemand
(ttot, all_regi, all_enty)
calculates final energy demand from enhanced weathering for grinding and spreading rocks on fields x
q33_EW_ShortTermBound
(ttot, all_regi)
Limits short term potential for enhanced weathering x
q33_EW_capconst
(ttot, all_regi)
calculates amount of ground rock spread on fields x
q33_EW_emi
(ttot, all_regi)
calculates amount of carbon captured by EW x
q33_EW_onfield_tot
(ttot, all_regi, rlf, rlf)
total amount of ground rock on fields x
q33_EW_potential
(ttot, all_regi, rlf)
limits the total potential of EW per region and grade x
q33_EW_transportCosts
(ttot, all_regi)
calculates transport costs for transporting ground rocks from mines to fields x
q33_EW_upscaling_rate
(ttot, all_regi)
limits spreading of rock to a steep but credible upscaling rate x
q33_H2bio_lim
(ttot, all_regi)
limits H2 from bioenergy to FE - H2 demand from CDR, i.e. no H2 from bioenergy for DAC x
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 x
q33_OAE_FEdemand
(ttot, all_regi, all_enty, all_te)
calculates final energy demand for ocean alkalinity enhancement x
q33_OAE_co2emi_non_atm_calcination
(ttot, all_regi, all_te)
calculates the CO2 that comes from calcination (limestone decomposition) x
q33_biocharRevenue
(ttot, all_regi)
calculates revenue from biochar use, biochar-price x quantity x
q33_capconst
(ttot, all_regi, all_te)
calculates amount of carbon captured by DAC and OAE x
q33_carbonRemovalspending
(ttot, all_regi)
expenses for net negative emissions relative to GDP x
q33_cco2_cdr_fromFE
(ttot, all_regi, all_te)
calculates the amount of captured CO2 that comes from burning gas x
q33_ccsbal
(ttot, all_regi)
calculates CCS emissions from CDR technologies x
q33_demFeCDR
(ttot, all_regi, all_enty)
CDR demand balance for final energy x
q33_emiCDR
(ttot, all_regi)
aggregates the (negative) emissions captured by the CDR technologies x
q33_shfeSector_SectorTotal
(ttot, all_regi, all_enty, emi_sectors)
a sector’s final energy type demand x
q33_shfeSector_Total
(ttot, all_regi, all_enty)
total FE demand in a region (aggregating similar fe types) x
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 x
s33_OAE_chem_decomposition the fraction of CO2 that comes from chemical decomposition in the calcination process x
s33_OAE_efficiency the amount of rock required to sequester 1GtC \(Gt rock / GtC\) x
s33_OAE_glo_limit global limit for OAE \(tC / a\) x
s33_rockGrainSize grain size of ground rock, influences electricity demand and weathering rate. By default 20 micrometer based on Strefler et al. (2018) \(micrometre\) x
s33_rockRemPot specific carbon removal potential \(t C / t rock\) x
s33_rock_weath_rate_ambientT fraction of stone weathering per year at ambient temperature (25 degree C) x
s33_step size of bins in v33_EW_onfield_tot \(Gt rock\) x
v33_EW_onfield
(ttot, all_regi, rlf, rlf)
amount of ground rock spread on fields in each timestep \(Gt rock / a\) x
v33_EW_onfield_tot
(ttot, all_regi, rlf, rlf)
total amount of ground rock on fields, for each climate zone and transportation distance \(Gt rock\) x
v33_FE_total
(ttot, all_regi, all_enty)
total FE demand in a region (aggregating similar fe types) x
v33_FEdemand
(ttot, all_regi, all_enty, all_enty, all_te)
FE demand of each technology \(TWa\) x
v33_FEsector_total
(ttot, all_regi, all_enty, emi_sectors)
FE type demand by sector x
v33_NetNegEmi_expenses
(ttot, all_regi)
expenses for net negative emissions x
v33_co2emi_non_atm_calcination
(ttot, all_regi, all_te)
CO2 emissions from calcination before capture \(GtC / a\) x
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 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