Skip to content

Commit

Permalink
Merge pull request remindmodel#1873 from Renato-Rodrigues/limitSolids…
Browse files Browse the repository at this point in the history
…FossilRegi

add support for switch to force monotonously decreasing solids fossil use per region
  • Loading branch information
Renato-Rodrigues authored Nov 6, 2024
2 parents 8e592cb + cbce8bb commit 4796284
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 0 deletions.
3 changes: 3 additions & 0 deletions core/declarations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -565,6 +565,9 @@ $IFTHEN.sehe_upper not "%cm_sehe_upper%" == "off"
q_heat_limit(ttot,all_regi) "equation to limit maximum level of secondary energy district heating and heat pumps use"
$ENDIF.sehe_upper

$ifthen.limitSolidsFossilRegi not %cm_limitSolidsFossilRegi% == "off"
q_fossilSolidsLimitReg(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "limit solids fossil to be lower or equal to previous year values in each (sector x emiMkt) combination"
$endif.limitSolidsFossilRegi
;
***----------------------------------------------------------------------------------------
*** SCALARS
Expand Down
10 changes: 10 additions & 0 deletions core/equations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -1127,4 +1127,14 @@ q_shbiofe_lo(t,regi,entyFe,sector,emiMkt)$(pm_secBioShare(t,regi,entyFe,sector)
sum((entySeBio,te)$se2fe(entySeBio,entyFe,te), vm_demFeSector_afterTax(t,regi,entySeBio,entyFe,sector,emiMkt))
;

***---------------------------------------------------------------------------
*' Limit solids fossil to be lower or equal to previous year values
***---------------------------------------------------------------------------
$ifthen.limitSolidsFossilRegi not %cm_limitSolidsFossilRegi% == "off"
q_fossilSolidsLimitReg(ttot,regi,entySe,entyFe,sector,emiMkt)$(limitSolidsFossilRegi(regi) and (ttot.val ge max(2020, cm_startyear)) AND sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND (sameas(sector,"indst") OR sameas(sector,"build")) AND sameas(entySe,"sesofos"))..
vm_demFeSector_afterTax(ttot,regi,entySe,entyFe,sector,emiMkt)
=le=
vm_demFeSector_afterTax(ttot-1,regi,entySe,entyFe,sector,emiMkt);
$endif.limitSolidsFossilRegi

*** EOF ./core/equations.gms
9 changes: 9 additions & 0 deletions core/sets.gms
Original file line number Diff line number Diff line change
Expand Up @@ -922,6 +922,15 @@ set
;
$endif.altFeEmiFac

$ifthen.limitSolidsFossilRegi not %cm_limitSolidsFossilRegi% == "off"
set limitSolidsFossilextRegi(ext_regi) "set to store ext_regi regions where fossil solids use in each (sector x emiMkt) is limited by the amount used in the previous year" / %cm_limitSolidsFossilRegi% /
limitSolidsFossilRegi(all_regi) "set to store regi regions where fossil solids use in each (sector x emiMkt) is limited by the amount used in the previous year"
;
loop(ext_regi$limitSolidsFossilextRegi(ext_regi),
limitSolidsFossilRegi(all_regi)$(regi_group(ext_regi,all_regi)) = YES;
);
$endif.limitSolidsFossilRegi

***###############################################################################
***######################## R SECTION START (MODULES) ###############################
*** THIS CODE IS CREATED AUTOMATICALLY, DO NOT MODIFY THESE LINES DIRECTLY
Expand Down
5 changes: 5 additions & 0 deletions main.gms
Original file line number Diff line number Diff line change
Expand Up @@ -1762,6 +1762,11 @@ $setglobal cm_INCONV_PENALTY_FESwitch on !! def = on !! regexp = off|on
*** *JH/LB* Activate MOFEX partial fossil fuel extraction cost minimization model
*** * Warning: Use a well-converged run since the model uses vm_prodPe from the input GDX
$setGlobal cm_MOFEX off !! def = off !! regexp = off|on
*** cm_limitSolidsFossilRegi off !! def=off
*** starting in max(2020, cm_startyear), fossil solids use in each (sector x emiMkt) has to decrease compared to the previous time step for each region included in the switch cm_limitSolidsFossilRegi
*** aceptable values: any of the ext_regi set elements
*** e.g. "EUR_regi, USA" "solids fossil in industry and buildings for regions within EUR_regi and USA have to be lower or equal to the previous time step from 2020 or cm_startyear onward."
$setGlobal cm_limitSolidsFossilRegi off
*** cm_Full_Integration
*** use "on" to treat wind and solar as fully dispatchable electricity production technologies
$setGlobal cm_Full_Integration off !! def = off !! regexp = off|on
Expand Down

0 comments on commit 4796284

Please sign in to comment.