Skip to content

Commit

Permalink
Merge pull request #1863 from tabeado/EW_upscalingLimit
Browse files Browse the repository at this point in the history
Limits on upscaling for enhanced weathering
  • Loading branch information
tabeado authored Oct 17, 2024
2 parents c35e064 + 5e56a87 commit c3c8e16
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 1 deletion.
11 changes: 11 additions & 0 deletions main.gms
Original file line number Diff line number Diff line change
Expand Up @@ -905,6 +905,17 @@ parameter
;
cm_LimRock = 1000; !! def = 1000
*'

parameter
cm_33_EW_upScalingRateLimit "Annual growth rate limit on upscaling of mining & spreading rocks on fields"
;
cm_33_EW_upScalingRateLimit = 0.2; !! def = 20% !! regexp = is.nonnegative

parameter
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"
;
cm_33_EW_shortTermLimit = 0.005; !! def = 0.5% !! regexp = is.nonnegative

parameter
cm_expoLinear_yearStart "time at which carbon price increases linearly instead of exponentially"
;
Expand Down
6 changes: 6 additions & 0 deletions modules/33_CDR/portfolio/datainput.gms
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,12 @@ 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));

*** 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),
Expand Down
4 changes: 4 additions & 0 deletions modules/33_CDR/portfolio/declarations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ parameters
p33_fedem(all_te,all_enty) "final energy demand of each technology [EJ/GtC] (for EW the unit is [EJ/Gt stone])"
p33_LimRock(all_regi) "regional share of EW limit [fraction], calculated ex ante for a maximal annual amount of 8 Gt rock in D:\projects\CEMICS\paper_technical\supply_curve_transport_remind_regions.m"
p33_co2_rem_rate(rlf) "carbon removal rate [fraction of annual reduction of total carbon removal potential], multiplied with grade factor"
p33_EW_upScalingLimit(ttot) "Annual growth rate limit on upscaling of mining & spreading rocks on fields"
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"
;

positive variables
Expand Down Expand Up @@ -55,6 +57,8 @@ q33_EW_FEdemand(ttot,all_regi,all_enty) "calculates final energy demand from en
q33_EW_potential(ttot,all_regi,rlf) "limits the total potential of EW per region and grade"
q33_EW_emi(ttot,all_regi) "calculates amount of carbon captured by EW"
q33_EW_LimEmi(ttot,all_regi) "limits EW to a maximal annual amount of ground rock of cm_LimRock"
q33_EW_upscaling_rate(ttot, all_regi) "limits spreading of rock to a steep but credible upscaling rate"
q33_EW_ShortTermBound(ttot,all_regi) "Limits short term potential for enhanced weathering"

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)"
Expand Down
22 changes: 21 additions & 1 deletion modules/33_CDR/portfolio/equations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,27 @@ q33_EW_LimEmi(t,regi)..
=l=
cm_LimRock * p33_LimRock(regi)
;


***---------------------------------------------------------------------------
*' Short term bound on spreading of rock
***---------------------------------------------------------------------------

q33_EW_ShortTermBound(t, regi)$(t.val eq 2030)..
sum((rlf_cz33, rlf), v33_EW_onfield(t,regi,rlf_cz33,rlf))
=l=
p33_EW_shortTermEW_Limit(regi)
;

***---------------------------------------------------------------------------
*' 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.
***---------------------------------------------------------------------------
q33_EW_upscaling_rate(ttot,regi)$(ord(ttot) lt card(ttot) AND pm_ttot_val(ttot) gt 2030)..
sum((rlf_cz33, rlf), v33_EW_onfield(ttot,regi,rlf_cz33,rlf))
=l=
(1+p33_EW_upScalingLimit(ttot))**pm_dt(ttot) * sum((rlf_cz33, rlf), v33_EW_onfield(ttot-1,regi,rlf_cz33,rlf))
;

***---------------------------------------------------------------------------
*' #### OAE equations
Expand Down

0 comments on commit c3c8e16

Please sign in to comment.