Skip to content

Commit

Permalink
update bioen and ghg prices
Browse files Browse the repository at this point in the history
  • Loading branch information
flohump committed Jan 3, 2024
1 parent 1fef040 commit 795f0e0
Show file tree
Hide file tree
Showing 8 changed files with 54 additions and 25 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- **default.cfg** Default for cfg$gms$c56_cprice_aff changed from `forestry_vegc` to `secdforest_vegc`
- **scenario_config.csv** settings for cfg$gms$s35_secdf_distribution in `ForestryEndo` and `ForestryExo` changed from `2` to `0`
- **scenario_config.csv** removed erroneous setting `cc` from column `input`
- **default.cfg** update default `cfg$gms$c56_pollutant_prices` and `cfg$gms$c60_2ndgen_biodem` to `R32M46-SSP2EU-NPi`
- **default.cfg** update input data to rev 4.96

### added
- **32_forestry** new interfaces `vm_forestry`, `pcm_land_forestry` `vm_landexpansion_forestry` and `vm_landreduction_forestry`
- **scripts** added peatland to output/extra/disaggregation.R
- **56_ghg_policy_** added new trajectories for R32M46
- **60_bioenergy** added new trajectories for R32M46

### removed
- **default.cfg** Removed description of cfg$gms$c31_past_suit_scen since no longer needed due to changes in 31_past described below. Its function is now done by cfg$gms$c31_grassl_yld_scenario.
Expand Down
50 changes: 34 additions & 16 deletions config/default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -1357,18 +1357,27 @@ cfg$gms$s56_cprice_red_factor <- 1 # def = 1

# * GHG emission price scenario
# * Note: For best consistency it is recommended to use trajectories from the most recent
# * coupled REMIND-MAgPIE runs. Currently, this is R21M42.
# * Note on available scenarios from coupled REMIND-MAgPIE runs
# * NPi: Current policies; above 3.0°C in 2100
# * coupled REMIND-MAgPIE runs. Currently, this is R32M46.
# * Available options:
# * none: no 2nd generation bioenergy demand
# * R32M46: Coupled REMIND-MAgPIE runs with REMIND 3.2 and MAgPIE 4.6
# * NPi: Current policies; above 3.0°C in 2100
# * NDC: ?
# * PkBudg650: Peak Budget with 650 GtCO2 until net-zero CO2 emissions; well-below 1.5°C in 2100
# * PkBudg1050: Peak Budget with 1050 GtCO2 until net-zero CO2 emissions; well-below 2.0°C in 2100
# * R32M46-SDP_MC-NPi, R32M46-SDP_MC-NDC, R32M46-SDP_MC-PkBudg650,
# * R32M46-SSP1-NPi, R32M46-SSP1-NDC, R32M46-SSP1-PkBudg1050, R32M46-SSP1-PkBudg650,
# * R32M46-SSP2-NPi, R32M46-SSP2-NDC, R32M46-SSP2-PkBudg1050, R32M46-SSP2-PkBudg650,
# * R32M46-SSP5-NPi, R32M46-SSP5-NDC, R32M46-SSP5-PkBudg1050, R32M46-SSP5-PkBudg650,
# * R21M42: Coupled REMIND-MAgPIE runs with REMIND 2.1 and MAgPIE 4.2
# * NPi: Current policies; above 3.0°C in 2100
# * PkBudg900: Budget with 900 GtCO2; well-below 1.5°C in 2100 (PkBudg1000 for SDP)
# * PkBudg1300: Budget with 1300 GtCO2; well-below 2.0°C in 2100
# *
# * Available scenarios:
# * Coupled REMIND-MAgPIE runs
# * R21M42-SDP-NPi, R21M42-SDP-PkBudg1000, R21M42-SDP-PkBudg1100, R21M42-SDP-PkBudg900,
# * R21M42-SSP1-NPi, R21M42-SSP1-PkBudg1100, R21M42-SSP1-PkBudg1300, R21M42-SSP1-PkBudg900,
# * R21M42-SSP2-NPi, R21M42-SSP2-PkBudg1100, R21M42-SSP2-PkBudg1300, R21M42-SSP2-PkBudg900,
# * R21M42-SSP5-NPi, R21M42-SSP5-PkBudg1100, R21M42-SSP5-PkBudg1300, R21M42-SSP5-PkBudg900,
# * R2M41: Coupled REMIND-MAgPIE runs with REMIND 2.0 and MAgPIE 4.1
# * R2M41-SSP2-NPi, R2M41-SSP2-NDC, R2M41-SSP2-Budg1300, R2M41-SSP2-Budg600, R2M41-SSP2-Budg950
# * Standalone REMIND runs from Strefler et al 2021; well-below 2.0°C in 2100
# * https://www.nature.com/articles/s41467-021-22211-2
Expand Down Expand Up @@ -1405,8 +1414,8 @@ cfg$gms$s56_cprice_red_factor <- 1 # def = 1
# * c56_pollutant_prices_noselect applies to all other countries.
# * Available scenarios for c56_pollutant_prices_noselect are identical to c56_pollutant_prices
# * (see above) except for emulator and coupling (which can only be chosen for c56_pollutant_prices)
cfg$gms$c56_pollutant_prices <- "R21M42-SSP2-NPi" # def = R21M42-SSP2-NPi
cfg$gms$c56_pollutant_prices_noselect <- "R21M42-SSP2-NPi" # def = R21M42-SSP2-NPi
cfg$gms$c56_pollutant_prices <- "R32M46-SSP2EU-NPi" # def = R32M46-SSP2EU-NPi
cfg$gms$c56_pollutant_prices_noselect <- "R32M46-SSP2EU-NPi" # def = R32M46-SSP2EU-NPi

# * The following two settings can be used to provide exogenous ghg prices
# * via a file that is not part of the input data. This is currently used
Expand Down Expand Up @@ -1607,18 +1616,27 @@ cfg$gms$c60_1stgen_biodem <- "const2020" # def = const2020

# * 2nd generation bioenergy demand scenario
# * Note: For best consistency it is recommended to use trajectories from the most recent
# * coupled REMIND-MAgPIE runs. Currently, this is R21M42.
# * Note on available scenarios from coupled REMIND-MAgPIE runs
# * NPi: Current policies; above 3.0°C in 2100
# * coupled REMIND-MAgPIE runs. Currently, this is R32M46.
# * Available options:
# * none: no 2nd generation bioenergy demand
# * R32M46: Coupled REMIND-MAgPIE runs with REMIND 3.2 and MAgPIE 4.6
# * NPi: Current policies; above 3.0°C in 2100
# * NDC: ?
# * PkBudg650: Peak Budget with 650 GtCO2 until net-zero CO2 emissions; well-below 1.5°C in 2100
# * PkBudg1050: Peak Budget with 1050 GtCO2 until net-zero CO2 emissions; well-below 2.0°C in 2100
# * R32M46-SDP_MC-NPi, R32M46-SDP_MC-NDC, R32M46-SDP_MC-PkBudg650,
# * R32M46-SSP1-NPi, R32M46-SSP1-NDC, R32M46-SSP1-PkBudg1050, R32M46-SSP1-PkBudg650,
# * R32M46-SSP2-NPi, R32M46-SSP2-NDC, R32M46-SSP2-PkBudg1050, R32M46-SSP2-PkBudg650,
# * R32M46-SSP5-NPi, R32M46-SSP5-NDC, R32M46-SSP5-PkBudg1050, R32M46-SSP5-PkBudg650,
# * R21M42: Coupled REMIND-MAgPIE runs with REMIND 2.1 and MAgPIE 4.2
# * NPi: Current policies; above 3.0°C in 2100
# * PkBudg900: Budget with 900 GtCO2; well-below 1.5°C in 2100 (PkBudg1000 for SDP)
# * PkBudg1300: Budget with 1300 GtCO2; well-below 2.0°C in 2100
# *
# * Available scenarios:
# * Coupled REMIND-MAgPIE runs
# * R21M42-SDP-NPi, R21M42-SDP-PkBudg1000, R21M42-SDP-PkBudg1100, R21M42-SDP-PkBudg900,
# * R21M42-SSP1-NPi, R21M42-SSP1-PkBudg1100, R21M42-SSP1-PkBudg1300, R21M42-SSP1-PkBudg900,
# * R21M42-SSP2-NPi, R21M42-SSP2-PkBudg1100, R21M42-SSP2-PkBudg1300, R21M42-SSP2-PkBudg900,
# * R21M42-SSP5-NPi, R21M42-SSP5-PkBudg1100, R21M42-SSP5-PkBudg1300, R21M42-SSP5-PkBudg900,
# * R2M41: Coupled REMIND-MAgPIE runs with REMIND 2.0 and MAgPIE 4.1
# * R2M41-SSP2-NPi, R2M41-SSP2-NDC, R2M41-SSP2-Budg1300, R2M41-SSP2-Budg600, R2M41-SSP2-Budg950
# * Standalone REMIND runs from Strefler et al 2021; well-below 2.0°C in 2100
# * https://www.nature.com/articles/s41467-021-22211-2
Expand Down Expand Up @@ -1653,8 +1671,8 @@ cfg$gms$c60_1stgen_biodem <- "const2020" # def = const2020
# * coupling
# * Note: c60_2ndgen_biodem applies to countries selected in scen_countries60
# * c60_2ndgen_biodem_noselect applies to all other countries.
cfg$gms$c60_2ndgen_biodem <- "R21M42-SSP2-NPi" # def = R21M42-SSP2-NPi
cfg$gms$c60_2ndgen_biodem_noselect <- "R21M42-SSP2-NPi" # def = R21M42-SSP2-NPi
cfg$gms$c60_2ndgen_biodem <- "R32M46-SSP2EU-NPi" # def = R32M46-SSP2EU-NPi
cfg$gms$c60_2ndgen_biodem_noselect <- "R32M46-SSP2EU-NPi" # def = R32M46-SSP2EU-NPi

# * The following setting can be used to provide exogenous bioenergy demand
# * via a .mif file that is not part of the input data. This is currently used
Expand Down
6 changes: 3 additions & 3 deletions main.gms
Original file line number Diff line number Diff line change
Expand Up @@ -160,9 +160,9 @@ $title magpie
* md5sum: NA
* Repository: scp://cluster.pik-potsdam.de/p/projects/rd3mod/inputdata/output
*
* Used data set: additional_data_rev4.46.tgz
* Used data set: additional_data_rev4.47.tgz
* md5sum: NA
* Repository: https://rse.pik-potsdam.de/data/magpie/public
* Repository: scp://cluster.pik-potsdam.de/p/projects/landuse/data/input/archive
*
* Used data set: calibration_H12_per_ton_fao_may22_glo_08Aug23.tgz
* md5sum: NA
Expand Down Expand Up @@ -195,7 +195,7 @@ $title magpie
* * Call: withCallingHandlers(expr, message = messageHandler, warning = warningHandler, error = errorHandler)
*
*
* Last modification (input data): Fri Dec 22 11:01:20 2023
* Last modification (input data): Fri Dec 22 16:58:47 2023
*
*###################### R SECTION END (VERSION INFO) ###########################

Expand Down
4 changes: 2 additions & 2 deletions modules/56_ghg_policy/price_aug22/input.gms
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ scalars
s56_offset helper for C price interpolation (1) / 0 /
;

$setglobal c56_pollutant_prices R21M42-SSP2-NPi
$setglobal c56_pollutant_prices_noselect R21M42-SSP2-NPi
$setglobal c56_pollutant_prices R32M46-SSP2EU-NPi
$setglobal c56_pollutant_prices_noselect R32M46-SSP2EU-NPi
$setglobal c56_emis_policy redd+natveg_nosoil
$setglobal c56_cprice_aff forestry_vegc
$setglobal c56_mute_ghgprices_until y2030
Expand Down
2 changes: 2 additions & 0 deletions modules/56_ghg_policy/price_aug22/preloop.gms
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ $ifthen "%c56_pollutant_prices%" == "coupling"
im_pollutant_prices(t_all,i,pollutants,emis_source) = f56_pollutant_prices_coupling(t_all,i,pollutants);
$elseif "%c56_pollutant_prices%" == "emulator"
im_pollutant_prices(t_all,i,pollutants,emis_source) = f56_pollutant_prices_emulator(t_all,i,pollutants);
$elseif "%c56_pollutant_prices%" == "none"
im_pollutant_prices(t_all,i,pollutants,emis_source) = 0;
$else
im_pollutant_prices(t_all,i,pollutants,emis_source) = f56_pollutant_prices(t_all,i,pollutants,"%c56_pollutant_prices%") * p56_region_price_shr(t_all,i)
+ f56_pollutant_prices(t_all,i,pollutants,"%c56_pollutant_prices_noselect%") * (1-p56_region_price_shr(t_all,i));
Expand Down
5 changes: 4 additions & 1 deletion modules/56_ghg_policy/price_aug22/sets.gms
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,10 @@ sets
ecoSysProtOff,
ecoSysProtAll_agMgmtExclN2O,
ecoSysProtAll_agMgmtExclCH4,
ecoSysProtAll_agMgmtOff /
ecoSysProtAll_agMgmtOff,
co2_reddnatveg_nosoil,
co2_peatland,
co2_reddnatveg_nosoil_peatland /

;
*######################### R SECTION END (SETS) ################################
Expand Down
4 changes: 2 additions & 2 deletions modules/60_bioenergy/1stgen_priced_dec18/input.gms
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ scalars
s60_2ndgen_bioenergy_dem_min Minimum dedicated 2nd generation bioenergy demand assumed in each region (mio. GJ per yr) / 1 /
;

$setglobal c60_2ndgen_biodem R21M42-SSP2-NPi
$setglobal c60_2ndgen_biodem_noselect R21M42-SSP2-NPi
$setglobal c60_2ndgen_biodem R32M46-SSP2EU-NPi
$setglobal c60_2ndgen_biodem_noselect R32M46-SSP2EU-NPi


$if "%c60_2ndgen_biodem%" == "coupling" table f60_bioenergy_dem_coupling(t_all,i) Bioenergy demand (regional) (mio. GJ per yr)
Expand Down
4 changes: 3 additions & 1 deletion modules/60_bioenergy/1stgen_priced_dec18/preloop.gms
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,13 @@ $ifthen "%c60_2ndgen_biodem%" == "coupling"
i60_bioenergy_dem(t,i) = f60_bioenergy_dem_coupling(t,i);
$elseif "%c60_2ndgen_biodem%" == "emulator"
i60_bioenergy_dem(t,i) = f60_bioenergy_dem_emulator(t)/card(i);
$elseif "%c60_2ndgen_biodem%" == "none"
i60_bioenergy_dem(t,i) = 0;
$else
i60_bioenergy_dem(t,i) = f60_bioenergy_dem(t,i,"%c60_2ndgen_biodem%") * p60_region_BE_shr(t,i)
+ f60_bioenergy_dem(t,i,"%c60_2ndgen_biodem_noselect%") * (1-p60_region_BE_shr(t,i));
** Harmonize till 2020 if not coupled or emulator
loop(t$(m_year(t) <= sm_fix_SSP2),
i60_bioenergy_dem(t,i) = f60_bioenergy_dem(t,i,"R21M42-SSP2-NPi");
i60_bioenergy_dem(t,i) = f60_bioenergy_dem(t,i,"R32M46-SSP2EU-NPi");
);
$endif

0 comments on commit 795f0e0

Please sign in to comment.