Model Documentation

| Version 2.1.0

created with goxygen 0.29.0

33_CDR

CDR (33_CDR)

Description

The 33_CDR module calculates CO2 removed from the atmosphere by options other than BECCS or afforestation, which are calculated in the core.

Interfaces

Interfaces to other modules
Interfaces to other modules

Input

module inputs (A: all | B: DAC | C: off | D: weathering)
  Description Unit A B C D
cm_ccapturescen carbon capture option choice x
cm_gs_ew grain size (for enhanced weathering, CDR module) \(micrometre\) x x
cm_LimRock limit amount of rock spread each year \(Gt\) x x
cm_startyear first optimized modelling time step \(year\) x x
fm_dataemiglob
(all_enty, all_enty, all_te, all_enty)
read-in of emissions factors co2,cco2 x x
pm_eta_conv
(tall, all_regi, all_te)
Time-dependent eta for technologies that do not have explicit time-dependant etas, still eta converges until 2050 to dataglob_values. \(efficiency (0..1)\) x x
pm_pop
(tall, all_regi)
population data \(bn people\) x x
pm_ts
(tall)
(t_n+1 - t_n-1)/2 for a timestep t_n x x
sm_EJ_2_TWa multiplicative factor to convert from EJ to TWa x x x
sm_eps small number: 1e-9 x
vm_cap
(tall, all_regi, all_te, rlf)
net total capacities x x x x
vm_capFac
(ttot, all_regi, all_te)
capacity factor of conversion technologies x x x
vm_emiCdr
(ttot, all_regi, all_enty)
total (negative) emissions due to CDR technologies of each region. \(GtC\) x x x x
vm_omcosts_cdr
(tall, all_regi)
O&M costs for spreading grinded rocks on fields x x x x
vm_otherFEdemand
(ttot, all_regi, all_enty)
final energy demand from no transformation technologies (e.g. enhanced weathering) x x x x
vm_prodFe
(ttot, all_regi, all_enty, all_enty, all_te)
fe production. \(TWa\) x x

Output

module outputs
  Description Unit
vm_ccs_cdr
(ttot, all_regi, all_enty, all_enty, all_te, rlf)
CCS emissions from CDR \(GtC / a\)

Realizations

(A) all

In this realization, direct air capture and enhanced weathering can be used to remove CO2 from the atmosphere in addition to BECCS and afforestation. Based on Broehm et al. we assume an energy demand of 2 GJ/tCO2 electricity and 10 GJ/tCO2 heat for DAC which can be met via gas or H2. If gas is used, the resulting CO2 is captured with a capture rate of 90%. For EW, electricty is needed to grind the rocks and diesel is needed for transportation and spreading on crop fields.

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

\[\begin{multline*} \sum_{rlf2}\left(\sum\left(rlf, v33\_grindrock\_onfield(t,regi,rlf,rlf2)\right)\right) \leq \sum_{teNoTransform2rlf\_dyn33(te,rlf2)}\left( vm\_capFac(t,regi,"rockgrind") \cdot vm\_cap(t,regi,"rockgrind",rlf2)\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.

\[\begin{multline*} v33\_grindrock\_onfield\_tot(ttot,regi,rlf,rlf2) = v33\_grindrock\_onfield\_tot(ttot-1,regi,rlf,rlf2) \cdot exp\left(-p33\_co2\_rem\_rate(rlf) \cdot pm\_ts(ttot)\right) + v33\_grindrock\_onfield(ttot-1,regi,rlf,rlf2) \cdot \left(\sum_{tall \$ \left(\left(tall.val lt \left(ttot.val-\frac{pm\_ts(ttot)}{2}\right)\right) \$ \left(tall.val gt \left(ttot.val-pm\_ts(ttot)\right)\right)\right)}\left(exp\left(-p33\_co2\_rem\_rate(rlf) \cdot \left(ttot.val-tall.val\right)\right)\right)\right) + v33\_grindrock\_onfield(ttot,regi,rlf,rlf2) \cdot \left(\sum_{tall \$ \left(\left(tall.val le ttot.val\right) \$ \left(tall.val gt \left(ttot.val-\frac{pm\_ts(ttot)}{2}\right)\right)\right)}\left(exp\left(-p33\_co2\_rem\_rate(rlf) \cdot \left(ttot.val-tall.val\right)\right)\right)\right) \end{multline*}\]

Calculation of (negative) CO2 emissions from enhanced weathering.

\[\begin{multline*} v33\_emiEW(t,regi) = \sum_{rlf}\left( - \sum_{rlf2}v33\_grindrock\_onfield\_tot(t,regi,rlf,rlf2) \cdot s33\_co2\_rem\_pot \cdot \left(1 - exp\left(-p33\_co2\_rem\_rate(rlf)\right)\right) \right) \end{multline*}\]

Calculation of (negative) CO2 emissions from direct air capture. The first part of the equation describes emissions captured from the ambient air, the second part calculates the CO2 captured from the gas used for heat production assuming 90% capture rate.

\[\begin{multline*} v33\_emiDAC(t,regi) = -\sum_{teNoTransform2rlf\_dyn33(te,rlf2)}\left( vm\_capFac(t,regi,"dac") \cdot vm\_cap(t,regi,"dac",rlf2)\right) - \left(\frac{1 }{ pm\_eta\_conv(t,regi,"gash2c")}\right) \cdot fm\_dataemiglob("pegas","seh2","gash2c","cco2") \cdot vm\_otherFEdemand(t,regi,"fegas") \end{multline*}\]

Sum of all CDR emissions other than BECCS and afforestation, which are calculated in the core.

\[\begin{multline*} vm\_emiCdr(t,regi,"co2") = v33\_emiEW(t,regi) + v33\_emiDAC(t,regi) \end{multline*}\]

Calculation of energy demand of DAC and EW. The first part of the equation describes the electricity demand for grinding, the second part the diesel demand for transportation and spreading on crop fields. The third part is DAC electricity demand and the last part is DAC heat demand. Heat for DAC can be provided by gas or H2; vm_otherFEdemand(t,regi,“fegas”) is calculated as the total DAC energy demand for heat minus what is already covered by h2, i.e. vm_otherFEdemand(t,regi,“feh2s”) and vice versa.

\[\begin{multline*} vm\_otherFEdemand(t,regi,entyFe) = \sum_{rlf}\left( s33\_rockgrind\_fedem\$sameas(entyFe,"feels") \cdot sm\_EJ\_2\_TWa \cdot \sum_{rlf2}v33\_grindrock\_onfield(t,regi,rlf,rlf2)\right) + \sum_{rlf}\left( s33\_rockfield\_fedem\$sameas(entyFe,"fedie") \cdot sm\_EJ\_2\_TWa \cdot \sum_{rlf2}v33\_grindrock\_onfield(t,regi,rlf,rlf2)\right) - v33\_emiDAC(t,regi) \cdot sm\_EJ\_2\_TWa \cdot p33\_dac\_fedem(entyFe) - vm\_otherFEdemand(t,regi,"feh2s")\$sameas(entyFe,"fegas") - vm\_otherFEdemand(t,regi,"fegas")\$sameas(entyFe,"feh2s") \end{multline*}\]

Limit the amount of H2 from biomass to the demand without DAC.

\[\begin{multline*} vm\_prodSE(t,regi,"pebiolc","seh2",te)\$pe2se("pebiolc","seh2",te) \leq vm\_prodFe(t,regi,"seh2","feh2s","tdh2s") - vm\_otherFEdemand(t,regi,"feh2s") \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\$\left(rlf.val le 2\right)}\left( \sum_{rlf2}\left( \left(s33\_costs\_fix + p33\_transport\_costs(regi,rlf,rlf2)\right) \cdot v33\_grindrock\_onfield(t,regi,rlf,rlf2) \right) \right) \end{multline*}\]

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

\[\begin{multline*} \sum_{rlf2}v33\_grindrock\_onfield\_tot(t,regi,rlf,rlf2) \leq f33\_maxProdGradeRegiWeathering(regi,rlf) \end{multline*}\]

Preparation of captured emissions to enter the CCS chain.

\[\begin{multline*} \sum_{teCCS2rlf(te,rlf)} vm\_ccs\_cdr(t,regi,enty,enty2,te,rlf) = -v33\_emiDAC(t,regi) \end{multline*}\]

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

\[\begin{multline*} \sum_{rlf}\left( \sum\left(rlf2,v33\_grindrock\_onfield(t,regi,rlf,rlf2)\right) \right) \leq cm\_LimRock \cdot p33\_LimRock(regi) \end{multline*}\]

Limitations There are no known limitations.

(B) DAC

In this realization, direct air capture can be used to remove CO2 from the atmosphere in addition to BECCS and afforestation. Based on Broehm et al. we assume an energy demand of 2 GJ/tCO2 electricity and 10 GJ/tCO2 heat which can be met via gas or H2. If gas is used, the resulting CO2 is captured with a capture rate of 90%.

Calculation of (negative) CO2 emissions from direct air capture. The first part of the equation describes emissions captured from the ambient air, the second part calculates the CO2 captured from the gas used for heat production assuming 90% capture rate.

\[\begin{multline*} v33\_emiDAC(t,regi) = - \sum_{teNoTransform2rlf\_dyn33(te,rlf2)}\left( vm\_capFac(t,regi,"dac") \cdot vm\_cap(t,regi,"dac",rlf2)\right) - \left(\frac{1 }{ pm\_eta\_conv(t,regi,"gash2c")}\right) \cdot fm\_dataemiglob("pegas","seh2","gash2c","cco2") \cdot vm\_otherFEdemand(t,regi,"fegas") \end{multline*}\]

Sum of all CDR emissions other than BECCS and afforestation, which are calculated in the core.

\[\begin{multline*} vm\_emiCdr(t,regi,"co2") = v33\_emiDAC(t,regi) \end{multline*}\]

Calculation of energy demand of direct air capture. Heat can be provided by gas or H2; vm_otherFEdemand(t,regi,“fegas”) is calculated as the total energy demand for heat minus what is already covered by h2, i.e. vm_otherFEdemand(t,regi,“feh2s”) and vice versa.

\[\begin{multline*} vm\_otherFEdemand(t,regi,entyFe) = - vm\_emiCdr(t,regi,"co2") \cdot sm\_EJ\_2\_TWa \cdot p33\_dac\_fedem(entyFe) - vm\_otherFEdemand(t,regi,"feh2s")\$sameas(entyFe,"fegas") - vm\_otherFEdemand(t,regi,"fegas")\$sameas(entyFe,"feh2s") \end{multline*}\]

Preparation of captured emissions to enter the CCS chain.

\[\begin{multline*} \sum_{teCCS2rlf(te,rlf)} vm\_ccs\_cdr(t,regi,enty,enty2,te,rlf) = -vm\_emiCdr(t,regi,"co2") \end{multline*}\]

Limit the amount of H2 from biomass to the demand without DAC.

\[\begin{multline*} vm\_prodSE(t,regi,"pebiolc","seh2",te)\$pe2se("pebiolc","seh2",te) \leq vm\_prodFe(t,regi,"seh2","feh2s","tdh2s") - vm\_otherFEdemand(t,regi,"feh2s") \end{multline*}\]

Limitations There are no known limitations.

(C) off

In this realization, no additional CDR option other than BECCS and afforestation is available.

Limitations There are no known limitations.

(D) weathering

In this realization, enhanced weathering of rocks can be used to remove CO2 from the atmosphere in addition to BECCS and afforestation. Electricty is needed to grind the rocks and diesel is needed for transportation and spreading on crop fields.

Calculation of the energy demand of enhanced weathering. The first part of the equation describes the electricity demand for grinding, the second part the diesel demand for transportation and spreading on crop fields.

\[\begin{multline*} vm\_otherFEdemand(t,regi,entyFe)\$\left(sameas(entyFe,"feels") OR sameas(entyFe,"fedie")\right) = \sum_{rlf\$\left(rlf.val le 2\right)}\left( s33\_rockgrind\_fedem\$sameas(entyFe,"feels") \cdot sm\_EJ\_2\_TWa \cdot \sum_{rlf2}v33\_grindrock\_onfield(t,regi,rlf,rlf2)\right) + \sum_{rlf\$\left(rlf.val le 2\right)}\left( s33\_rockfield\_fedem\$sameas(entyFe,"fedie") \cdot sm\_EJ\_2\_TWa \cdot \sum_{rlf2}v33\_grindrock\_onfield(t,regi,rlf,rlf2)\right) \end{multline*}\]

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

\[\begin{multline*} \sum_{rlf2}\left(\sum_{rlf\$\left(rlf.val le 2\right)} v33\_grindrock\_onfield(t,regi,rlf,rlf2)\right) \leq \sum_{teNoTransform2rlf\_dyn33(te,rlf2)}\left( vm\_capFac(t,regi,"rockgrind") \cdot vm\_cap(t,regi,"rockgrind",rlf2)\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.

\[\begin{multline*} v33\_grindrock\_onfield\_tot(ttot,regi,rlf,rlf2)\$\left(rlf.val le 2\right) = v33\_grindrock\_onfield\_tot(ttot-1,regi,rlf,rlf2)\$\left(rlf.val le 2\right) \cdot exp\left(-p33\_co2\_rem\_rate(rlf)\$\left(rlf.val le 2\right) \cdot pm\_ts(ttot)\right) + v33\_grindrock\_onfield(ttot-1,regi,rlf,rlf2)\$\left(rlf.val le 2\right) \cdot \left(\sum_{tall \$ \left(\left(tall.val lt \left(ttot.val-\frac{pm\_ts(ttot)}{2}\right)\right) \$ \left(tall.val gt \left(ttot.val-pm\_ts(ttot)\right)\right)\right)}\left(exp\left(-p33\_co2\_rem\_rate(rlf)\$\left(rlf.val le 2\right) \cdot \left(ttot.val-tall.val\right)\right)\right)\right) + v33\_grindrock\_onfield(ttot,regi,rlf,rlf2)\$\left(rlf.val le 2\right) \cdot \left(\sum_{tall \$ \left(\left(tall.val le ttot.val\right) \$ \left(tall.val gt \left(ttot.val-\frac{pm\_ts(ttot)}{2}\right)\right)\right)}\left(exp\left(-p33\_co2\_rem\_rate(rlf)\$\left(rlf.val le 2\right) \cdot \left(ttot.val-tall.val\right)\right)\right)\right) \end{multline*}\]

Calculation of (negative) CO2 emissions from enhanced weathering.

\[\begin{multline*} v33\_emiEW(t,regi) = \sum_{rlf\$\left(rlf.val le 2\right)}\left( - \sum_{rlf2}v33\_grindrock\_onfield\_tot(t,regi,rlf,rlf2) \cdot s33\_co2\_rem\_pot \cdot \left(1 - exp\left(-p33\_co2\_rem\_rate(rlf)\right)\right) \right) \end{multline*}\]

Sum of all CDR emissions other than BECCS and afforestation, which are calculated in the core.

\[\begin{multline*} vm\_emiCdr(t,regi,"co2") = v33\_emiEW(t,regi) \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\$\left(rlf.val le 2\right)}\left( \sum_{rlf2}\left( \left(s33\_costs\_fix + p33\_transport\_costs(regi,rlf,rlf2)\right) \cdot v33\_grindrock\_onfield(t,regi,rlf,rlf2) \right) \right) \end{multline*}\]

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

\[\begin{multline*} \sum_{rlf2}\left(v33\_grindrock\_onfield\_tot(t,regi,rlf,rlf2)\$\left(rlf.val le 2\right)\right) \leq f33\_maxProdGradeRegiWeathering(regi,rlf)\$\left(rlf.val le 2\right) \end{multline*}\]

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

\[\begin{multline*} \sum_{rlf}\left( \sum\left(rlf2,v33\_grindrock\_onfield(t,regi,rlf,rlf2)\right) \right) \leq cm\_LimRock \cdot p33\_LimRock(regi) \end{multline*}\]

Limitations There are no known limitations.

Definitions

Objects

module-internal objects (A: all | B: DAC | C: off | D: weathering) (continued below)
  Description
f33_maxProdGradeRegiWeathering
(all_regi, rlf)
regional maximum potentials for enhanced weathering in Gt of grinded stone/a for different grades
p33_co2_rem_rate
(rlf)
carbon removal rate [fraction of annual reduction of total carbon removal potential], multiplied with grade factor
p33_dac_fedem
(all_enty)
specific heat and electricity demand for direct air capture
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_transport_costs
(all_regi, rlf, rlf)
transport costs
q33_capconst_dac
(ttot, all_regi)
calculates amount of carbon captured by DAC
q33_capconst_grindrock
(ttot, all_regi)
calculates amount of ground rock spred on fields
q33_ccsbal
(ttot, all_regi, all_enty, all_enty, all_te)
calculates CCS emissions from CDR technologies
q33_emicdrregi
(ttot, all_regi)
calculates the (negative) emissions due to CDR technologies
q33_emiEW
(ttot, all_regi)
calculates amount of carbon captured by EW
q33_grindrock_onfield_tot
(ttot, all_regi, rlf, rlf)
total amount of ground rock on fields
q33_H2bio_lim
(ttot, all_regi, all_te)
limits H2 from bioenergy to FE - otherFEdemand, i.e. no H2 from bioenergy for DAC
q33_LimEmiEW
(ttot, all_regi)
limits EW to a maximal annual amount of ground rock of cm_LimRock
q33_omcosts
(ttot, all_regi)
calculates O&M costs for spreading ground rocks on fields
q33_omcosts_onfield
(ttot, all_regi)
calculates O&M costs for spreading ground rocks on fields
q33_otherFEdemand
(ttot, all_regi, all_enty)
calculates final energy demand from no transformation technologies (e.g. enhanced weathering)
q33_potential
(ttot, all_regi, rlf)
limits the total potential of EW per region and grade
s33_co2_rem_pot specific carbon removal potential
s33_co2_rem_rate carbon removal rate
s33_costs_fix fixed costs for mining, grinding, spreading
s33_rockfield_fedem specific energy demand for spreading rocks on field
s33_rockgrind_fedem specific energy demand for grinding rocks
s33_step size of bins in v33_grindrock_onfield
v33_emiDAC
(ttot, all_regi)
carbon captured from DAC
v33_emiEW
(ttot, all_regi)
negative CO2 emission from EW
v33_grindrock_onfield
(ttot, all_regi, rlf, rlf)
amount of ground rock spread on fields in each timestep
v33_grindrock_onfield_tot
(ttot, all_regi, rlf, rlf)
total amount of ground rock on fields
  Unit A B C D
f33_maxProdGradeRegiWeathering
(all_regi, rlf)
x x
p33_co2_rem_rate
(rlf)
x x
p33_dac_fedem
(all_enty)
\(EJ/Gt of C captured\) x x
p33_LimRock
(all_regi)
x x
p33_transport_costs
(all_regi, rlf, rlf)
\(T\$/Gt stone\) x x
q33_capconst_dac
(ttot, all_regi)
x x
q33_capconst_grindrock
(ttot, all_regi)
x x
q33_ccsbal
(ttot, all_regi, all_enty, all_enty, all_te)
x x
q33_emicdrregi
(ttot, all_regi)
x x x
q33_emiEW
(ttot, all_regi)
x x
q33_grindrock_onfield_tot
(ttot, all_regi, rlf, rlf)
x x
q33_H2bio_lim
(ttot, all_regi, all_te)
x x
q33_LimEmiEW
(ttot, all_regi)
x x
q33_omcosts
(ttot, all_regi)
x
q33_omcosts_onfield
(ttot, all_regi)
x
q33_otherFEdemand
(ttot, all_regi, all_enty)
x x x
q33_potential
(ttot, all_regi, rlf)
x x
s33_co2_rem_pot \(Gt C/Gt ground rock\) x x
s33_co2_rem_rate \(fraction of annual reduction of total carbon removal potential\) x x
s33_costs_fix \(T\$/Gt stone\) x x
s33_rockfield_fedem \(EJ/Gt of ground rock\) x x
s33_rockgrind_fedem \(EJ/Gt of ground rock\) x x
s33_step \(Gt stone\) x x
v33_emiDAC
(ttot, all_regi)
\(GtC / a\) x x x
v33_emiEW
(ttot, all_regi)
\(GtC / a\) x x x
v33_grindrock_onfield
(ttot, all_regi, rlf, rlf)
\(Gt\) x x x x
v33_grindrock_onfield_tot
(ttot, all_regi, rlf, rlf)
\(Gt\) x x x x

Sets

sets in use
  description
adjte_dyn33(all_te) technologies with linearly growing constraint on control variable
all_enty all types of quantities
all_regi all regions
all_te all energy technologies, including from modules
ccs2te(all_enty, all_enty, all_te) chain for ccs
ccsCo2(all_enty) only cco2 (???)
enty(all_enty) all types of quantities
entyFe(all_enty) final energy types. Calculated in sets_calculations
in(all_in) All inputs and outputs of the CES function
modules all the available modules
pe2se(all_enty, all_enty, all_te) map primary energy carriers to secondary
regi(all_regi) all regions used in the solution process
rlf cost levels of fossil fuels
t(ttot) modeling time, usually starting in 2005, but later for fixed delay runs
tall time index
te(all_te) energy technologies
te_dyn33(all_te) all technologies
teAdj(all_te) technologies with adjustment costs on capacity additions
teCCS2rlf(all_te, rlf) mapping for CCS technologies to grades
teNoTransform(all_te) all technologies that do not transform energy but still have investment and O&M costs (like storage or grid)
teNoTransform_dyn33(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
teNoTransform2rlf_dyn33(all_te, rlf) mapping for final energy to grades
ttot(tall) time index with spin up

Authors

Jessica Strefler

See Also

core

References