Skip to content

Commit

Permalink
Merge pull request remindmodel#1831 from pweigmann/CCS_update
Browse files Browse the repository at this point in the history
CCS bounds update
  • Loading branch information
pweigmann authored Sep 13, 2024
2 parents 4a965e3 + baf6d42 commit 2215e45
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 11 deletions.
3 changes: 2 additions & 1 deletion config/default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@ cfg$regionmapping <- "config/regionmappingH12.csv"

### Additional (optional) region mapping, so that those validation data can be loaded that contain the corresponding additional regions.
cfg$extramappings_historic <- ""

#### Current input data revision (<mainrevision>.<subrevision>) ####
cfg$inputRevision <- "6.86"
cfg$inputRevision <- "6.92"

#### Current CES parameter and GDX revision (commit hash) ####
cfg$CESandGDXversion <- "d4c62a8f11e8a6827310519df09c98eb425a4070"
Expand Down
16 changes: 10 additions & 6 deletions core/bounds.gms
Original file line number Diff line number Diff line change
Expand Up @@ -404,22 +404,26 @@ $endif


*** -------------------------------------------------------------------------------------------------------------
*AM* Lower limit for 2020-2030 is capacities of all projects that are operational (2020-2030) and under construction (2025-2030) from project data base
*AM* Upper limit for 2025 and 2030 additionally includes 40% (default, or changed by c_fracRealfromAnnouncedCCScap2030) announced/planned projects from project data base
*AM* In nash-mode regions cannot easily share ressources, therefore CCS potentials are redistributed in Europe:
*AM* Lower limit for 2020-2030 is capacities of all projects that are operational (2020-2030) from project data base
*AM* Upper limit for 2025 and 2030 additionally includes all projects under construction and 30%
*AM* (default, or changed by c_fracRealfromAnnouncedCCScap2030) of announced/planned projects from project data base
*AM* See also corresponding code in input validation data preparation in mrremind/R/calcProjectPipeline.R.
*AM* In nash-mode regions cannot easily share ressources, therefore CCS potentials are redistributed in Europe in data preprocessing in mrremind:
*AM* Potential of EU27 regions is pooled and redistributed according to GDP (Only upper limit for 2030)
*AM* Norway and UK announced to store CO2 for EU27 countries. So 50% of Norway and UK potential in 2030 is attributed to EU27-Pool
*LP* if c_ccsinjecratescen=0 --> no CCS at all and vm_co2CCS is fixed to 0 before, therefore the upper bound is only set if there should be CCS!
*** -------------------------------------------------------------------------------------------------------------

if ( (c_ccsinjecratescen gt 0) AND (NOT cm_emiscen eq 1),
vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = p_boundCapCCS(t,regi,"low")$(t.val le 2030) * s_MtCO2_2_GtC;
vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (p_boundCapCCS(t,regi,"low")$(t.val le 2030) + (p_boundCapCCS(t,regi,"up")$(t.val le 2030) - p_boundCapCCS(t,regi,"low")$(t.val le 2030)) * c_fracRealfromAnnouncedCCScap2030) * s_MtCO2_2_GtC;
vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = p_boundCapCCS(t,regi,"operational")$(t.val le 2030) * s_MtCO2_2_GtC;
vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (p_boundCapCCS(t,regi,"operational")$(t.val le 2030) + p_boundCapCCS(t,regi,"construction")$(t.val le 2030) + p_boundCapCCS(t,regi,"planned")$(t.val le 2030) * c_fracRealfromAnnouncedCCScap2030) * s_MtCO2_2_GtC;
);

*AM* Fix capacities of technologies with carbon capture to zero if there are no CCS projects in the pipeline in that region
*AM* This is only reasonable, as long as we also don't expect any CCU projects in the early years.
loop(regi,
loop(t$(t.val le 2030),
if( ( p_boundCapCCS(t,regi,"up") eq 0),
if( ((p_boundCapCCS(t,regi,"operational") + p_boundCapCCS(t,regi,"construction") + p_boundCapCCS(t,regi,"planned")) eq 0),
vm_cap.fx(t,regi,teCCS,rlf) = 0;
);
);
Expand Down
2 changes: 1 addition & 1 deletion core/datainput.gms
Original file line number Diff line number Diff line change
Expand Up @@ -892,7 +892,7 @@ if(pm_NuclearConstraint("2020",regi,"tnrs")<0,
);

*** read in data on CCS capacities and announced projects used as upper and lower bound on vm_co2CCS in 2025 and 2030
parameter p_boundCapCCS(ttot,all_regi,bounds) "installed and planned capacity of CCS"
parameter p_boundCapCCS(ttot,all_regi,project_status) "installed and planned capacity of CCS"
/
$ondelim
$include "./core/input/p_boundCapCCS.cs4r"
Expand Down
7 changes: 6 additions & 1 deletion core/sets.gms
Original file line number Diff line number Diff line change
Expand Up @@ -1039,6 +1039,12 @@ RCP_regions_world(RCP_regions_world_bunkers) "five RCP regions plus total (world
***-----------------------------------------------------------------------------
Sets
counter "helper set to facilitate looping in defined order" / 1 * 20 /
project_status "project status read in from input data to define upper and lower near-term capacitiy bounds for CCS"
/
"operational",
"construction",
"planned"
/
NDC_version "NDC data version for NDC realizations of 40_techpol and 45_carbonprice"
/
2018_cond, 2018_uncond,
Expand All @@ -1047,7 +1053,6 @@ Sets
2023_cond, 2023_uncond,
2024_cond, 2024_uncond
/
bounds "helper set to define upper and lower bounds read in from input data" /low, up/
;

***-----------------------------------------------------------------------------
Expand Down
4 changes: 2 additions & 2 deletions main.gms
Original file line number Diff line number Diff line change
Expand Up @@ -1142,9 +1142,9 @@ parameter
parameter
c_fracRealfromAnnouncedCCScap2030 "switch to adjust the share of realised CCS capacities from total announced/planned projects from database in 2030"
;
c_fracRealfromAnnouncedCCScap2030 = 0.4; !! def = 0.4
c_fracRealfromAnnouncedCCScap2030 = 0.3; !! def = 0.3
*' This switch changes the assumption about the share of timely realised capacities from sum of announced/planned in 2030 from the IEA CCS data base
*' Default assumption is that only 40% of announced or planned capacities will be realised, either due to discontinuation or delay
*' Default assumption is that only 30% of announced or planned capacities will be realised, either due to discontinuation or delay

parameter
cm_startIter_EDGET "starting iteration of EDGE-T"
Expand Down

0 comments on commit 2215e45

Please sign in to comment.