Skip to content

Commit

Permalink
Merge branch 'develop' of github.com:remindmodel/remind into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
Tonn Rüter committed Jun 13, 2024
2 parents f95e395 + 887f403 commit 117246b
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 41 deletions.
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -260,8 +260,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical
technology, policy and climate constraints. It also accounts for regional trade
characteristics on goods, energy fuels, and emissions allowances. All greenhouse
gas emissions due to human activities are represented in the model.
version: "3.3.0.dev338"
date-released: 2024-06-12
version: "3.3.0.dev344"
date-released: 2024-06-13
repository-code: https://github.com/remindmodel/remind
keywords:
- energy
Expand Down
2 changes: 1 addition & 1 deletion config/default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ cfg$validationmodel_name <- "VALIDATIONREMIND"

#### model version of the overall model (used for run statistics only).
# automatically generated for development versions, updated by hand for releases
cfg$model_version <- "3.3.0.dev338"
cfg$model_version <- "3.3.0.dev344"

#### settings ####
cfg$gms <- list()
Expand Down
55 changes: 26 additions & 29 deletions modules/37_industry/subsectors/equations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -81,51 +81,48 @@ $endif.exogDem_scen
*' energy mix, as that is what can be captured); vm_emiIndBase itself is not used for emission
*' accounting, just as a CCS baseline.
***------------------------------------------------------
q37_emiIndBase(t,regi,enty,secInd37)$( entyFeCC37(enty) OR sameas(enty,"co2cement_process") ) ..
vm_emiIndBase(t,regi,enty,secInd37)
q37_emiIndBase(t,regi,enty,secInd37)$( entyFeCC37(enty)
OR sameas(enty,"co2cement_process") ) ..
vm_emiIndBase(t,regi,enty,secInd37)
=e=
sum((secInd37_2_pf(secInd37,ppfen_industry_dyn37(in)),fe2ppfEn(entyFeCC37(enty),in)),
( vm_cesIO(t,regi,in)
- ( p37_chemicals_feedstock_share(t,regi)
* vm_cesIO(t,regi,in)
)$( in_chemicals_feedstock_37(in) )
)
*
sum(se2fe(entySeFos,enty,te),
pm_emifac(t,regi,entySeFos,enty,te,"co2")
)
)$(NOT secInd37Prc(secInd37))
+
(s37_clinker_process_CO2
* sum(se2fe(entySeFos,enty,te),
pm_emifac(t,regi,entySeFos,enty,te,"co2")
)
)$( NOT secInd37Prc(secInd37) )
+ ( s37_clinker_process_CO2
* p37_clinker_cement_ratio(t,regi)
* vm_cesIO(t,regi,"ue_cement")
/ sm_c_2_co2)$(sameas(enty,"co2cement_process") AND sameas(secInd37,"cement"))
+
sum((secInd37_tePrc(secInd37,tePrc),tePrc2opmoPrc(tePrc,opmoPrc)),
v37_emiPrc(t,regi,enty,tePrc,opmoPrc)
)$(secInd37Prc(secInd37))
/ sm_c_2_co2
)$( sameas(enty,"co2cement_process") AND sameas(secInd37,"cement") )
+ sum((secInd37_tePrc(secInd37,tePrc),tePrc2opmoPrc(tePrc,opmoPrc)),
v37_emiPrc(t,regi,enty,tePrc,opmoPrc)
)$( secInd37Prc(secInd37) )
;

***------------------------------------------------------
*' Compute maximum possible CCS level in industry sub-sectors given the current
*' CO2 price.
***------------------------------------------------------
q37_emiIndCCSmax(t,regi,emiInd37)$(
NOT sum(secInd37Prc,secInd37_2_emiInd37(secInd37Prc,emiInd37)) ) ..
NOT sum(secInd37Prc, secInd37_2_emiInd37(secInd37Prc,emiInd37)) ) ..
v37_emiIndCCSmax(t,regi,emiInd37)
=e=
!! map sub-sector emissions to sub-sector MACs
!! otherInd has no CCS, therefore no MAC, cement has both fuel and process
!! emissions under the same MAC
sum(emiMac2mac(emiInd37,macInd37),
!! add cement process emissions, which are calculated in core/preloop
!! from a econometric fit and might not correspond to energy use (FIXME)
( sum((secInd37_2_emiInd37(secInd37,emiInd37),entyFe),
vm_emiIndBase(t,regi,entyFe,secInd37)
)$( NOT sameas(emiInd37,"co2cement_process") )
+ ( vm_emiIndBase(t,regi,"co2cement_process","cement")
)$( sameas(emiInd37,"co2cement_process") )
)
!! map sub-sector emissions to sub-sector MACs
!! otherInd has no CCS, therefore no MAC, cement has both fuel and process
!! emissions under the same MAC
sum(emiMac2mac(emiInd37,macInd37),
( sum((secInd37_2_emiInd37(secInd37,emiInd37),entyFeCC37),
vm_emiIndBase(t,regi,entyFeCC37,secInd37)
)$( NOT sameas(emiInd37,"co2cement_process") )
+ ( vm_emiIndBase(t,regi,"co2cement_process","cement")
)$( sameas(emiInd37,"co2cement_process") )
)
* pm_macSwitch(macInd37) !! sub-sector CCS available or not
* pm_macAbatLev(t,regi,macInd37) !! abatement level at current price
)
Expand Down Expand Up @@ -176,8 +173,8 @@ q37_IndCCSCost(t,regi,emiInd37)$(
=e=
1e-3
* pm_macSwitch(emiInd37)
* ( sum((enty,secInd37_2_emiInd37(secInd37,emiInd37)),
vm_emiIndBase(t,regi,enty,secInd37)
* ( sum((entyFeCC37,secInd37_2_emiInd37(secInd37,emiInd37)),
vm_emiIndBase(t,regi,entyFeCC37,secInd37)
)$( NOT sameas(emiInd37,"co2cement_process") )
+ ( vm_emiIndBase(t,regi,"co2cement_process","cement")
)$( sameas(emiInd37,"co2cement_process") )
Expand Down
4 changes: 2 additions & 2 deletions modules/37_industry/subsectors/postsolve.gms
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@ pm_IndstCO2Captured(ttot,regi,entySe,entyFe(entyFeCC37),secInd37,emiMkt)$(
vm_emiIndCCS.l(ttot,regi,emiInd37)
) !! subsector captured energy emissions

/ sum(entyFE2,
vm_emiIndBase.l(ttot,regi,entyFE2,secInd37)
/ sum(entyFeCC37_2,
vm_emiIndBase.l(ttot,regi,entyFeCC37_2,secInd37)
) !! subsector total energy emissions
) !! subsector capture share
;
Expand Down
10 changes: 3 additions & 7 deletions modules/37_industry/subsectors/sets.gms
Original file line number Diff line number Diff line change
Expand Up @@ -624,14 +624,10 @@ pf_quan_target_dyn29(pf_quan_target_dyn37) = YES;
$endif.calibrate

teMat2rlf(tePrc,"1") = YES;
alias(tePrc,teCCPrc);
alias(tePrc,tePrc1);
alias(tePrc,tePrc2);
alias(opmoPrc,opmoCCPrc);
alias(opmoPrc,opmoPrc1);
alias(opmoPrc,opmoPrc2);
alias(tePrc,teCCPrc,tePrc1,tePrc2);
alias(opmoPrc,opmoCCPrc,opmoPrc1,opmoPrc2);
alias(route,route2);

alias(entyFeCC37,entyFeCC37_2);
alias(secInd37_2_pf,secInd37_2_pf2);
alias(fe2ppfEn37,fe2ppfEn37_2);
*** EOF ./modules/37_industry/subsectors/sets.gms

0 comments on commit 117246b

Please sign in to comment.