Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ariadne develop #1676

Closed
wants to merge 134 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
8c5662f
set coal-power capacity minimum from 2030 to 2040
pweigmann Dec 8, 2022
6b25ff6
cherry-pick techstat5 commit
pweigmann Dec 8, 2022
1c23dd2
cherry-pick VRE H2 commit
pweigmann Nov 23, 2022
354a955
introduce vm_VREminCap for ampel scen
pweigmann Apr 6, 2023
8a4e516
increase max wind offshore allowed in DEU
pweigmann Apr 18, 2023
64f5a1c
mini fix
pweigmann Apr 18, 2023
4f33e64
merge trunk
pweigmann Apr 19, 2023
01ec6bb
early coal phase out for ampel scenario
pweigmann Apr 20, 2023
f5dd3e9
Merge branch 'ampel' of https://github.com/pweigmann/remind into ampel
pweigmann Apr 20, 2023
f240bf1
Merge branch 'develop' of https://github.com/remindmodel/remind into …
pweigmann Apr 20, 2023
620dac6
raise retirements rates for ESW, FRA and UKI to achieve coal phase-out
pweigmann Apr 21, 2023
ff5fd4a
introduce vm_VREminCap for ampel scen
pweigmann Apr 6, 2023
c2ad05b
Merge branch 'ampel_dev' of https://github.com/pweigmann/remind into …
Jul 7, 2023
5a53302
Merge branch 'develop' of https://github.com/remindmodel/remind into …
Jul 14, 2023
d061fe3
go back to previous input data revision and calibration string that w…
Jul 21, 2023
a0d6018
update ariadne scenario config
Jul 21, 2023
ba71a91
update ariadne config, remove geohe adjustment cost as they are alrea…
Jul 21, 2023
2676213
phase in flexibility tax until 2040
pweigmann Jul 25, 2023
8081151
Merge branch 'ap_tech_push' of https://github.com/pweigmann/remind in…
pweigmann Jul 26, 2023
4b5c674
bump input-rev to release
pweigmann Jul 26, 2023
fd74c80
lower adjustment costs for district heating
pweigmann Jul 28, 2023
e53ef11
dampen carbon price jumps
pweigmann Aug 2, 2023
b1d30ee
bugfix
pweigmann Aug 2, 2023
9ce8c6e
dampen carbon price fluctuations
pweigmann Aug 3, 2023
cf661da
config updates
pweigmann Aug 11, 2023
06cfe3d
implement phase-in of CES mark-up cost changes from cm_CESMkup_build …
Aug 22, 2023
62d6791
implement phase-in of CES mark-up cost changes in industry from cm_CE…
Aug 22, 2023
684a38c
add constraint to limit the phase-in of biomass in industry depending…
Jul 20, 2022
7f38f07
add maximum biomass shares in steel sector for all regions and set a …
Jul 20, 2022
2355606
only start biomass share constraint in industry subsectors from 2020 on
Jul 21, 2022
0857732
clean up cherry-pick of industry bioenergy share constraint
Sep 4, 2023
bb6a354
limit industry CCS scale-up
0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q Sep 4, 2023
c7dc839
update description of regipol target convergence criterion in nash co…
Sep 12, 2023
8a8ed3b
harmonise industry scaling across subsectors to 5 % p.a.
0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q Sep 12, 2023
8848ec1
deactivate q37_BioLimitSubsec
Sep 12, 2023
4f1cb64
add emissions factor to fossil gas in transport and add this combinat…
Sep 12, 2023
9147535
force industrial coal phase-out in EU27 regions by 2050
Sep 12, 2023
ac6d194
add emissions factor to fossil gas in transport and add this combinat…
Sep 12, 2023
9ba7c1c
only start industry carbon capture in Germany by 2030 as no significa…
Sep 13, 2023
1ea5451
update ariadne scenario config
Sep 13, 2023
6d73700
remove industrial coal phase-out bound that was included for testing
Sep 15, 2023
005392e
activate q37_BioLimitSubsec again
Sep 15, 2023
2c2d71c
remove bounds on maximum biomass solids use in industry
Sep 15, 2023
d39b3f8
Merge branch 'ariadne_production' of https://github.com/fschreyer/rem…
pweigmann Sep 28, 2023
f1b5707
add Calib_EU_NPi scenario config
pweigmann Oct 4, 2023
4f5bad4
reintroduce q32_elh2VREcapfromTestor
pweigmann Oct 6, 2023
0d2b316
introduce switch to change capacity factor of electrolysis as a scena…
Oct 12, 2023
7efa858
Merge branch 'develop' of https://github.com/remindmodel/remind into …
pweigmann Oct 12, 2023
ba8eec4
merge trunk
pweigmann Oct 16, 2023
ba246a3
merge trunk
pweigmann Oct 17, 2023
3e9a03c
Revert "merge trunk"
pweigmann Oct 17, 2023
c5295e6
cherry pick lower bound on chemical FE input for feedstocks
0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q Oct 6, 2021
95becfa
double storageCap for H2turbVRE
pweigmann Oct 17, 2023
4824daf
introduce switch to change capacity factor of electrolysis as a scena…
Oct 12, 2023
38f8ca4
fix conflict
pweigmann Oct 17, 2023
39805c8
fix another merge conflict
pweigmann Oct 17, 2023
cc4d808
limit renewable power additions in DEU for 2025
pweigmann Oct 19, 2023
a56f862
phase-in electrolysis capacities from stored VRE
pweigmann Oct 19, 2023
3f2e483
add NPi to Ariadne config
pweigmann Oct 20, 2023
72bcae5
merge ap_polishing_tech into ap_polishing_tech_npi
pweigmann Oct 20, 2023
8155929
add switch for user-defined shift of land-use change emissions when e…
Oct 26, 2023
02883dc
Merge branch 'FossilFree_dev' into FossilFree
Oct 30, 2023
6f3c560
update input data revision to new data with updated ariadne transport…
Dec 8, 2023
3bfea17
fix industry specific energy consumption trajectories to values from …
Dec 8, 2023
dc2d4af
update ariadne scenario config, main changes: lower e-fuel import ass…
Dec 8, 2023
686e686
Merge branch 'ap_polishing_tech_npi' of github.com:fschreyer/remind i…
Dec 20, 2023
bcd2353
add cm_run_initialCap switch to run initialCap again by default, this…
Jan 17, 2024
12ef5b9
fix bug that 05_initialCap module overwrites pm_inco0_t capital cost …
Aug 30, 2023
562e052
only overwrite pm_data in 05_initialCap module with values from refer…
Jan 21, 2024
a064591
set switch for running InitialCap to off again by default
Jan 21, 2024
ecb8be8
fix CHP technology shares in 2020 in Germany to historical values
Jan 25, 2024
85d5bf4
add condition to energy efficiency changes in industry to only be app…
Jan 25, 2024
d0772c8
moving co2 tax definition for periods after the current target to an …
Renato-Rodrigues Oct 17, 2023
bc07f0b
refactoring code order
Renato-Rodrigues Oct 18, 2023
668292d
adapt short-term fixings for 2020 and 2025 of German power sector, sp…
Feb 27, 2024
f733445
update ariadne scenario config
Feb 27, 2024
c3a2a70
Merge branch 'ariadne_phase1_final' of github.com:fschreyer/remind in…
Feb 27, 2024
8e39408
clean up error from merge of ariadne branch
Feb 29, 2024
8370b8d
fix bug in primary steel solids constraint: initialize p37_Psteel_sol…
Feb 29, 2024
baaee1b
adding cm_implicitQttyTarget_delay and improving regional target tax …
Renato-Rodrigues Jan 29, 2024
96de23f
change biomass share constraint in steel to allow for full coal phase…
Mar 20, 2024
88af49c
Merge branch 'FossilFree_dev' of https://github.com/fschreyer/remind …
Mar 28, 2024
bfe63d2
clean up merge of ariadne branch into develop branch
Mar 28, 2024
dcaebe5
Merge branch 'develop' of github.com:remindmodel/remind into ariadne_…
Mar 28, 2024
a1481d3
clean up from new merge of develop
Mar 28, 2024
952ce99
remove coal power capacity bounds that accounted for waste incinerati…
Mar 28, 2024
6d2b903
add adaption of offshore wind potential in German again that got lost…
Mar 28, 2024
7d64413
set adjustment cost of geohe back to default value of technologies (p…
Mar 28, 2024
3cb9125
remove duplicate code in module 5 from merge
Mar 28, 2024
763e833
remove outdated bounds of synfuel technologies in CCU module
Apr 2, 2024
7d5a06e
add synfuel technologies, MeOH for synthetic liquids and h22ch4 for s…
Apr 2, 2024
c675638
increase adjustment cost for electrolysis and synthetic fuel (CCU) te…
Apr 2, 2024
d756be0
add rough bounds for 2025 and 2030 electrolysis and synthetic liquids…
Apr 2, 2024
11c8185
change CES parameter hash to include new CES parameters from Ariadne …
Apr 21, 2024
a45dd06
add flag cm_elh2_tax_rampup to be able to regionally modify the elect…
Apr 21, 2024
53da292
Merge branch 'ariadne_develop' of github.com:fschreyer/remind into de…
May 13, 2024
ae024a0
change CES parameter hash to load new claibration data
May 13, 2024
958c097
deactivate q_limitBiotrmod equation that was limiting substitution o…
Apr 21, 2024
e77acd3
adapt German 2020 CHP bounds again to better match historic data
May 14, 2024
bc3e9c2
extend historic biomass share constraint for sectoral FE carriers to …
May 14, 2024
dc87db2
limit gas based fischer-tropsch recycle use in EUR regions
Renato-Rodrigues Apr 30, 2024
6112cd7
add switch cm_H2_policy to define specific H2 policies; add switch va…
Jun 3, 2024
f079344
remove limits on biomass share in steel subsector in datainput of ind…
Jun 3, 2024
3d8a4ec
increment CES parameter commit hash to include version with ariadne l…
Jun 3, 2024
d2bcf12
add switch to enable loading and applying CO2 price from previous GDX…
Jun 3, 2024
bf56789
fix chemical feedstock emissions from non-fossil sources
0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q May 22, 2024
c1ae262
fix emissions factor for feedstock process emissions for bio- and
0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q May 22, 2024
ade28ec
require updated remind2 package
0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q May 23, 2024
f6a3cc3
Merge branch 'develop' of github.com:remindmodel/remind into FossilFr…
Jun 4, 2024
b8cbd8f
add condition to load statement from input_ref GDX file in se_trade r…
Jun 4, 2024
ba63302
add seel and seliqsyn to SE traded quantities set by default
Jun 4, 2024
9a0efc4
deactivate q_limitBiotrmod equation to allow full substitution of coa…
Jun 4, 2024
0452650
increment CES parameter version in deafult.cfg
Jun 11, 2024
ae42621
extend marginal adjustment cost calculation in postsolve to include m…
May 22, 2024
fabafed
add switch cm_trade_SE_shareDemand that allows to define SE imports t…
Jun 4, 2024
ff254ca
add seel and seliqsyn to SE traded quantities set by default
Jun 4, 2024
ebb3a95
fix reporting of pm_IndstCO2Captured in industry subsectors postsolve…
Jun 17, 2024
4ef7795
exclude non-industry, non-fuel FE from calculation of industry CCS costs
0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q Jun 12, 2024
b061f2a
exclude non-industry FE from calculation of max industry CCS
0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q Jun 12, 2024
5b51c26
exclude co2cement_process from calculation of captured fuel CO2
0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q Jun 12, 2024
90d3680
formatting
0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q Jun 12, 2024
0851c93
remove fixing of energy efficiency limits in industry to Npi which wa…
Jun 18, 2024
555c365
change version number and date AND adjust CHANGELOG.md
LaviniaBaumstark Jun 18, 2024
59c8a9b
fix net negative emissions tax for runs with regipol emissions target…
Jun 24, 2024
d59c12d
fix bug in cm_regiExoPrice_fromFile switch that loads CO2 price from …
Jun 25, 2024
8c1ccb8
adapt q37_plasticWaste equation in industry such that there is no tim…
Jun 30, 2024
b0f304d
add ariadne scenario config
Jun 30, 2024
247fbd8
Merge branch 'FossilFree_rev330' of github.com:fschreyer/remind into …
Jun 30, 2024
bd993d2
Merge branch 'remind_331' into ariadne_develop
Jun 30, 2024
419f769
fix R complaining about if in output.R
orichters Jun 24, 2024
2654004
add ariadne_lowDem and ariadne_highDem scenarios for exogenuous indus…
Jul 1, 2024
eea8a8e
increment CES parameter hash to include new ariadne calibrations
Jul 11, 2024
cdec519
add ariadne low demand scenario to files list in CES parameter module
Jul 11, 2024
e7c59c4
fix cm_ind_energy_limit_manual for single regions rather then region
0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q Jul 11, 2024
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
4 changes: 2 additions & 2 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"title": "REMIND - REgional Model of INvestments and Development",
"version": "3.3.0",
"version": "3.3.1",
"creators": [
{
"name": "Luderer, Gunnar",
Expand Down Expand Up @@ -249,5 +249,5 @@
"license": {
"id": "AGPL-3.0-or-later"
},
"publication_date": "2024-03-27"
"publication_date": "2024-06-18"
}
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## [Unreleased]

### changed

### added

### fixed

### removed

## [3.3.1] - 2024-06-18

### changed
- new inptu data (6.77) including new GDP and population data([#83](https://github.com/pik-piam/mrdrivers/pull/83)) [[#1684]](https://github.com/remindmodel/remind/pull/1684)
- **37_industry** remove subsector-specific shares of SE
Expand Down
2 changes: 1 addition & 1 deletion CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ 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.0.dev402"
version: "3.3.1"
date-released: 2024-06-18
repository-code: https://github.com/remindmodel/remind
keywords:
Expand Down
2 changes: 1 addition & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Package: remindmodel
Title: REMIND - REgional Model of INvestments and Development
Version: 0.1
Date: 2024-03-27
Date: 2024-06-18
Description: This is not a package yet, the purpose of this file is to
document metadata, notably dependencies.
License: file LICENSE
Expand Down
6 changes: 3 additions & 3 deletions config/default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ cfg$extramappings_historic <- ""
cfg$inputRevision <- "6.77"

#### Current CES parameter and GDX revision (commit hash) ####
cfg$CESandGDXversion <- "31bbe498c5e0fc19da876e8b543d5aa1fc112015"
cfg$CESandGDXversion <- "593871ba914d06ec09694ed3719534d6e5cdd94f"

#### Force the model to download new input data ####
cfg$force_download <- FALSE
Expand All @@ -40,7 +40,7 @@ cfg$force_replace <- FALSE

#### list of repositories containing input data
# defined in your local .Rprofile or on the cluster /p/projects/rd3mod/R/.Rprofile
cfg$repositories <- getOption("remind_repos")
cfg$repositories <- c(getOption("remind_repos"), "/p/projects/ariadne/remind/calibration_results")

#### Folder run statistics should be submitted to
cfg$runstatistics <- "/p/projects/rd3mod/models/statistics/remind"
Expand Down Expand Up @@ -71,7 +71,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.0.dev402"
cfg$model_version <- "3.3.1"

#### settings ####
cfg$gms <- list()
Expand Down
16 changes: 16 additions & 0 deletions config/scenario_config_21_EU11_ARIADNE.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
title;start;copyConfigFrom;.description;CES_parameters;c_keep_iteration_gdxes;cm_calibration_string;optimization;c_testOneRegi_region;cm_solver_try_max;cm_nash_mode;cm_startIter_EDGET;subsidizeLearning;trade;cm_trade_SE_exog;cm_EnSecScen_price;cm_EnSecScen_limit;cm_Ger_Pol;c_ccsinjecratescen;cm_ccsinjeCost;cm_bioprod_regi_lim;cm_import_tax;cm_1stgen_phaseout;c_agricult_base_shift;cm_altFeEmiFac;cm_PriceDurSlope_elh2;cm_SEtaxRampUpParam;cm_build_H2costAddH2Inv;cm_steel_secondary_max_share_scenario;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_exogDem_scen;cm_wasteIncinerationCCSshare;cm_feedstockEmiUnknownFate;cm_FEtax_trajectory_abs;cm_FEtax_trajectory_rel;cm_inco0Factor;cm_adj_coeff_multiplier;cm_adj_seed_multiplier;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;c_peakBudgYr;c_taxCO2inc_after_peakBudgYr;techpol;regipol;cm_regiExoPrice;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_NucRegiPol;cm_CoalRegiPol;cm_EDGEtr_scen;cm_emiscen;cm_multigasscen;cm_POPscen;cm_GDPscen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref
# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Calib_EU_NPi;0;;Calibration Run with National Policies Implemented (NPI);calibrate;;;;;;;;;se_trade;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;NPi;1;;;NPi2018;regiCarbonPrice;;;;on;on;Mix1;9;3;;;;2005;;
NPi;0;Calib_EU_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Calib_EU_Npi_lowDem;0;Calib_EU_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;;gdp_SSP2EU_NAV_all;;;
Npi_lowDem;0;Calib_EU_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
# ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;high;DEU 1.1, EU27_regi 7.5;EU27_regi.pebiolc.worldPricemarkup 3.0;1;DEU -0.1;;;;;;fehob 1.75, enhb 0.5;;;ariadne_bal;;;;;;;;;;;;;;;;;;;EU27_regi.(2025 50,2030 100,2035 150,2040 200,2045 250,2050 300,2055 300,2060 300,2070 300,2080 300,2090 300,2100 300,2110 300,2130 300,2150 300);;;;;Mix3;;;;;;2025;;NPi
KN2045_Bal_v4;0;;Standard Ariadne scenario with -55% GHG in 2030 and GHG neutrality goal in 2050 for EU (incl. EU LULUCF sink), -65% GHG in 2030 and GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;high;DEU 1.1, EU27_regi 7.5;EU27_regi.pebiolc.worldPricemarkup 3.0;1;DEU -0.1;EUR_regi, NEU_regi;;DEU.elh2.a 0.3, DEU.elh2.b 20;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3, fega_steel 0.4;ariadne_bal;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;650;diffCurvPhaseIn2Lin;100;2080;3;;regiCarbonPrice;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;0.003;on;on;Mix4;9;;;;;2025;;NPi
KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feh2_otherInd 0.7, feelhth_otherInd 0.9, feh2_cement 2.2, feh2_chemicals 1.05, fega_steel 0.4;;;;;2040.build.feels 0.7, 2040.build.fegas 1.3, 2040.indst.feels 0.7, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 0.7, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3;tdh2s 2, tdh2t 2;;;;;;;;;;;;;;;;;;;;;;;;;;;
KN2045_H2_v4;0;KN2045_Bal_v4;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;20;DEU.elh2.a 0.2, DEU.elh2.b 50;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feh2_otherInd 0.01, feelhth_otherInd 1.6, feh2_cement 0.43, feelhth_chemicals 1.6, feh2_chemicals 0.43, feh2_steel 0.1, feli_steel 0.87, fega_steel 0.4;;;;;2040.build.feels 1.3, 2040.build.fegas 1.3, 2040.indst.feels 1.3, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 1.3, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3, 2040.trans.feh2t 0.7;tdh2s 0.5, tdh2t 0.5;;;;;;;;;;;;;;;;;;;HydrHype4;;;;;;;;
# ____ Energy Security Scenarios___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KN2045_EnSov;0;KN2045_Bal_v4;Energy security scenario with limits/taxes on PE gas consumption in Germany and reduced steel demand;;;;;;;;;;;;on;2;ensec;;;;;;;EUR_regi, NEU_regi;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.1, fega_steel 0.4;ariadne_ensec;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
# ____ low-demand/high-demand scenarios ____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KN2045plus_EasyRide;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5. feheb 0.01;;feelhth_otherInd 0.9, fega_steel 0.4;ariadne_ensec;;;;;;;;;;;;;;;;;;;;off;;;;NAV_all;;;;;gdp_SSP2EU_NAV_all;;;Npi_lowDem
# Tests;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
12 changes: 10 additions & 2 deletions core/datainput.gms
Original file line number Diff line number Diff line change
Expand Up @@ -1172,7 +1172,6 @@ loop(ttot$(ttot.val ge 2005),
p_adj_seed_te(ttot,regi,"coalftcrec") = 0.25;
p_adj_seed_te(ttot,regi,"coaltr") = 4.00;
p_adj_seed_te(ttot,regi,'dac') = 0.25;
p_adj_seed_te(ttot,regi,'geohe') = 0.33;
$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
p_adj_seed_te(ttot,regi,"bfcc") = 0.05;
p_adj_seed_te(ttot,regi,"idrcc") = 0.05;
Expand All @@ -1182,6 +1181,10 @@ $ifthen.WindOff %cm_wind_offshore% == "1"
p_adj_seed_te(ttot,regi,"windoff") = 0.5;
$endif.WindOff

p_adj_seed_te(ttot,regi,"elh2") = 0.33;
p_adj_seed_te(ttot,regi,"MeOH") = 0.5;
p_adj_seed_te(ttot,regi,"h22ch4") = 0.5;

*RP: for comparison of different technologies:
*** pm_conv_cap_2_MioLDV <- 650 # The world has slightly below 800million cars in 2005 (IEA TECO2), so with a global vm_cap of 1.2, this gives ~650
*** ==> 1TW power plant ~ 650 million LDV
Expand All @@ -1207,7 +1210,6 @@ $endif.WindOff
p_adj_coeff(ttot,regi,"ccsinje") = 1.0;
p_adj_coeff(ttot,regi,"spv") = 0.15;
p_adj_coeff(ttot,regi,"wind") = 0.25;
p_adj_coeff(ttot,regi,"geohe") = 0.6;
$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes"
p_adj_coeff(ttot,regi,"bfcc") = 1.0;
p_adj_coeff(ttot,regi,"idrcc") = 1.0;
Expand All @@ -1221,6 +1223,12 @@ $endif.WindOff
p_adj_coeff(ttot,regi,"dac") = 0.8;
p_adj_coeff(ttot,regi,teGrid) = 0.3;
p_adj_coeff(ttot,regi,teStor) = 0.05;

p_adj_coeff(ttot,regi,"elh2") = 0.75;
p_adj_coeff(ttot,regi,"MeOH") = 0.5;
p_adj_coeff(ttot,regi,"h22ch4") = 0.5;


);

***Rescaling adj seed and coeff if adj cost multiplier switches are on
Expand Down
4 changes: 4 additions & 0 deletions core/declarations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,8 @@ pm_shPerm(tall, all_regi) "emission permit shares"
pm_emicapglob(tall) "global emission cap"
p_adj_coeff(ttot,all_regi,all_te) "coefficient for adjustment costs"
p_adj_coeff_glob(all_te) "coefficient for adjustment costs - global scale"
p_adj_helper_a(ttot,all_regi,all_te) "helper parameter that contains different parameters of adjustment cost to facilitate readability of code"
p_adj_helper_b(ttot,all_regi,all_te) "helper parameter that contains different parameters of adjustment cost to facilitate readability of code"
p_switch_cement(ttot,all_regi) "describes an s-curve to provide a smooth switching from the short-term behavior (depending on per capita capital investments) to the long-term behavior (constant per capita emissions) of CO2 emissions from cement production"
p_cint(all_regi,all_enty,all_enty,rlf) "additional emissions of GHG from mining, on top of emissions from combustion"

Expand Down Expand Up @@ -215,6 +217,8 @@ p_CapFixFromRWfix(ttot,all_regi,all_te) "parameter for fixing capac
p_deltaCapFromRWfix(ttot,all_regi,all_te) "parameter with resulting deltacap values resulting from fixing capacity to real-world values in 2010/2015"

o_margAdjCostInv(ttot,all_regi,all_te) "marginal adjustment cost calculated in postsolve for diagnostics"
o_margAdjCostInv_prev(ttot,all_regi,all_te) "1st term of marginal adjustment cost calculated in postsolve for diagnostics. Refers to marginal cost due to change of vm_deltaCap from previous to current time step."
o_margAdjCostInv_next(ttot,all_regi,all_te) "2nd term marginal adjustment cost calculated in postsolve for diagnostics. Refers to marginal cost due to change of vm_deltaCap from current to next time step."
o_avgAdjCostInv(ttot,all_regi,all_te) "average adjustment cost calculated in postsolve for diagnostics"
o_avgAdjCost_2_InvCost_ratioPc(ttot,all_regi,all_te) "ratio in % of average adj cost compared to direct inv costs"

Expand Down
10 changes: 5 additions & 5 deletions core/equations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -478,9 +478,9 @@ q_costTeCapital(t,regi,teLearn)$(NOT (pm_data(regi,"tech_stat",teLearn) eq 4 AND
*' EMF27 limits on fluctuating renewables, only turned on for special EMF27 and AWP 2 scenarios, not for SSP
***---------------------------------------------------------------------------
*** this is to prevent that in the long term, all solids are supplied by biomass. Residential solids can be fully supplied by biomass (-> wood pellets), so the FE residential demand is subtracted
q_limitBiotrmod(t,regi)$(t.val > 2020)..
vm_prodSe(t,regi,"pebiolc","sesobio","biotrmod")
- sum (in$sameAs("fesob",in), vm_cesIO(t,regi,in) + pm_cesdata(t,regi,in,"offset_quantity"))
q_limitBiotrmod(t,regi)$(NO)..
vm_prodSe(t,regi,"pebiolc","sesobio","biotrmod")
- sum (in$sameAs("fesob",in), vm_cesIO(t,regi,in) + pm_cesdata(t,regi,in,"offset_quantity"))
- sum (fe2es(entyFe,esty,teEs)$buildMoBio(esty), vm_demFeForEs(t,regi,entyFe,esty,teEs) )
=l=
(2 + max(0,min(1,( 2100 - pm_ttot_val(t)) / ( 2100 - 2020 ))) * 3) !! 5 in 2020 and 2 in 2100
Expand Down Expand Up @@ -1090,15 +1090,15 @@ q_limitCapFeH2BI(t,regi,sector)$(SAMEAS(sector,"build") OR SAMEAS(sector,"indst"
*' Enforce historical data biomass share per carrier in sector final energy for buildings and industry (+- 2%)
***---------------------------------------------------------------------------

q_shbiofe_up(t,regi,entyFe,sector,emiMkt)$((sameas(entyFe,"fegas") or sameas(entyFe,"fehos") or sameas(entyFe,"fesos")) and entyFe2Sector(entyFe,sector) and sector2emiMkt(sector,emiMkt) and (t.val le 2015))..
q_shbiofe_up(t,regi,entyFe,sector,emiMkt)$((sameas(entyFe,"fegas") or sameas(entyFe,"fehos") or sameas(entyFe,"fesos")) and entyFe2Sector(entyFe,sector) and sector2emiMkt(sector,emiMkt) and (t.val le 2020))..
(pm_secBioShare(t,regi,entyFe,sector) + 0.02)
*
sum((entySe,te)$se2fe(entySe,entyFe,te), vm_demFeSector(t,regi,entySe,entyFe,sector,emiMkt))
=g=
sum((entySeBio,te)$se2fe(entySeBio,entyFe,te), vm_demFeSector(t,regi,entySeBio,entyFe,sector,emiMkt))
;

q_shbiofe_lo(t,regi,entyFe,sector,emiMkt)$((sameas(entyFe,"fegas") or sameas(entyFe,"fehos") or sameas(entyFe,"fesos")) and entyFe2Sector(entyFe,sector) and sector2emiMkt(sector,emiMkt) and (t.val le 2015))..
q_shbiofe_lo(t,regi,entyFe,sector,emiMkt)$((sameas(entyFe,"fegas") or sameas(entyFe,"fehos") or sameas(entyFe,"fesos")) and entyFe2Sector(entyFe,sector) and sector2emiMkt(sector,emiMkt) and (t.val le 2020))..
(pm_secBioShare(t,regi,entyFe,sector) - 0.02)
*
sum((entySe,te)$se2fe(entySe,entyFe,te), vm_demFeSector(t,regi,entySe,entyFe,sector,emiMkt))
Expand Down
2 changes: 1 addition & 1 deletion core/input/generisdata_tech.prn
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ luse


+ elh2 dot dhp h2turb h2curt h2turbVRE elh2VRE h22ch4 MeOH
tech_stat 4 5 5 5 3 3
tech_stat 3 5 5 5 3 3
inco0 1350 480 360 510 700 510 0.1 700 1300
constrTme 2 2 1 2 2 2 1 2 2
mix0
Expand Down
42 changes: 32 additions & 10 deletions core/postsolve.gms
Original file line number Diff line number Diff line change
Expand Up @@ -556,16 +556,38 @@ loop(ttot$(ttot.val ge 2005),
pm_GDPGross(tall,regi)$(tall.val ge 2150) = pm_GDPGross("2149",regi);


*** CG: calculate marginal adjustment cost for capacity investment: d(vm_costInvTeAdj) / d(vm_deltaCap) !!!! the closed formula only holds when v_adjFactorGlob.fx(t,regi,te) = 0;
o_margAdjCostInv(ttot,regi,te)$(ttot.val ge max(2010, cm_startyear) AND teAdj(te)) = vm_costTeCapital.l(ttot,regi,te) * p_adj_coeff(ttot,regi,te)
* 2 * (sum(te2rlf(te,rlf), vm_deltaCap.l(ttot,regi,te,rlf)) - sum(te2rlf(te,rlf), vm_deltaCap.l(ttot-1,regi,te,rlf)))
/ power((pm_ttot_val(ttot) - pm_ttot_val(ttot-1)), 2)
/ (sum(te2rlf(te,rlf), vm_deltaCap.l(ttot-1,regi,te,rlf)) + p_adj_seed_reg(ttot,regi) * p_adj_seed_te(ttot,regi,te)
+ p_adj_deltacapoffset("2010",regi,te)$(ttot.val eq 2010) + p_adj_deltacapoffset("2015",regi,te)$(ttot.val eq 2015)
+ p_adj_deltacapoffset("2020",regi,te)$(ttot.val eq 2020) + p_adj_deltacapoffset("2025",regi,te)$(ttot.val eq 2025)
)
* (1 + 0.02/pm_ies(regi) + pm_prtp(regi)) ** (pm_ts(ttot) / 2)
;
*** Marginal Adjustment Cost Calculation
*** Marginal adjustment cost consist of two terms.
*** 1st term: d(v_costInvTeAdj(vm_deltaCap(t),vm_deltaCap(t-1))) / d(vm_deltaCap(t))
*** This calculates marginal adjustment cost due to the change in vm_deltaCap between the current time step t and the previous time step t-1. (same as o_margAdjCostInv above)
*** 2nd term: d(v_costInvTeAdj(vm_deltaCap(t+1),vm_deltaCap(t))) / d(vm_deltaCap(t))
*** This calculates marginal adjustment cost due to the change in vm_deltaCap between the next time step t+1 and the current time step.
*** calculate some helper parameters first to ease readability
p_adj_helper_a(ttot,regi,te) = p_adj_coeff(ttot,regi,te) * (1.02 + pm_prtp(regi) ) ** (pm_ts(ttot) / 2);
p_adj_helper_b(ttot,regi,te) = p_adj_seed_reg(ttot,regi) * p_adj_seed_te(ttot,regi,te)
+ p_adj_deltacapoffset("2010",regi,te)$(ttot.val eq 2010) + p_adj_deltacapoffset("2015",regi,te)$(ttot.val eq 2015)
+ p_adj_deltacapoffset("2020",regi,te)$(ttot.val eq 2020) + p_adj_deltacapoffset("2025",regi,te)$(ttot.val eq 2025);
*** With those helper parameters a and b, adjustment cost v_costInvTeAdj can be written as (see q_eqadj and q_costInvTeAdj equations):
*** v_costInvTeAdj(vm_deltaCap(t),vm_deltaCap(t-1)) = vm_costTeCapital * a * [ (vm_deltaCap(t) - vm_deltaCap(t-1)) / (pm_ttot_val(t) - pm_ttot_val(t-1)) ]^2 / (vm_deltaCap(t-1)+b)
*** 1st term, marginal adjustment cost due to previous time step:
o_margAdjCostInv_prev(ttot,regi,te)$(ttot.val ge max(2010, cm_startyear) AND teAdj(te)) = vm_costTeCapital.l(ttot,regi,te)
* p_adj_helper_a(ttot,regi,te)
/ power((pm_ttot_val(ttot) - pm_ttot_val(ttot-1)), 2)
* 2 * ( sum(te2rlf(te,rlf), vm_deltaCap.l(ttot,regi,te,rlf)) - sum(te2rlf(te,rlf), vm_deltaCap.l(ttot-1,regi,te,rlf)) )
/ ( sum(te2rlf(te,rlf), vm_deltaCap.l(ttot-1,regi,te,rlf)) + p_adj_helper_b(ttot,regi,te));
*** 2nd term, marginal adjustment cost due to next time step:
o_margAdjCostInv_next(ttot,regi,te)$(ttot.val ge max(2010, cm_startyear) AND teAdj(te)) = - vm_costTeCapital.l(ttot,regi,te)
* p_adj_helper_a(ttot,regi,te)
/ power((pm_ttot_val(ttot+1) - pm_ttot_val(ttot)), 2)
/ power( sum(te2rlf(te,rlf), vm_deltaCap.l(ttot,regi,te,rlf)) + p_adj_helper_b(ttot,regi,te), 2 )
* ( 2 * ( sum(te2rlf(te,rlf), vm_deltaCap.l(ttot+1,regi,te,rlf)) - sum(te2rlf(te,rlf), vm_deltaCap.l(ttot,regi,te,rlf)) )
* ( sum(te2rlf(te,rlf), vm_deltaCap.l(ttot,regi,te,rlf)) + p_adj_helper_b(ttot,regi,te) )
+ power( sum(te2rlf(te,rlf), vm_deltaCap.l(ttot+1,regi,te,rlf)) - sum(te2rlf(te,rlf), vm_deltaCap.l(ttot,regi,te,rlf)) , 2) );



*** total marginal adjustment cost are sum of marginal adjustment cost of change from previous time step and marginal adjustment cost of change to next time step
o_margAdjCostInv(ttot,regi,te) = o_margAdjCostInv_prev(ttot,regi,te) + o_margAdjCostInv_next(ttot,regi,te);

*** CG: calculate average adjustment cost for capacity investment: vm_costInvTeAdj / vm_deltaCap
o_avgAdjCostInv(ttot,regi,te)$(ttot.val ge 2010 AND teAdj(te) AND
Expand Down
Loading