Skip to content

Commit

Permalink
adapt q37_demFeIndst and o37_demFeIndSub to q37_demFeIndst_intermediate
Browse files Browse the repository at this point in the history
change
  • Loading branch information
0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q committed Mar 21, 2024
1 parent 34a2297 commit 076d416
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 35 deletions.
30 changes: 16 additions & 14 deletions modules/37_industry/subsectors/bounds.gms
Original file line number Diff line number Diff line change
Expand Up @@ -162,23 +162,25 @@ $endif.cm_subsec_model_steel

*** Populate values for v37_demFeIndst to ease introduction of new variale. Can
*** be removed once the variable is established.
loop ((t,regi,
sefe(entySe,entyFe),
fe2ppfEn(entyFe,in),
ppfen_industry_dyn37(in),
secInd37_2_pf(secInd37,in),
secInd37_emiMkt(secInd37,emiMkt))$( entySeFos(entySe)
OR entySeBio(entySe)
OR entySeSyn(entySe) ),
v37_demFeIndst.l(t,regi,entySe,entyFe,in,emiMkt)$(
sum(se2fe(entySe2,entyFe,te),
vm_demFeSector_afterTax.l(t,regi,entySe2,entyFe,"indst",emiMkt)
) )
= vm_cesIO.l(t,regi,in)
v37_demFeIndst.l(t,regi,entySe,entyFe,out,emiMkt) = 0;
loop ((t,regi,entySe,entyFe,out,emiMkt,secInd37,in)$(
sefe(entySe,entyFe)
AND sector2emiMkt("indst",emiMkt)
AND secInd37_emiMkt(secInd37,emiMkt)
AND secInd37_2_pf(secInd37,out)
AND ue_industry_2_pf(out,in)
AND fe2ppfEn37(entyFe,in)
AND sum(se2fe(entySe,entyFe,te),
vm_demFeSector_afterTax.l(t,regi,entySe,entyFe,"indst",emiMkt)
) ),
v37_demFeIndst.l(t,regi,entySe,entyFe,out,emiMkt)
= sum((fe2ppfEn37_2(entyFe,in),ue_industry_2_pf(out,in)),
vm_cesIO.l(t,regi,in)
+ pm_cesdata(t,regi,in,"offset_quantity")
)
* vm_demFeSector_afterTax.l(t,regi,entySe,entyFe,"indst",emiMkt)
/ sum(se2fe(entySe2,entyFe,te),
vm_demFeSector_afterTax.l(t,regi,entySe2,entyFe,"indst",emiMkt)
);
);

*** EOF ./modules/37_industry/subsectors/bounds.gms
39 changes: 21 additions & 18 deletions modules/37_industry/subsectors/equations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -13,39 +13,42 @@
***------------------------------------------------------
*' Industry final energy balance
***------------------------------------------------------
q37_demFeIndst_intermediate(t,regi,entyFe,in,secInd37,emiMkt)$(
ue_industry_dyn37(in)
AND secInd37_2_pf(secInd37,in)
AND secInd37_emiMkt(secInd37,emiMkt) ) ..
*' Industry final energy demand is calculated by (entySe,entyFe,out,secIind37)
*' tuple, where out is the root of the CES subtree (e.g. ue_cement). The
*' (entyFe,out) tuple is equivalent to ppfen, and necessary to deal with
*' process-based steel, which is not part of the CES tree below
*' ue_steel_primary/ue_steel_secondary.
q37_demFeIndst_intermediate(t,regi,entyFe,out,secInd37,emiMkt)$(
entyFe_out_emiMkt(entyFe,out,emiMkt)
AND secInd37_emiMkt(secInd37,emiMkt)
AND secInd37_2_pf(secInd37,out) ) ..
sum(sefe(entySe,entyFe),
v37_demFeIndst(t,regi,entySe,entyFe,in,emiMkt)
v37_demFeIndst(t,regi,entySe,entyFe,out,emiMkt)
)
=e=
sum((ue_industry_2_pf(in,in2),
fe2ppfEn(entyFe,in2)),
( vm_cesIO(t,regi,in2)
+ pm_cesdata(t,regi,in2,"offset_quantity")
))
+ sum((tePrc2ue(tePrc,in),
tePrc2opmoPrc(tePrc,opmoPrc)),
sum((ue_industry_2_pf(out,in),
fe2ppfEn(entyFe,in)),
vm_cesIO(t,regi,in)
+ pm_cesdata(t,regi,in,"offset_quantity")
)
+ sum(tePrc2ue(tePrc,opmoPrc,out),
pm_specFeDem(t,regi,entyFe,tePrc,opmoPrc)
* vm_outflowPrc(t,regi,tePrc,opmoPrc)
)
;

q37_demFeIndst(t,regi,entySe,entyFe,emiMkt)$(
sefe(entySe,entyFe)
AND entyFe2Sector(entyFe,"indst") ) ..
AND entyFe2Sector(entyFe,"indst")
AND sector2emiMkt("indst",emiMkt) ) ..
vm_demFeSector_afterTax(t,regi,entySe,entyFe,"indst",emiMkt)
=e=
sum((fe2ppfEn(entyFe,in),
ppfen_industry_dyn37(in),
secInd37_2_pf(secInd37,in),
secInd37_emiMkt(secInd37,emiMkt)),
v37_demFeIndst(t,regi,entySe,entyFe,in,emiMkt)
sum(entyFe_out_emiMkt(entyFe,out,emiMkt),
v37_demFeIndst(t,regi,entySe,entyFe,out,emiMkt)
)
;


***------------------------------------------------------
*' Thermodynamic limits on subsector energy demand
***------------------------------------------------------
Expand Down
6 changes: 3 additions & 3 deletions modules/37_industry/subsectors/postsolve.gms
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ o37_demFePrc(ttot,regi,entyFe,tePrc,opmoPrc)$(pm_specFeDem(ttot,regi,entyFe,tePr
o37_demFeIndSub(ttot,regi,entySe,entyFe,secInd37,emiMkt)$(
sefe(entySe,entyFe)
AND secInd37_emiMkt(secInd37,emiMkt) )
= sum((fe2ppfEn(entyFe,in),
secInd37_2_pf(secInd37,in)),
v37_demFeIndst.l(ttot,regi,entySe,entyFe,in,emiMkt)
= sum((secInd37_2_pf(secInd37,out),
ue_industry_dyn37(out)),
v37_demFeIndst.l(ttot,regi,entySe,entyFe,out,emiMkt)
);

*** industry captured fuel CO2
Expand Down
9 changes: 9 additions & 0 deletions modules/37_industry/subsectors/sets.gms
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,15 @@ ppfen_MkupCost37(all_in) "primary production factors in industry on which CES
/
/

entyFe_out_emiMkt(all_enty,all_in,all_emiMkt) "link FE demand to subsector production to emission markets"
/
(fesos, fehos, fegas, feh2s, feels) . ue_cement . ETS
(fesos, fehos, fegas, feh2s, feels) . ue_chemicals . ETS
(fesos, fehos, fegas, feh2s, feels) . ue_steel_primary . ETS
feels . ue_steel_secondary . ETS
(fesos, fehos, fegas, feh2s, fehes, feels) . ue_otherInd . ES
/


*** ---------------------------------------------------------------------------
*** 2. Process-Based
Expand Down

0 comments on commit 076d416

Please sign in to comment.