Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
6ba4e68
Add different scenarios for the geological storage potential.
dklein-pik Jan 13, 2026
4eaf87f
Add categories for storage potential to set 'char'
dklein-pik Jan 14, 2026
624a9d2
Make new data for technical potential the default for the geological …
dklein-pik Jan 27, 2026
5ae0331
Rename ccsinje to ccsinjeon (onshore)
dklein-pik Jan 29, 2026
f65c691
In pm_dataccs replace rlf dimension with te, since there is only one …
dklein-pik Jan 29, 2026
02f44d6
Remove import of pm_dataccs.cs3r because data is taken from f_geoStor…
dklein-pik Jan 29, 2026
348a29a
Remove unnecessary dimensions (all_enty,all_enty,all_te,rlf) from v_c…
dklein-pik Feb 5, 2026
78fbc81
Remove unnecessary dimensions (all_enty,all_enty,rlf) from vm_co2CCS
dklein-pik Feb 6, 2026
032192c
Revert "Remove unnecessary dimensions (all_enty,all_enty,rlf) from vm…
dklein-pik Feb 9, 2026
8205dac
Start adding ccsinjeoff to sets
dklein-pik Feb 5, 2026
7455180
Formatting
dklein-pik Feb 11, 2026
8a50216
Add ccsinjeoff to code (transport, injection, and storage of co2 offs…
dklein-pik Feb 11, 2026
19a7434
Remove legacy sum in core/equations.gms
dklein-pik Feb 13, 2026
056b83a
Allow for co2 offshore storage using new storage potential
dklein-pik Feb 24, 2026
d9c30d3
Update CHANGELOG.md
dklein-pik Feb 25, 2026
5a54bbf
Merge branch 'uptake' of github.com:dklein-pik/remind into uptake
dklein-pik Feb 25, 2026
3576ef6
Still use old storage potential as default
dklein-pik Feb 25, 2026
5416316
Replace ccsinje
dklein-pik Feb 25, 2026
6af3b1d
When using old storage potential, set ccsinjeoff to very small value …
dklein-pik Feb 25, 2026
4038ff6
Merge branch 'uptake' of github.com:dklein-pik/remind into uptake2dev…
dklein-pik Feb 25, 2026
adb92ee
Merge branch 'develop' of github.com:remindmodel/remind into uptake2d…
dklein-pik Feb 27, 2026
24c69a8
New input data (including data for split of former CO2 storage techno…
dklein-pik Feb 27, 2026
91e2a9e
Merge branch 'develop' of github.com:remindmodel/remind into uptake
dklein-pik Feb 27, 2026
b6b4d2c
New input data
dklein-pik Feb 27, 2026
7636e6b
Replace old ccs potential file with new one
dklein-pik Feb 27, 2026
6f0d31f
Add requirement for remind2 2.0.3
dklein-pik Feb 27, 2026
dafbeea
Correct comment
dklein-pik Feb 27, 2026
9adbf73
Clean formulation
dklein-pik Feb 27, 2026
c396d17
New CES parameters (required for proper reporting of testOneRegi afte…
dklein-pik Mar 2, 2026
2a19f5f
Merge branch 'develop' of github.com:remindmodel/remind into uptake
dklein-pik Mar 3, 2026
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
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [Unreleased]

### input data/calibration
- **mrremind** new data source for geological CO2 storage potential (split into onshore/offshore and technical vs. limited potentials), replacing the previous LimitCCS output
[[#788](https://github.com/pik-piam/mrremind/pull/788)]

### changed
- **45_carbonprice** Use ScenarioMIP settings as new default for regional carbon price differentiation in 45_carbonprice/functionalForm
Expand All @@ -16,6 +18,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
[[#2231](https://github.com/remindmodel/remind/pull/2231)]
- **scripts** Forward `reporting` dir to `reportEmiForClimateAssessement`
[[#2287](https://github.com/remindmodel/remind/pull/2229)]
- **core** Distinguish between onshore and offshore transport and storage of captured CO2
[[#2296](https://github.com/remindmodel/remind/pull/2296)]
- **reporting** Distinguish between onshore and offshore transport and storage of captured CO2
[[#777](https://github.com/pik-piam/remind2/pull/777)]

### added
- **40_techpol** implement renewable energy share targets for NPi2025 realization based on NewClimate policy protocol
Expand Down
2 changes: 1 addition & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Imports:
raster,
readr,
readxl,
remind2 (>= 1.186.0),
remind2 (>= 2.0.3),
remindClimateAssessment (>= 0.1.0),
renv (>= 1.1.1),
reshape2,
Expand Down
4 changes: 2 additions & 2 deletions config/default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ cfg$regionmapping <- "config/regionmappingH12.csv"
cfg$extramappings_historic <- ""

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

#### Current CES parameter and GDX revision (commit hash) ####
cfg$CESandGDXversion <- "867f557491d5f3e72030799648c5eeac03f40de2"
cfg$CESandGDXversion <- "fb20462c942811c4bd9b668f7d10126640116ff6"

#### Path to a renv.lock file to restore a project's dependencies from. If NULL, all R packages in their currently installed version will be used.
cfg$UseThisRenvLock <- NULL
Expand Down
12 changes: 7 additions & 5 deletions core/bounds.gms
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,7 @@ vm_cap.fx("2020",regi,te,rlf) $ (teBio(te) and teCCS(te)) = 0;

*' switch to deactivate carbon sequestration
if(c_ccsinjecratescen = 0,
vm_co2CCS.fx(t,regi_capturescen,"cco2","ico2","ccsinje","1") = 0;
vm_co2CCS.fx(t,regi_capturescen,"cco2","ico2",te,rlf) $ teCCS2rlf(te,rlf) = 0;
);

*' bound on maximum annual carbon storage by region
Expand All @@ -318,7 +318,8 @@ if(c_ccsinjecratescen > 0,
*' DK 20100929: default value (pm_ccsinjecrate= 0.5%) is consistent with Interview Gerling (BGR)
*' (http://www.iz-klima.de/aktuelles/archiv/news-2010/mai/news-05052010-2/):
*' 12 Gt storage potential in Germany, 50-75 Mt/a injection => 60 Mt/a => 60/12000=0.005
vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1") = pm_dataccs(regi,"quan","1") * pm_ccsinjecrate(regi);
vm_co2CCS.up(t,regi,"cco2","ico2","ccsinjeon","1") = pm_dataccs(regi,"quan","ccsinjeon") * pm_ccsinjecrate(regi);
vm_co2CCS.up(t,regi,"cco2","ico2","ccsinjeoff","1") = pm_dataccs(regi,"quan","ccsinjeoff") * pm_ccsinjecrate(regi);

*** Lower limit for 2020-2030 is capacities of all projects that are operational (2020-2030) from project data base
*** Upper limit for 2025 and 2030 additionally includes all projects under construction and 30%
Expand All @@ -328,11 +329,12 @@ if(c_ccsinjecratescen > 0,
*** Potential of EU27 regions is pooled and redistributed according to GDP (Only upper limit for 2030)
*** Norway and UK announced to store CO2 for EU27 countries. So 50% of Norway and UK potential in 2030 is attributed to EU27-Pool
if(not cm_emiscen = 1, !! cm_emiscen 1 = BAU
vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1") $ (t.val <= 2030) = s_MtCO2_2_GtC * p_boundCapCCS(t,regi,"operational") $ (t.val <= 2030);
vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1") $ (t.val <= 2030) = s_MtCO2_2_GtC * (
vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinjeon","1") $ (t.val <= 2030) = s_MtCO2_2_GtC * p_boundCapCCS(t,regi,"operational") $ (t.val <= 2030);
vm_co2CCS.up(t,regi,"cco2","ico2","ccsinjeon","1") $ (t.val <= 2030) = s_MtCO2_2_GtC * (
p_boundCapCCS(t,regi,"operational") $ (t.val <= 2030)
+ p_boundCapCCS(t,regi,"construction") $ (t.val <= 2030)
+ p_boundCapCCS(t,regi,"planned") $ (t.val <= 2030) * c_fracRealfromAnnouncedCCScap2030);
!! DKX: assumptions for ccsinjeoff
);
);

Expand All @@ -344,7 +346,7 @@ if(cm_emiscen = 1,

if(cm_ccapturescen = 2, !! no carbon capture at all
vm_cap.fx(t,regi_capturescen,teCCS,rlf) = 0;
vm_cap.fx(t,regi_capturescen,"ccsinje",rlf) = 0;
vm_cap.fx(t,regi_capturescen,te,rlf) $ teCCS2rlf(te,rlf) = 0;
elseif(cm_ccapturescen = 3), !! no bio carbon capture:
vm_cap.fx(t,regi_capturescen,te,rlf) $ (teCCS(te) and teBio(te)) = 0;
elseif(cm_ccapturescen = 4), !! no carbon capture in the electricity sector
Expand Down
38 changes: 27 additions & 11 deletions core/datainput.gms
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ fm_dataglob("learn", te)$(sameAs(te, "biopyronly") OR sameAs(te, "biopyrhe") OR
$ifthen.c_techAssumptScen "%c_techAssumptScen%" == "SSP1"
*** hampers technologies with CCS or FT
*** TODO: add industry ccs technologies bfcc and idrcc
loop(te $ (teCCS(te) or teFischerTropsch(te) or sameas(te,"ccsinje")),
loop(te $ (teCCS(te) or teFischerTropsch(te) or teccsinje(te)), !! DKX: assumptions correct?
fm_dataglob("inco0",te) = 1.3 * fm_dataglob("inco0",te);
);
*** hampers nuclear a lot
Expand Down Expand Up @@ -212,7 +212,7 @@ $elseif.c_techAssumptScen "%c_techAssumptScen%" == "SSP3"

$elseif.c_techAssumptScen "%c_techAssumptScen%" == "SSP5"
*** favours technologies with CCS or FT
loop(te $ (teCCS(te) or teFischerTropsch(te) or sameas(te,"ccsinje")),
loop(te $ (teCCS(te) or teFischerTropsch(te) or teccsinje(te)), !! DKX: assumptions correct?
fm_dataglob("inco0",te) = 0.9 * fm_dataglob("inco0",te);
);
*** hampers nuclear
Expand Down Expand Up @@ -240,12 +240,16 @@ $endif.c_techAssumptScen
***---------------------------------------------------------------------------
*** cm_ccsinjeCost cost scenarios
*** Warning: it applies absolute values; only use it in combination with default c_techAssumptScen SSP2.
*** low estimate: ccsinje cost prior to 03/2024; i.e. ~11 USD/tCO2 in 2025, decreasing to ~7.5USD/tCO2 as of 2035
$if "%cm_ccsinjeCost%" == "low" fm_dataglob("tech_stat","ccsinje") = 2;
$if "%cm_ccsinjeCost%" == "low" fm_dataglob("inco0","ccsinje") = 220;
$if "%cm_ccsinjeCost%" == "low" fm_dataglob("constrTme","ccsinje") = 0;
*** low estimate: ccsinjeon cost prior to 03/2024; i.e. ~11 USD/tCO2 in 2025, decreasing to ~7.5USD/tCO2 as of 2035
$if "%cm_ccsinjeCost%" == "low" fm_dataglob("tech_stat","ccsinjeon") = 2;
$if "%cm_ccsinjeCost%" == "low" fm_dataglob("inco0","ccsinjeon") = 220;
$if "%cm_ccsinjeCost%" == "low" fm_dataglob("constrTme","ccsinjeon") = 0;
$if "%cm_ccsinjeCost%" == "low" fm_dataglob("tech_stat","ccsinjeoff") = 2; !! DKX: assumptions
$if "%cm_ccsinjeCost%" == "low" fm_dataglob("inco0","ccsinjeoff") = 330; !! DKX: assumptions
$if "%cm_ccsinjeCost%" == "low" fm_dataglob("constrTme","ccsinjeoff") = 0; !! DKX: assumptions
*** high estimate: ~20USD/tCO2 (constant), assuming upper end of storage cost and long transport distances
$if "%cm_ccsinjeCost%" == "high" fm_dataglob("inco0","ccsinje") = 550;
$if "%cm_ccsinjeCost%" == "high" fm_dataglob("inco0","ccsinjeon") = 550;
$if "%cm_ccsinjeCost%" == "high" fm_dataglob("inco0","ccsinjeoff") = 825; !! DKX: assumptions


*** cm_VRE_supply_assumptions: Modify learning and floor costs for electricity storage and production of VRE
Expand Down Expand Up @@ -1180,13 +1184,25 @@ loop(te,
teEtaConst(te) = not teEtaIncr(te);
display teEtaIncr;

*** import regionalized CCS constraints:
table pm_dataccs(all_regi,char,rlf) "maximum CO2 storage capacity using CCS technology. Unit: GtC"
*** import regionalized storage potential:
table f_geoStorPot(all_regi,char) "different categories of geological storage potential for CO2. Unit: GtC"
$ondelim
$include "./core/input/pm_dataccs.cs3r"
$include "./core/input/f_geoStorPot.cs3r"
$offdelim
;

*** set onshore and offshore storage potential according to c_geoStorPotScen
if (c_geoStorPotScen eq 1,
pm_dataccs(all_regi, "quan", "ccsinjeon") = f_geoStorPot(all_regi, "potTechOn");
pm_dataccs(all_regi, "quan", "ccsinjeoff") = f_geoStorPot(all_regi, "potTechOff");
elseif (c_geoStorPotScen eq 2),
pm_dataccs(all_regi, "quan", "ccsinjeon") = f_geoStorPot(all_regi, "potLimOn");
pm_dataccs(all_regi, "quan", "ccsinjeoff") = f_geoStorPot(all_regi, "potLimOff");
elseif (c_geoStorPotScen eq 3),
pm_dataccs(all_regi, "quan", "ccsinjeon") = f_geoStorPot(all_regi, "mixedOld");
pm_dataccs(all_regi, "quan", "ccsinjeoff") = 0.00001;
);
Comment on lines +1201 to +1204
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When c_geoStorPotScen is set to 3 (the old/default scenario), offshore storage potential is set to a very small value (0.00001 GtC) which effectively disables it. This means scenario 3 is not truly backward compatible with the old behavior where there was no distinction between onshore and offshore. Consider documenting this more explicitly in the parameter description or adjusting the implementation to better replicate the old behavior by distributing the "mixedOld" potential between onshore and offshore based on historical usage patterns.

Copilot uses AI. Check for mistakes.

***-----------------------------------------------------------------------------
*** adjustment cost parameter
***-----------------------------------------------------------------------------
Expand Down Expand Up @@ -1283,7 +1299,7 @@ $endif.cm_subsec_model_steel
p_adj_coeff(ttot,regi,"MeOH") = 0.5;
p_adj_coeff(ttot,regi,"h22ch4") = 0.5;
*** CO2 storage and CDR technologies
p_adj_coeff(ttot,regi,"ccsinje") = 1.0;
p_adj_coeff(ttot,regi,teccsinje) = 1.0;
p_adj_coeff(ttot,regi,"biopyronly") = 0.55; !! like biochp and bioigcc;
p_adj_coeff(ttot,regi,"biopyrhe") = 0.55; !! like biochp and bioigcc;
p_adj_coeff(ttot,regi,"biopyrchp") = 0.55; !! like biochp and bioigcc;
Expand Down
6 changes: 3 additions & 3 deletions core/declarations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ vm_emiAllMkt(tall,all_regi,all_enty,all_emiMkt) "total emissions per emissi
*** ------------- Emissions Positive Variables --------------------------------
positive variables

v_co2capture(ttot,all_regi,all_enty,all_enty,all_te,rlf) "total captured CO2 [GtC/year]"
v_co2capture(ttot,all_regi) "total captured CO2 [GtC/year]"
vm_co2CCS(ttot,all_regi,all_enty,all_enty,all_te,rlf) "total CO2 injected into geological storage [GtC/a]"
v_co2capturevalve(ttot,all_regi) "total CO2 emitted right after capture [GtC/a], note: used in q_balCCUvsCCS to account for different lifetimes of capture and CCU/CCS te and capacities [GtC/year]"
v_ccsShare(ttot,all_regi) "fraction of captured CO2 that is stored geologically [share]"
Expand Down Expand Up @@ -181,7 +181,7 @@ q_emiTeMkt(ttot,all_regi,all_enty,all_emiMkt) "total energy-emissions per
q_emiEnFuelEx(ttot,all_regi,all_enty) "energy emissions from fuel extraction"
q_emiAllMkt(ttot,all_regi,all_enty,all_emiMkt) "total regional emissions for each emission market"
q_emiCdrAll(ttot,all_regi) "summing over all CDR emissions"
q_balcapture(ttot,all_regi,all_enty,all_enty,all_te) "balance equation for carbon capture"
q_balcapture(ttot,all_regi) "balance equation for carbon capture"
q_balCCUvsCCS(ttot,all_regi) "balance equation for captured carbon to CCU or CCS or valve"
q_ccsShare(ttot,all_regi) "calculate the share of captured CO2 that is stored geologically"
;
Expand Down Expand Up @@ -556,7 +556,7 @@ $ifthen.tech_CO2capturerate not "%c_tech_CO2capturerate%" == "off"
p_tech_co2capturerate(all_te) "Technology specific CO2 capture rate, fraction of carbon from input fuel that is captured [share]" / %c_tech_CO2capturerate% /
p_PECarriers_CarbonContent(all_enty) "Carbon content of PE carriers [GtC/TWa]"
$endif.tech_CO2capturerate
pm_dataccs(all_regi,char,rlf) "maximum CO2 storage capacity using CCS technology. [GtC]"
pm_dataccs(all_regi,char,all_te) "maximum CO2 storage capacity using CCS technology. [GtC]"
pm_ccsinjecrate(all_regi) "Regional CCS injection rate factor. [1/year]."
p_extRegiccsinjecrateRegi(ext_regi) "Regional CCS injection rate factor. [1/year]. (extended regions)"
;
Expand Down
38 changes: 21 additions & 17 deletions core/equations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -142,11 +142,11 @@ q_balSe(t,regi,enty2)$( entySe(enty2) AND (NOT (sameas(enty2,"seel"))) )..
* vm_prodFe(t,regi,enty4,enty5,te)
)
+ sum(pc2te(enty,enty3,te,enty2),
sum(teCCS2rlf(te,rlf),
pm_prodCouple(regi,enty,enty3,te,enty2)
* vm_co2CCS(t,regi,enty,enty3,te,rlf)
)
)
sum(teCCS2rlf(te,rlf),
pm_prodCouple(regi,enty,enty3,te,enty2)
* vm_co2CCS(t,regi,enty,enty3,te,rlf)
)
)
*** add (reused gas from waste landfills) to segas to not account for CO2
*** emissions - it comes from biomass
+ ( s_MtCH4_2_TWa
Expand Down Expand Up @@ -572,7 +572,7 @@ q_emiTe(t,regi,emiTe(enty))..
*' transformations within the chain of CCS steps (Leakage).
***-----------------------------------------------------------------------------
q_emiTeDetailMkt(t,regi,enty,enty2,te,enty3,emiMkt)$(
emi2te(enty,enty2,te,enty3)
emi2te(enty,enty2,te,enty3) !! emi2te = cco2.ico2.ccsinje.co2
OR (pe2se(enty,enty2,te) AND sameas(enty3,"cco2")) ) ..
vm_emiTeDetailMkt(t,regi,enty,enty2,te,enty3,emiMkt)
=e=
Expand All @@ -581,7 +581,7 @@ q_emiTeDetailMkt(t,regi,enty,enty2,te,enty3,emiMkt)$(
pm_emifac(t,regi,enty,enty2,te,enty3)
* vm_demPe(t,regi,enty,enty2,te)
)
+ sum((ccs2Leak(enty,enty2,te,enty3),teCCS2rlf(te,rlf)),
+ sum((ccs2Leak(enty,enty2,te,enty3),teCCS2rlf(te,rlf)), !! ccs2Leak = cco2.ico2.ccsinje.co2
pm_emifac(t,regi,enty,enty2,te,enty3)
* vm_co2CCS(t,regi,enty,enty2,te,rlf)
)
Expand Down Expand Up @@ -773,7 +773,7 @@ q_emiCdrAll(t,regi)..
+ ( !! pe2se-BECC
sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail(t,regi,enty,enty2,te,enty3)) !! positive value
!! + gross DACC
- sum(teCCS2rlf(te,rlf), vm_emiCdrTeDetail(t, regi, "dac"))) !! negative value
- vm_emiCdrTeDetail(t, regi, "dac")) !! negative value
!! scaled by the fraction that gets stored geologically
* v_ccsShare(t,regi)
!! 2. gross CDR from Enhanced Weathering
Expand Down Expand Up @@ -880,15 +880,19 @@ q_budgetCO2eqGlob$(cm_emiscen=6)..
***---------------------------------------------------------------------------
*' Definition of carbon capture :
***---------------------------------------------------------------------------
q_balcapture(t,regi,ccs2te(ccsCo2(enty),enty2,te)) ..
sum(teCCS2rlf(te,rlf), v_co2capture(t,regi,enty,enty2,te,rlf))

***q_balcapture(t,regi, enty, enty2, te)
***q_balcapture(t,regi,"cco2","ico2","ccsinjeon")

q_balcapture(t,regi) ..
v_co2capture(t,regi)
=e=
!! carbon captured in energy sector
sum(emi2te(enty3,enty4,te2,enty),
vm_emiTeDetail(t,regi,enty3,enty4,te2,enty)
sum(emi2te(enty3,enty4,te2,"cco2"),
vm_emiTeDetail(t,regi,enty3,enty4,te2,"cco2")
)
!! carbon captured from CDR technologies in CDR module
+ sum(teCCS2rlf(te,rlf), vm_co2capture_cdr(t,regi,enty,enty2,te,rlf))
+ sum(teCCS2rlf(te,rlf), vm_co2capture_cdr(t,regi,"cco2","ico2",te,rlf))
!! carbon captured from industry
+ sum(emiInd37, vm_emiIndCCS(t,regi,emiInd37))
+ sum((sefe(entySe,entyFe),emiMkt)$(
Expand All @@ -904,15 +908,15 @@ q_balcapture(t,regi,ccs2te(ccsCo2(enty),enty2,te)) ..
*' atmosphere)
***---------------------------------------------------------------------------
q_balCCUvsCCS(t,regi) ..
sum(teCCS2rlf(te,rlf), v_co2capture(t,regi,"cco2","ico2",te,rlf))
v_co2capture(t,regi)
=e=
sum(teCCS2rlf(te,rlf), vm_co2CCS(t,regi,"cco2","ico2",te,rlf))
+ sum(teCCU2rlf(te,rlf), vm_co2CCUshort(t,regi,"cco2","ccuco2short",te,rlf))
+ v_co2capturevalve(t,regi)
;

q_ccsShare(t,regi) ..
sum(teCCS2rlf(te, rlf), v_co2capture(t, regi, "cco2", "ico2", "ccsinje", rlf)) *
v_co2capture(t,regi) *
v_ccsShare(t,regi)
=e=
sum(teCCS2rlf(te, rlf), vm_co2CCS(t, regi, "cco2", "ico2", te, rlf))
Expand All @@ -922,10 +926,10 @@ q_ccsShare(t,regi) ..
*' Definition of the CCS transformation chain:
***---------------------------------------------------------------------------

q_limitCCS(regi,ccs2te2(enty,"ico2",te),rlf)$teCCS2rlf(te,rlf)..
q_limitCCS(regi,ccs2te(enty,"ico2",te),rlf)$teCCS2rlf(te,rlf)..
sum(ttot $(ttot.val ge 2005), pm_ts(ttot) * vm_co2CCS(ttot,regi,enty,"ico2",te,rlf))
=l=
pm_dataccs(regi,"quan",rlf);
pm_dataccs(regi,"quan",te);


***---------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion core/input/files
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ p_macBaseVanv.cs4r
p_macPolCO2luc.cs4r
p_boundCapCCS.cs4r
p_boundCapBiochar.cs4r
pm_dataccs.cs3r
f_geoStorPot.cs3r
f_fedemand.cs4r
f_fedemand_build.cs4r
pm_NuclearConstraint.cs4r
Expand Down
22 changes: 11 additions & 11 deletions core/input/generisdata_tech.prn
Original file line number Diff line number Diff line change
Expand Up @@ -154,17 +154,17 @@ lifetime 30 30 45 45 45


*** carbon management
+ ccsinje weathering dac oae_ng oae_el
tech_stat 0 4
inco0 350 0.01 18800 200 400
floorcost 4800
constrTme 3
lifetime 40 20 20 25 25
mix0 1.00
eta 1.00 1.00 1.00 1.00 1.00
omf 0.06 0.84 0.025 0.35 0.17
ccap0 0.0008
learn 0.15
+ ccsinjeon ccsinjeoff weathering dac oae_ng oae_el
tech_stat 0 0 4
inco0 350 525 0.01 18800 200 400
floorcost 4800
constrTme 3 5
lifetime 40 40 20 20 25 25
mix0 1.00 1.00
eta 1.00 1.00 1.00 1.00 1.00 1.00
omf 0.06 0.12 0.84 0.025 0.35 0.17
ccap0 0.0008
learn 0.15


$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
Expand Down
4 changes: 2 additions & 2 deletions core/input/generisdata_vintages.prn
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,8 @@ $offtext
+ storspv storwindon storwindoff storcsp gridspv gridwindon gridwindoff gridcsp
1 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

+ ccsinje
1 1.0
+ ccsinjeon ccsinjeoff
1 1.0 1.0

+ tdsyngas tdsyngat tdsynhos tdsynpet tdsyndie
1 1.0 1.0 1.0 1.0 1.0
Expand Down
2 changes: 1 addition & 1 deletion core/postsolve.gms
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ pm_PEPrice(ttot,regi,entyPe)$(abs (qm_budget.m(ttot,regi)) gt sm_eps) =
q_balPe.m(ttot,regi,entyPe) / qm_budget.m(ttot,regi);

*** calculate share of stored CO2 from captured CO2
pm_share_CCS_CCO2(t,regi) = sum(teCCS2rlf(te,rlf), vm_co2CCS.l(t,regi,"cco2","ico2",te,rlf)) / (sum(teCCS2rlf(te,rlf), v_co2capture.l(t,regi,"cco2","ico2",te,rlf))+sm_eps);
pm_share_CCS_CCO2(t,regi) = sum(teCCS2rlf(te,rlf), vm_co2CCS.l(t,regi,"cco2","ico2",te,rlf)) / (v_co2capture.l(t,regi)+sm_eps);


*CG**ML*: capital interest rate
Expand Down
Loading