Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/develop' into SmallDevs
Browse files Browse the repository at this point in the history
  • Loading branch information
Felix Schreyer committed Sep 17, 2024
2 parents ac0a536 + a24ea7b commit 9361192
Show file tree
Hide file tree
Showing 16 changed files with 184 additions and 114 deletions.
6 changes: 5 additions & 1 deletion .zenodo.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
"affiliation": "Potsdam Institute for Climate Impact Research"
},
{
"name": "Dietrich, Jan",
"name": "Dietrich, Jan Philipp",
"affiliation": "Potsdam Institute for Climate Impact Research",
"orcid": "0000-0002-4309-6431"
},
Expand Down Expand Up @@ -216,6 +216,10 @@
"name": "Rottoli, Marianna",
"affiliation": "Potsdam Institute for Climate Impact Research"
},
{
"name": "Rüter, Tonn",
"affiliation": "Potsdam Institute for Climate Impact Research"
},
{
"name": "Schmidt, Eva"
},
Expand Down
10 changes: 7 additions & 3 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ authors:
affiliation: "Potsdam Institute for Climate Impact Research"

- family-names: "Dietrich"
given-names: "Jan"
given-names: "Jan Philipp"
orcid: https://orcid.org/0000-0002-4309-6431
affiliation: "Potsdam Institute for Climate Impact Research"

Expand Down Expand Up @@ -222,6 +222,10 @@ authors:
given-names: "Marianna"
affiliation: "Potsdam Institute for Climate Impact Research"

- family-names: "Rüter"
given-names: "Tonn"
affiliation: "Potsdam Institute for Climate Impact Research"

- family-names: "Schmidt"
given-names: "Eva"

Expand Down Expand Up @@ -267,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical
technology, policy and climate constraints. It also accounts for regional trade
characteristics on goods, energy fuels, and emissions allowances. All greenhouse
gas emissions due to human activities are represented in the model.
version: "3.3.2.dev558"
date-released: 2024-09-11
version: "3.3.2.dev585"
date-released: 2024-09-13
repository-code: https://github.com/remindmodel/remind
keywords:
- energy
Expand Down
5 changes: 3 additions & 2 deletions 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 Expand Up @@ -71,7 +72,7 @@ cfg$validationmodel_name <- "VALIDATIONREMIND"

#### model version of the overall model (used for run statistics only).
# automatically generated for development versions, updated by hand for releases
cfg$model_version <- "3.3.2.dev558"
cfg$model_version <- "3.3.2.dev585"

#### settings ####
cfg$gms <- list()
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 @@ -916,7 +916,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
8 changes: 7 additions & 1 deletion core/sets.gms
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ gdp_SSP2EU_NAV_lce "NAVIGATE demand scenarios: Low consumption energy (act + tec
gdp_SSP2EU_NAV_all "NAVIGATE demand scenarios: All measures (ele + act + tec)"
gdp_SSP2EU_CAMP_weak "CAMPAIGNers scenario with low ambition lifestyle change"
gdp_SSP2EU_CAMP_strong "CAMPAIGNers scenario with high ambition lifestyle change"
gdp_SSP2_demDiffer_IKEA "Demand reduction in Global North (CAZ,EUR,JPN,NEU,USA) and demand increase in Emerging regions (IND,LAM,OAS,SSA). Reduction follows the factor f of demRedStrong scenario, while increase uses factor 2-f."
gdp_SSP2EU_demRedStrong "edget internal demScen, might be removed soon"
/

Expand Down Expand Up @@ -1038,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 @@ -1046,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
8 changes: 5 additions & 3 deletions main.gms
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,9 @@
*' Sets are treated differently: instead of a prefix, sets exclusively used within a module get that module's
*' number added as a suffix. If the set is used in more than one module no suffix is given.
*'
*' The units (e.g., TWa, EJ, GtC, GtCO2, ...) of variables and parameters are documented in the declaration files.
*' The units (e.g., TWa, EJ, GtC, GtCO2, ...) of variables and parameters are
*' documented in the declaration files using square brackets at the end of the
*' explanatory text (e.g. `v_var(set1,set2) "variable [unit]"`).
*'
*' For the labels of parameters, scalars and set, use double quotes only.
*'
Expand Down Expand Up @@ -1140,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
15 changes: 5 additions & 10 deletions modules/05_initialCap/on/preloop.gms
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ q05_eedemini(regi,enty)..
+ sum(tePrc2opmoPrc(tePrc,opmoPrc)$(pm_specFeDem("2005",regi,enty,tePrc,opmoPrc) gt 0.),
pm_specFeDem("2005",regi,enty,tePrc,opmoPrc)
*
pm_outflowPrcIni(regi,tePrc,opmoPrc)
pm_outflowPrcHist("2005",regi,tePrc,opmoPrc)
)$(entyFeStat(enty))
) * s05_inic_switch
!! Transformation pathways that consume this enty:
Expand Down Expand Up @@ -121,14 +121,9 @@ display v05_INIdemEn0.l, v05_INIcap0.l;

p05_cap0(regi,te) = v05_INIcap0.l(regi,te);

$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
p05_cap0(regi,'bof') = pm_outflowPrcIni(regi,'bof','unheated') / pm_cf("2005",regi,'bof');
p05_cap0(regi,'bf') = pm_outflowPrcIni(regi,'bf','standard') / pm_cf("2005",regi,'bf');
p05_cap0(regi,'eaf') = pm_outflowPrcIni(regi,'eaf','sec') / pm_cf("2005",regi,'eaf');
p05_cap0(regi,'idr') = 0.;
p05_cap0(regi,"bfcc") =0.;
p05_cap0(regi,"idrcc") =0.;
$endif.cm_subsec_model_steel
loop(tePrc,
p05_cap0(regi,tePrc) = sum(tePrc2opmoPrc(tePrc,opmoPrc), pm_outflowPrcHist("2005",regi,tePrc,opmoPrc)) / pm_cf("2005",regi,tePrc);
);

*RP keep energy demand for the Kyoto target calibration
pm_EN_demand_from_initialcap2(regi,enty) = v05_INIdemEn0.l(regi,enty);
Expand Down Expand Up @@ -533,7 +528,7 @@ if (cm_startyear gt 2005,
*** Only the eta values of chp technologies have been adapted by initialCap script above.
*** This is to avoid overwriting all of pm_data and make sure that scenario switches which adapt pm_data before this module work as intended.
Execute_Loadpoint 'input_ref' p05_pmdata_ref = pm_data;
pm_data(regi,char,te)$( (sameas(te,"coalchp")
pm_data(regi,char,te)$( (sameas(te,"coalchp")
OR sameas(te,"gaschp")
OR sameas(te,"biochp") )
AND sameas(char,"eta") ) = p05_pmdata_ref(regi,char,te);
Expand Down
2 changes: 1 addition & 1 deletion modules/37_industry/fixed_shares/not_used.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ pm_emifacNonEnergy, parameter, not needed
pm_exogDemScen, input, added by codeCheck
pm_fedemand, parameter, not needed
pm_incinerationRate, parameter, not needed
pm_outflowPrcIni, parameter, not needed
pm_outflowPrcHist, parameter, not needed
pm_secBioShare, parameter, not needed
pm_specFeDem, parameter, not needed
pm_tau_ces_tax, input, questionnaire
Expand Down
20 changes: 5 additions & 15 deletions modules/37_industry/subsectors/bounds.gms
Original file line number Diff line number Diff line change
Expand Up @@ -133,25 +133,15 @@ $ifthen.policy_scenario "%cm_indstExogScen_set%" == "YES"
$endif.policy_scenario
$drop cm_indstExogScen_set

v37_regionalWasteIncinerationCCSshare.lo(t,regi) = 0.;
v37_regionalWasteIncinerationCCSshare.up(t,regi) = p37_regionalWasteIncinerationCCSMaxShare(t,regi);

$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
!! fix processes procudction in historic years
if (cm_startyear eq 2005,
loop(regi,
loop(tePrc2opmoPrc(tePrc,opmoPrc),
vm_outflowPrc.fx("2005",regi,tePrc,opmoPrc) = pm_outflowPrcIni(regi,tePrc,opmoPrc);
loop((ttot,regi,tePrc2opmoPrc(tePrc,opmoPrc))$(ttot.val ge 2005 AND ttot.val le 2020),
vm_outflowPrc.fx(ttot,regi,tePrc,opmoPrc) = pm_outflowPrcHist(ttot,regi,tePrc,opmoPrc);
);
);

loop(regi,
loop(ttot$(ttot.val ge 2005 AND ttot.val le 2020),
vm_outflowPrc.fx(ttot,regi,"eaf","pri") = 0.;
vm_outflowPrc.fx(ttot,regi,"idr","ng") = 0.;
vm_outflowPrc.fx(ttot,regi,"idr","h2") = 0.;
vm_outflowPrc.fx(ttot,regi,"bfcc","standard") = 0.;
vm_outflowPrc.fx(ttot,regi,"idrcc","ng") = 0.;
);
);
);

!! Switch to turn off steel CCS
Expand All @@ -173,7 +163,7 @@ $endif.fixedUE_scenario

*** fix plastic waste to zero until 2010, and possible to reference scenario
*** values between 2015 and cm_startyear
v37_plasticWaste.fx(t,regi,entySe,entyFe,emiMkt)$(
v37_plasticWaste.fx(t,regi,entySe,entyFe,emiMkt)$(
t.val lt max(2015, cm_startyear)
AND sefe(entySe,entyFe)
AND entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) )
Expand Down
Loading

0 comments on commit 9361192

Please sign in to comment.