Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add empty seleton for industry ccu #1839

Draft
wants to merge 2 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion core/sets.gms
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ $ENDIF.WindOff
seceaf "Route: Scrap-loaded EAF"
pcc "outdated technology, only here to avoid compilation errors if input data containing information for this technology are used"
pco "outdated technology, only here to avoid compilation errors if input data containing information for this technology are used"
*** transport technologies for deleted realization complex of module 35_transport
*** transport technologies for deleted realization complex of module 35_transport
*** only here to make it possible to process input data that still includes data for these obsolete transport technologies
apCarPeT "outdated transport technology"
apCarDiT "outdated transport technology"
Expand Down Expand Up @@ -415,6 +415,8 @@ all_enty "all types of quantities"
ueelTt "transport useful energy for electric trains"

!! materials, feedstock, and industrial goods
co2f "feedstock CO2"

prsteel "Primary steel"
sesteel "Secondary steel"
dri "Directly reduced iron"
Expand Down
2 changes: 1 addition & 1 deletion core/sets_calculations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ peRicardian(enty) = peBio(enty) + peEx(enty);
en2se(enty,enty2,te) = pe2se(enty,enty2,te) + se2se(enty,enty2,te);

en2en(enty,enty2,te) = pe2se(enty,enty2,te) + se2se(enty,enty2,te) + se2fe(enty,enty2,te) + fe2ue(enty,enty2,te) + ccs2te(enty,enty2,te) + fe2mat(enty,enty2,te);
te2rlf(te,rlf) = teFe2rlf(te,rlf) + teSe2rlf(te,rlf) + teue2rlf(te,rlf) + teCCS2rlf(te,rlf) + teCCU2rlf2(te,rlf) +teNoTransform2rlf(te,rlf) + teFe2rlfH2BI(te,rlf) + teMat2rlf(te,rlf);
te2rlf(te,rlf) = teFe2rlf(te,rlf) + teSe2rlf(te,rlf) + teue2rlf(te,rlf) + teCCS2rlf(te,rlf) + teSeCCU2rlf(te,rlf) +teNoTransform2rlf(te,rlf) + teFe2rlfH2BI(te,rlf) + teMat2rlf(te,rlf);
***----------------------------------------------------------------------------
*** Fill sets that were created empty and should be filled from the mappings above
***----------------------------------------------------------------------------
Expand Down
5 changes: 2 additions & 3 deletions modules/37_industry/subsectors/equations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ $endif.exogDem_scen
***------------------------------------------------------
q37_emiIndBase(t,regi,enty,secInd37)$(
entyFeCC37(enty)
OR ( sameas(enty,"co2cement_process")
OR ( sameas(enty,"co2cement_process")
AND cm_CCS_cement eq 1 ) ) ..
vm_emiIndBase(t,regi,enty,secInd37)
=e=
Expand Down Expand Up @@ -437,8 +437,7 @@ q37_emiPrc(t,regi,entyFe,tePrc,opmoPrc) ..
***------------------------------------------------------
*' Carbon capture processes can only capture as much co2 as the base process and the CCS process combined emit
***------------------------------------------------------
q37_limitOutflowCCPrc(t,regi,teCCPrc)$(
sum((tePrc,opmoPrc,opmoCCPrc),tePrc2teCCPrc(tePrc,opmoPrc,teCCPrc,opmoCCPrc)) ) ..
q37_limitOutflowCCPrc(t,regi,teCCPrc) ..
sum(tePrc2opmoPrc(teCCPrc,opmoCCPrc),
vm_outflowPrc(t,regi,teCCPrc,opmoCCPrc)
)
Expand Down
25 changes: 15 additions & 10 deletions modules/37_industry/subsectors/sets.gms
Original file line number Diff line number Diff line change
Expand Up @@ -381,17 +381,21 @@ $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
$endif.cm_subsec_model_steel
/

teCCPrc(tePrc) "Technologies used in process-based model (only CCS)"
teCCPrc(all_te) "Technologies used in process-based model (only CCS)"
/
$$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
bfcc
idrcc
$$endif.cm_subsec_model_steel
$endif.cm_subsec_model_steel
/

teCUPrc(all_te) "Technologies using CO2 as a feedstock"
/
/

mat(all_enty) "Materials considered in process-based model; Can be input and/or output of a process"
/
co2f
$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
prsteel
sesteel
Expand All @@ -406,6 +410,7 @@ $endif.cm_subsec_model_steel

matIn(all_enty) "Materials which serve as input to a process"
/
co2f
$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
eafscrap "Steel scrap used in EAF"
bofscrap "Steel scrap used in BOF"
Expand Down Expand Up @@ -482,7 +487,7 @@ $endif.cm_subsec_model_steel
*** B) mappings
*** -----------------------

tePrc2opmoPrc(tePrc,opmoPrc) "Mapping of technologies onto available operation modes"
tePrc2opmoPrc(all_te,opmoPrc) "Mapping of technologies onto available operation modes"
/
$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
idr . (ng,h2)
Expand All @@ -494,7 +499,7 @@ $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
$endif.cm_subsec_model_steel
/

tePrc2matIn(tePrc,opmoPrc,mat) "Mapping of technologies onto input materials"
tePrc2matIn(all_te,opmoPrc,mat) "Mapping of technologies onto input materials"
/
$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
idr . (h2,ng) . dripell
Expand All @@ -505,7 +510,7 @@ $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
$endif.cm_subsec_model_steel
/

tePrc2matOut(tePrc,opmoPrc,mat) "Mapping of industry process technologies onto their output materials"
tePrc2matOut(all_te,opmoPrc,mat) "Mapping of industry process technologies onto their output materials"
/
$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
bf . standard . pigiron
Expand All @@ -516,7 +521,7 @@ $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
$endif.cm_subsec_model_steel
/

tePrc2ue(tePrc,opmoPrc,all_in) "Mapping of industry process technologies to the UE ces nodes they directly or indirectly feed into"
tePrc2ue(all_te,opmoPrc,all_in) "Mapping of industry process technologies to the UE ces nodes they directly or indirectly feed into"
/
$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
(bf,bfcc) . standard . ue_steel_primary
Expand All @@ -528,15 +533,15 @@ $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
$endif.cm_subsec_model_steel
/

tePrc2teCCPrc(tePrc,opmoPrc,tePrc,opmoPrc) "Mapping of base technologies to CCS technologies"
tePrc2teCCPrc(all_te,opmoPrc,all_te,opmoPrc) "Mapping of base technologies to CCS technologies"
/
$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
bf . standard . bfcc . standard
idr . ng . idrcc . ng
$endif.cm_subsec_model_steel
/

tePrc2route(tePrc,opmoPrc,route) "Mapping of technologies onto the production routes they belong to"
tePrc2route(all_te,opmoPrc,route) "Mapping of technologies onto the production routes they belong to"
/
$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
eaf . sec . seceaf
Expand Down Expand Up @@ -575,7 +580,7 @@ $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
$endif.cm_subsec_model_steel
/

secInd37_tePrc(secInd37,tePrc) "Mapping of technologies onto industry subsectors"
secInd37_tePrc(secInd37,all_te) "Mapping of technologies onto industry subsectors"
/
$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
steel . idr
Expand Down
14 changes: 10 additions & 4 deletions modules/39_CCU/off/sets.gms
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,28 @@ te_ccu39(all_te) "CCU technologies"
/



teCCU2rlf(all_te,rlf) "mapping for CCU technologies to grades"
/
/


teSeCCU2rlf(all_te,rlf) "mapping for CCU technologies to grades"
/
(h22ch4) . 1
(MeOH) . 1
/

;

alias(teCCU2rlf,teCCU2rlf2);

***-------------------------------------------------------------------------
*** add module specific sets and mappings to the global sets and mappings
***-------------------------------------------------------------------------

teCCU2rlf(teSeCCU2rlf) = YES;
teCCU2rlf(teCUPrc,"1") = YES;

enty(enty_ccu39) = YES;
te(te_ccu39) = YES;
enty(enty_ccu3) = YES;
te(te_ccu39) = YES;

*** EOF ./modules/39_CCU/off/sets.gms
4 changes: 2 additions & 2 deletions modules/39_CCU/on/bounds.gms
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ if(cm_emiscen = 1,
);

***----------------------------------------------------------------------------
*** force synthetic liquids in as a minimum share of total liquids if cm_shSynLiq switch used
*** force synthetic liquids in as a minimum share of total liquids if cm_shSynLiq switch used
***----------------------------------------------------------------------------

if (cm_shSynLiq gt 0,
Expand All @@ -38,7 +38,7 @@ if (cm_shSynLiq gt 0,
);

***----------------------------------------------------------------------------
*** force synthetic gases in as a minimum share of total liquids if cm_shSynGas switch used
*** force synthetic gases in as a minimum share of total liquids if cm_shSynGas switch used
***----------------------------------------------------------------------------

if (cm_shSynGas gt 0,
Expand Down
24 changes: 15 additions & 9 deletions modules/39_CCU/on/equations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -12,40 +12,46 @@
*' calculate CCU emissions (= CO2 demand of CCU technologies)
*** ---------------------------------------------------------

q39_emiCCU(t,regi,te)$(te_ccu39(te))..
q39_emiCCU(t,regi,te)$(te_ccu39(te) OR teCUPrc(te))..
sum(teCCU2rlf(te,rlf),
vm_co2CCUshort(t,regi,"cco2","ccuco2short",te,rlf)
)
=e=
sum(se2se_ccu39(enty,enty2,te),
p39_co2_dem(t,regi,enty,enty2,te)
sum(se2se_ccu39(enty,enty2,te),
p39_co2_dem(t,regi,enty,enty2,te)
* vm_prodSe(t,regi,enty,enty2,te)
)
+
sum(tePrc2matIn(tePrc,opmoPrc,mat)$(sameAs(mat,"co2f")),
p37_specMatDem(mat,tePrc,opmoPrc)
* vm_outflowPrc(t,regi,tePrc,opmoPrc)
)

;

*' calculate v39_shSynLiq, share of synthetic (hydrogen-based) liquids in all SE liquids if cm_shSynLiq switch used
*' calculate v39_shSynLiq, share of synthetic (hydrogen-based) liquids in all SE liquids if cm_shSynLiq switch used
q39_shSynLiq(t,regi)$(cm_shSynLiq gt 0)..
(
sum(pe2se(entyPe,entySe,te)$seAgg2se("all_seliq",entySe), vm_prodSe(t,regi,entyPe,entySe,te))
+ sum(se2se(entySe,entySe2,te)$seAgg2se("all_seliq",entySe2), vm_prodSe(t,regi,entySe,entySe2,te))
) * v39_shSynLiq(t,regi)
=e=
sum(se2se(entySe,entySe2,te)$(sameAs(entySe, "seh2") AND
sum(se2se(entySe,entySe2,te)$(sameAs(entySe, "seh2") AND
sameAs(entySe2, "seliqsyn") AND
te_ccu39(te)),
te_ccu39(te)),
vm_prodSe(t,regi,entySe,entySe2,te))
;

*' calculate v39_shSynGas, share of synthetic (hydrogen-based) gas in all SE gases if cm_shSynGas switch used
*' calculate v39_shSynGas, share of synthetic (hydrogen-based) gas in all SE gases if cm_shSynGas switch used
q39_shSynGas(t,regi)$(cm_shSynGas gt 0)..
(
sum(pe2se(entyPe,entySe,te)$seAgg2se("all_sega",entySe), vm_prodSe(t,regi,entyPe,entySe,te))
+ sum(se2se(entySe,entySe2,te)$seAgg2se("all_sega",entySe2), vm_prodSe(t,regi,entySe,entySe2,te))
) * v39_shSynGas(t,regi)
=e=
sum(se2se(entySe,entySe2,te)$(sameAs(entySe, "seh2") AND
sum(se2se(entySe,entySe2,te)$(sameAs(entySe, "seh2") AND
sameAs(entySe2, "segasyn") AND
te_ccu39(te)),
te_ccu39(te)),
vm_prodSe(t,regi,entySe,entySe2,te))
;

Expand Down
19 changes: 9 additions & 10 deletions modules/39_CCU/on/sets.gms
Original file line number Diff line number Diff line change
Expand Up @@ -48,29 +48,28 @@ se2se_ccu39(all_enty,all_enty,all_te) "map secondary energy to secondary ene

teCCU2rlf(all_te,rlf) "mapping for CCU technologies to grades"
/
(h22ch4) . 1
(MeOH) . 1
/


teSeCCU2rlf(all_te,rlf) "mapping for secondary energy CCU technologies to grades"
/
(h22ch4) . 1
(MeOH) . 1
(h22ch4) . 1
(MeOH) . 1
/
;

alias(teCCU2rlf,teCCU2rlf2);


***-------------------------------------------------------------------------
*** add module specific sets and mappings to the global sets and mappings
***-------------------------------------------------------------------------

enty(enty_ccu39) = YES;
te(te_ccu39) = YES;
se2se(se2se_ccu39) = YES;
teSe2rlf(teCCU2rlf) = YES;
teCCU2rlf(teSeCCU2rlf) = YES;
teCCU2rlf(teCUPrc,"1") = YES;

enty(enty_ccu39) = YES;
te(te_ccu39) = YES;
se2se(se2se_ccu39) = YES;
teSe2rlf(teCCU2rlf) = YES;

*** EOF ./modules/39_CCU/on/sets.gms

Loading