Skip to content

Commit

Permalink
fix further bugs in beccs qtty target
Browse files Browse the repository at this point in the history
  • Loading branch information
orichters committed Aug 5, 2024
1 parent faf3f29 commit ad87c88
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 21 deletions.
2 changes: 1 addition & 1 deletion main.gms
Original file line number Diff line number Diff line change
Expand Up @@ -1329,7 +1329,7 @@ $setGlobal cm_vehiclesSubsidies off !! def = off
*** cm_implicitQttyTarget "2050.GLO.sub.s.FE.electricity 0.8". The p47_implicitQttyTargetTax parameter will contain the subsidy necessary to achieve that goal.
*** Enforce a subsidy (sub) that guarantees a minimum share (s) of electricity in final energy (FE.electricity) equal to 80% (0.8) from 2050 (2050) onward in all World (GLO) regions.
*** The p47_implicitQttyTargetTax parameter will contain the subsidy necessary to achieve that goal.
*** To limit CCS to 8 GtCO2 and BECCS to 5 GtCO2, use "2050.GLO.tax.t.CCS.all 8000, 2050.GLO.tax.t.CCS.biomass 5000"
*** To limit CCS to 8 GtCO2 and BECCS (only Pe2Se, not industry) to 5 GtCO2, use "2050.GLO.tax.t.CCS.all 8000, 2050.GLO.tax.t.CCS.biomass 5000"
*** Example on how to use the switch with cm_implicitQttyTargetType = scenario:
*** cm_implicitQttyTarget "EU27_RpEUEff,EU27_bio4"
*** "EU27_RpEUEff" -> Enforce a tax that guarantees total FE will be lower or equal to the RePowerEU target for 2030.
Expand Down
15 changes: 7 additions & 8 deletions modules/47_regipol/regiCarbonPrice/equations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,22 @@ q47_implicitQttyTargetTax(t,regi)$(t.val ge max(2010,cm_startyear))..
=e=
sum((qttyTarget,qttyTargetGroup)$p47_implicitQttyTargetTax(t,regi,qttyTarget,qttyTargetGroup),
p47_implicitQttyTargetTax(t,regi,qttyTarget,qttyTargetGroup) * (
( sum(entyPe$energyQttyTargetANDGroup2enty(qttyTarget,qttyTargetGroup,entyPe), sum(pe2se(entyPe,entySe,te), vm_demPe.l(t,regi,entyPe,entySe,te)))
( sum(entyPe$energyQttyTargetANDGroup2enty(qttyTarget,qttyTargetGroup,entyPe), sum(pe2se(entyPe,entySe,te), vm_demPe(t,regi,entyPe,entySe,te)))
)$(sameas(qttyTarget,"PE"))
+
( sum(entySe$energyQttyTargetANDGroup2enty(qttyTarget,qttyTargetGroup,entySe), sum(se2fe(entySe,entyFe,te), vm_demSe.l(t,regi,entySe,entyFe,te)))
( sum(entySe$energyQttyTargetANDGroup2enty(qttyTarget,qttyTargetGroup,entySe), sum(se2fe(entySe,entyFe,te), vm_demSe(t,regi,entySe,entyFe,te)))
)$(sameas(qttyTarget,"SE"))
+
( sum(entySe$energyQttyTargetANDGroup2enty("FE",qttyTargetGroup,entySe), sum(se2fe(entySe,entyFe,te), sum((sector,emiMkt)$(entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt)), vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt))))
)$(sameas(qttyTarget,"FE") or sameas(qttyTarget,"FE_wo_b") or sameas(qttyTarget,"FE_wo_n_e") or sameas(qttyTarget,"FE_wo_b_wo_n_e"))
+
( sum(ccs2te(ccsCo2(enty),enty2,te), sum(teCCS2rlf(te,rlf),vm_co2CCS.l(t,regi,enty,enty2,te,rlf)))
( sum(ccs2te(ccsCo2(enty),enty2,te), sum(teCCS2rlf(te,rlf),vm_co2CCS(t,regi,enty,enty2,te,rlf)))
)$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"all"))
+
(( !! Supply side BECCS
sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail.l(t,regi,enty,enty2,te,enty3))
!! Industry BECCS (using biofuels in Industry with CCS)
+ sum((emiMkt,entySe,secInd37,entyFe)$entySeBio(entySe), pm_IndstCO2Captured(t,regi,entySe,entyFe,secInd37,emiMkt))
) * pm_share_CCS_CCO2(t,regi) )$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"biomass"))
( !! only supply side BECCS
sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail(t,regi,enty,enty2,te,enty3)
* sum(teCCS2rlf(te,rlf), vm_co2CCS.l(t,regi,"cco2","ico2",te,rlf)) / (sum(teCCS2rlf(te,rlf), vm_co2capture.l(t,regi,"cco2","ico2",te,rlf))+sm_eps)) !! pm_share_CCS_CCO2
)$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"biomass"))
)
)
-
Expand Down
10 changes: 3 additions & 7 deletions modules/47_regipol/regiCarbonPrice/postsolve.gms
Original file line number Diff line number Diff line change
Expand Up @@ -497,11 +497,9 @@ p47_implicitQttyTargetTax0(t,regi) =
( sum(ccs2te(ccsCo2(enty),enty2,te), sum(teCCS2rlf(te,rlf),vm_co2CCS.l(t,regi,enty,enty2,te,rlf)))
)$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"all"))
+
(( !! Supply side BECCS
sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail.l(t,regi,enty,enty2,te,enty3))
!! Industry BECCS (using biofuels in Industry with CCS)
+ sum((emiMkt,entySe,secInd37,entyFe)$entySeBio(entySe), pm_IndstCO2Captured(t,regi,entySe,entyFe,secInd37,emiMkt))
) * pm_share_CCS_CCO2(t,regi) )$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"biomass"))
( !! Only supply side BECCS
sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail.l(t,regi,enty,enty2,te,enty3)) * pm_share_CCS_CCO2(t,regi)
)$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"biomass"))
)
)
;
Expand Down Expand Up @@ -529,8 +527,6 @@ loop((ttot,ext_regi,taxType,targetType,qttyTarget,qttyTargetGroup)$pm_implicitQt
+
sum(regi$regi_groupExt(ext_regi,regi), ( !! Supply side BECCS
sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail.l(ttot,regi,enty,enty2,te,enty3))
!! Industry BECCS (using biofuels in Industry with CCS)
+ sum((emiMkt,entySe,secInd37,entyFe)$entySeBio(entySe), pm_IndstCO2Captured(ttot,regi,entySe,entyFe,secInd37,emiMkt))
) * pm_share_CCS_CCO2(ttot,regi))$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"biomass"))
);
if(sameas(targetType,"s"), !!relative target (s=share) (not applied to CCS)
Expand Down
8 changes: 3 additions & 5 deletions modules/47_regipol/regiCarbonPrice/presolve.gms
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,9 @@ p47_implicitQttyTargetTax0(t,regi) =
( sum(ccs2te(ccsCo2(enty),enty2,te), sum(teCCS2rlf(te,rlf),vm_co2CCS.l(t,regi,enty,enty2,te,rlf)))
)$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"all"))
+
(( !! Supply side BECCS
sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail.l(t,regi,enty,enty2,te,enty3))
!! Industry BECCS (using biofuels in Industry with CCS)
+ sum((emiMkt,entySe,secInd37,entyFe)$entySeBio(entySe), pm_IndstCO2Captured(t,regi,entySe,entyFe,secInd37,emiMkt))
) * pm_share_CCS_CCO2(t,regi) )$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"biomass"))
( !! Only supply side BECCS
sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail.l(t,regi,enty,enty2,te,enty3)) * pm_share_CCS_CCO2(t,regi)
)$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"biomass"))
)
)
;
Expand Down

0 comments on commit ad87c88

Please sign in to comment.