-
Lavinia Baumstark authoredLavinia Baumstark authored
equations.gms 3.52 KiB
*** | (C) 2006-2019 Potsdam Institute for Climate Impact Research (PIK)
*** | authors, and contributors see CITATION.cff file. This file is part
*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of
*** | AGPL-3.0, you are granted additional permissions described in the
*** | REMIND License Exception, version 1.0 (see LICENSE file).
*** | Contact: remind@pik-potsdam.de
*** SOF ./modules/37_industry/fixed_shares/equations.gms
*' Baseline (emitted and captured) emissions by final energy carrier and
*' industry subsector are calculated from final energy use in industry, the
*' subsectors' shares in that final energy carriers use, and the emission
*' factor the final energy carrier.
q37_macBaseInd(ttot,regi,entyFE,secInd37)$( ttot.val ge cm_startyear ) ..
vm_macBaseInd(ttot,regi,entyFE,secInd37)
=e=
sum((fe2ppfEn(entyFE,in),ces_industry_dyn37("enhi",in)),
vm_cesIO(ttot,regi,in)
* p37_shIndFE(regi,in,secInd37)
)
* p37_fctEmi(entyFE)
;
*' The maximum abatable emissions of a given type (industry subsector, fuel or
*' process) are calculated from the baseline emissions and the possible
*' abatement level (depending on the carbon price of the previous iteration).
q37_emiIndCCSmax(ttot,regi,emiInd37)$( ttot.val ge cm_startyear ) ..
v37_emiIndCCSmax(ttot,regi,emiInd37)
=e=
sum(emiMac2mac(emiInd37,macInd37),
( sum((secInd37_2_emiInd37(secInd37,emiInd37),entyFE),
vm_macBaseInd(ttot,regi,entyFE,secInd37)
)$( NOT sameas(emiInd37,"co2cement_process") )
+ (
vm_macBaseInd(ttot,regi,"co2cement_process","cement")
)$( sameas(emiInd37,"co2cement_process") )
)
* pm_macSwitch(macInd37)
* pm_macAbatLev(ttot,regi,macInd37)
)
;
*' Industry CCS is limited to below the maximum abatable emissions.
q37_IndCCS(ttot,regi,emiInd37)$( ttot.val ge cm_startyear ) ..
vm_emiIndCCS(ttot,regi,emiInd37)
=l=
v37_emiIndCCSmax(ttot,regi,emiInd37)
;
*' The CCS capture rates of cement fuel and process emissions are identical,
*' as they are captured in the same installation.
q37_cementCCS(ttot,regi)$( ttot.val ge cm_startyear
AND pm_macSwitch("co2cement")
AND pm_macAbatLev(ttot,regi,"co2cement") ) ..
vm_emiIndCCS(ttot,regi,"co2cement")
* v37_emiIndCCSmax(ttot,regi,"co2cement_process")
=e=
vm_emiIndCCS(ttot,regi,"co2cement_process")
* v37_emiIndCCSmax(ttot,regi,"co2cement")
;
*' Industry CCS costs (by subsector) are equal to the integral below the MAC
*' cost curve.
*' $$C_j = E_{\text{base},j} p \sum_{i = 1}^{n} \left(q_{n,j} - q_{i,j}\right)$$
*' with $E_\text{base}$ the baseline emissions, $p$ the price step, and $q_i$
*' the abatement fraction at step $i$ on the MAC.
q37_IndCCSCost(ttot,regi,emiInd37)$( ttot.val ge cm_startyear ) ..
vm_IndCCSCost(ttot,regi,emiInd37)
=e=
1e-3
* pm_macSwitch(emiInd37)
* ( sum((enty,secInd37_2_emiInd37(secInd37,emiInd37)),
vm_macBaseInd(ttot,regi,enty,secInd37)
)$( NOT sameas(emiInd37,"co2cement_process") )
+ (
vm_macBaseInd(ttot,regi,"co2cement_process","cement")
)$( sameas(emiInd37,"co2cement_process") )
)
* sm_dmac
* sum(emiMac2mac(emiInd37,enty),
( pm_macStep(ttot,regi,emiInd37)
* sum(steps$( ord(steps) eq pm_macStep(ttot,regi,emiInd37) ),
pm_macAbat(ttot,regi,enty,steps)
)
)
- sum(steps$( ord(steps) le pm_macStep(ttot,regi,emiInd37) ),
pm_macAbat(ttot,regi,enty,steps)
)
)
;
*** EOF ./modules/37_industry/fixed_shares/equations.gms