diff --git a/CHANGELOG.md b/CHANGELOG.md index 852c8f116..b5a1be749 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **scripts** added output report `EU_report.R` that uses `EU_report.Rmd` - **70_livestock** added realization `fbask_jan16_sticky` - **script** check of variables needed in piamInterfaces in report_rds.R +- **42_water_demand** added water abstraction type dimension for non-ag uses ### removed - diff --git a/config/default.cfg b/config/default.cfg index 8113d8b4e..578648c37 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -22,9 +22,9 @@ cfg$model <- "main.gms" #def = "main.gms" #### input settings #### # which input data sets should be used? -cfg$input <- c(regional = "rev4.109_h12_magpie.tgz", - cellular = "rev4.109_h12_fd712c0b_cellularmagpie_c200_MRI-ESM2-0-ssp370_lpjml-8e6c5eb1.tgz", - validation = "rev4.109_h12_validation.tgz", +cfg$input <- c(regional = "rev4.111_h12_magpie.tgz", + cellular = "rev4.111_h12_fd712c0b_cellularmagpie_c200_MRI-ESM2-0-ssp370_lpjml-8e6c5eb1.tgz", + validation = "rev4.111_h12_validation.tgz", additional = "additional_data_rev4.51.tgz", calibration = "calibration_H12_26Mar24.tgz") @@ -2102,6 +2102,7 @@ cfg$files2export$start <- c("input/info.txt", "modules/50_nr_soil_budget/input/f50_NitrogenFixationRateNatural_0.5.mz", "modules/50_nr_soil_budget/input/f50_AtmosphericDepositionRates_0.5.mz", "input/f34_urbanland_0.5.mz", + "modules/35_natveg/input/pot_forest_area_0.5.mz", "input/spatial_header.rda", "scripts/run_submit/submit.R", "scripts/run_submit/submit_*.sh", diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 8a2870327..e30616b99 100755 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -2,27 +2,27 @@ gms$c_timesteps;;;;;;;;;;;;;;;;;less_TS;less_TS;;;;;;;5year;5year;5year;5year;5year;;;;;;;;;;;;;;;;;;;;coup2110 gms$c09_pop_scenario;;;;SSP1;SSP2;SSP2EU;SSP3;SSP4;SSP5;SSP1;SSP1;SSP1;SSP1;;;;;;;;;;;;SSP4;SSP1;SSP4;SSP4;SSP1;;;;;;;;;;;;;;;;;;;; gms$c09_gdp_scenario;;;;SSP1;SSP2;SSP2EU;SSP3;SSP4;SSP5;SSP1;SDP_EI;SDP_RC;SDP_MC;;;;;;;;;;;;SSP4;SSP1;SSP4;SSP4;SSP1;;;;;;;;;;;;;;;;;;;; -gms$c09_pal_scenario;;;;SSP1;SSP2;SSP2EU;SSP3;SSP4;SSP5;SSP1;SSP2;SSP1;SSP1;;;;;;;;;SDP;SDP;;SSP4;SSP1;SSP4;SSP4;SSP1;;;;;;;;;;;;;;;;;;;; -gms$s12_interest_lic;;;;;;;;;;;;;;;;;;;;;;0.06;;;;;;;;;;;;;;;;;;;;;;;;;;; -gms$s12_interest_hic;;;;;;;;;;;;;;;;;;;;;;0.04;;;;;;;;;;;;;;;;;;;;;;;;;;; +gms$c09_pal_scenario;;;;SSP1;SSP2;SSP2EU;SSP3;SSP4;SSP5;SSP1;SSP2;SSP1;SSP1;;;;;;;;;SDP;SDP;SSP2;SSP4;SSP1;SSP4;SSP4;SSP1;;;;;;;;;;;;;;;;;;;; +gms$s12_interest_lic;;;;;;;;;;;;;;;;;;;;;;0.06;0.1;0.1;;;;;;;;;;;;;;;;;;;;;;;;; +gms$s12_interest_hic;;;;;;;;;;;;;;;;;;;;;;0.04;0.04;0.04;;;;;;;;;;;;;;;;;;;;;;;;; gms$c13_tccost;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;high gms$c14_yields_scenario;cc;nocc;nocc_hist;;;;;;;;;;;;;;;;;;;;;;cc;cc;cc;cc;cc;;;;;;;;;;;;;;;;;;;;nocc gms$food;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;anthropometrics_jan18 gms$c15_food_scenario;;;;SSP1;SSP2;SSP2;SSP3;SSP4;SSP5;SSP1;SSP2;SSP1;SSP1;;;;;;;;;;;;SSP4;SSP1;SSP4;SSP4;SSP1;;;;;;;;;;;;;;;;;;;SSP2; gms$c15_food_scenario_noselect;;;;;;;;;;;;;;;;;;;;;;;;;SSP4;SSP1;SSP4;SSP4;SSP1;;;;;;;;;;;;;;;;;;;SSP2; -gms$s15_elastic_demand;;;;0;0;0;0;0;0;0;0;0;0;;;;;;;0;0;0;0;;0;0;0;0;0;;;;;;;;;;;;;;;;;;;; +gms$s15_elastic_demand;;;;0;0;0;0;0;0;0;0;0;0;;;;;;;0;0;0;0;0;0;0;0;0;0;;;;;;;;;;;;;;;;;;;; gms$s15_rumdairy_scp_substitution;;;;0;0;0;0;0;0;0;0.5;0;0;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gms$s15_food_subst_functional_form;;;;;;;;;;;2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gms$s15_food_substitution_start;;;;;;;;;;;2020;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gms$s15_food_substitution_target;;;;;;;;;;;2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gms$kfo_rd;;;;;;;;;;;livst_rum;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;livst_rum,livst_milk -gms$s15_exo_foodscen_convergence;;;;;;;;;;1;1;1;1;;;;;;;1;1;1;1;;;1;;;1;;;;;;;;;;;;;;;;;;;1; -gms$s15_exo_foodscen_functional_form;;;;;;;;;;1;1;1;1;;;;;;;1;1;1;1;;;1;;;1;;;;;;;;;;;;;;;;;;;1; -gms$s15_exo_foodscen_start;;;;;;;;;;2020;2020;2020;2020;;;;;;;2020;2025;2020;2020;;;2020;;;2020;;;;;;;;;;;;;;;;;;;2020; -gms$s15_exo_foodscen_target;;;;;;;;;;2050;2050;2050;2070;;;;;;;2050;2050;2050;2050;;;2050;;;2050;;;;;;;;;;;;;;;;;;;2050; -gms$s15_exo_waste;;;;0;0;0;0;0;0;1;1;1;1;;;;;;;1;0;1;1;;0;1;0;0;1;0;0;1;1;;;;;;;;;;;;;;;1; +gms$s15_exo_foodscen_convergence;;;;;;;;;;1;1;1;1;;;;;;;1;1;1;1;1;;1;;;1;;;;;;;;;;;;;;;;;;;1; +gms$s15_exo_foodscen_functional_form;;;;;;;;;;1;1;1;1;;;;;;;1;1;1;1;1;;1;;;1;;;;;;;;;;;;;;;;;;;1; +gms$s15_exo_foodscen_start;;;;;;;;;;2020;2020;2020;2020;;;;;;;2020;2025;2025;2025;2025;;2020;;;2020;;;;;;;;;;;;;;;;;;;2020; +gms$s15_exo_foodscen_target;;;;;;;;;;2050;2050;2050;2070;;;;;;;2050;2050;2050;2050;2050;;2050;;;2050;;;;;;;;;;;;;;;;;;;2050; +gms$s15_exo_waste;;;;0;0;0;0;0;0;1;1;1;1;;;;;;;1;0;1;1;0;0;1;0;0;1;0;0;1;1;;;;;;;;;;;;;;;1; gms$s15_waste_scen;;;;;;;;;;1.2;1.3;1.2;1.25;;;;;;;1.2;1.2;1.2;1.2;;;1.2;;;1.2;;;;;;;;;;;;;;;;;;;1.2; -gms$s15_exo_diet;;;;0;0;0;0;0;0;1;1;1;1;;;;;;;1;1;3;3;;0;1;0;0;1;0;0;1;1;;;;;;;;;;;;;;;1; +gms$s15_exo_diet;;;;0;0;0;0;0;0;1;1;1;1;;;;;;;1;1;3;3;0;0;1;0;0;1;0;0;1;1;;;;;;;;;;;;;;;1; gms$c15_kcal_scen;;;;;;;;;;healthy_BMI;no_underweight;healthy_BMI;healthy_BMI;;;;;;;healthy_BMI;healthy_BMI;healthy_BMI;healthy_BMI;;;healthy_BMI;;;healthy_BMI;;;;;;;;;;;;;;;;;;;healthy_BMI; gms$c15_EAT_scen;;;;;;;;;;FLX;;FLX;FLX;;;;;;;FLX;FLX;FLX;FLX;;;FLX;;;FLX;;;;;;;;;;;;;;;;;;;; gms$s15_exo_monogastric;;;;;;;;;;1;0;1;1;;;;;;;1;1;1;1;;1;1;1;1;1;;;;;;;;;;;;;;;;;;;; @@ -44,13 +44,13 @@ gms$c22_protect_scenario_noselect;;;;;;;;;;;;;;;;;;;;;;;;;none;none;BH_IFL;none; gms$s29_snv_shr;;;;0;0;0;0;0;0;0;0;0;0.2;;;;;;;0;;;;;0.2;0.2;0.2;0.2;0.2;;;;;;;;;;;;;;;;;;;; gms$s29_snv_shr_noselect;;;;;;;;;;;;;;;;;;;;;;;;;0;0;0.2;0;0.2;;;;;;;;;;;;;;;;;;;; gms$s29_snv_scenario_target;;;;;;;;;;;;;2030;;;;;;;;;;;;2030;2030;2030;2030;2030;;;;;;;;;;;;;;;;;;;; -gms$c30_bioen_water;;;;rainfed;rainfed;rainfed;rainfed;rainfed;rainfed;rainfed;all;rainfed;rainfed;;;;;;;rainfed;;;rainfed;all;;;;;;;;;;;;;;;;;;;;;;;;; +gms$c30_bioen_water;;;;rainfed;rainfed;rainfed;rainfed;rainfed;rainfed;rainfed;all;rainfed;rainfed;;;;;;;rainfed;;;rainfed;rainfed;;;;;;;;;;;;;;;;;;;;;;;;; gms$s30_annual_max_growth;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0.02 gms$c31_grassl_yld_scenario;cc;nocc;nocc_hist;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gms$c32_shock_scenario;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;none;002lin2030;004lin2030;008lin2030;016lin2030;;;;;;;; gms$s32_initial_distribution;;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;;;;;1;1;0;;;;;;;;;;;;; gms$s32_hvarea;;;;;;;;;;;;;;;;;;;;;;;;;2;2;2;2;2;;;;;2;1;0;;;;;;;;;;;;; -gms$s32_aff_plantation;;;;0;0;0;0;0;0;0;1;0;0;;;;;;;0;;;;0;;;;;;;;;;;;;;;;;;;;;;;;; +gms$s32_aff_plantation;;;;0;0;0;0;0;0;0;1;0;0;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gms$s32_aff_bii_coeff;;;;0;0;0;0;0;0;0;1;0;0;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gms$s32_max_aff_area;;;;Inf;Inf;Inf;Inf;Inf;Inf;500;350;0;700;;;;;;;500;;;;;Inf;Inf;Inf;500;500;;;;;;;;;;;;;;;;;;;; gms$c32_aff_mask;;;;noboreal;noboreal;noboreal;noboreal;noboreal;noboreal;onlytropical;onlytropical;onlytropical;onlytropical;;;;;;;onlytropical;;;;;noboreal;noboreal;noboreal;noboreal;noboreal;;;;;;;;;;;;;;;;;;;; @@ -65,7 +65,7 @@ gms$c35_shock_scenario;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;none;002lin2030;004li gms$s35_forest_damage;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4;4;4;4;4;;;;;;;; gms$s35_secdf_distribution;;;;;;;;;;;;;;;;;;;;;;;;;2;2;2;2;2;;;;;2;2;0;;;;;;;;;;;;; gms$s35_hvarea;;;;;;;;;;;;;;;;;;;;;;;;;2;2;2;2;2;;;;;2;2;0;;;;;;;;;;;;; -gms$factor_costs;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sticky_feb18 +gms$factor_costs;;;;;;;;;;;;;;;;;;;;;;sticky_labor;sticky_labor;sticky_labor;;;;;;;;;;;;;;;;;;;;;;;;;sticky_feb18 gms$c42_watdem_scenario;cc;nocc;nocc_hist;;;;;;;;;;;;;;;;;;;;;;cc;cc;cc;cc;cc;;;;;;;;;;;;;;;;;;;; gms$s42_watdem_nonagr_scenario;;;;1;2;2;3;2;1;1;1;3;1;;;;;;;;;;;;2;1;2;2;1;;;;;;;;;;;;;;;;;;;; gms$s42_irrig_eff_scenario;;;;2;2;2;2;2;2;3;3;3;3;;;;;;;3;;;;;3;3;3;3;3;;;;;;;;;;;;;;;;;;;; @@ -80,11 +80,11 @@ gms$c52_carbon_scenario;cc;nocc;nocc_hist;;;;;;;;;;;;;;;;;;;;;;cc;cc;cc;cc;cc;;; gms$c52_land_carbon_sink_rcp;;nocc;nocc_hist;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;RCP19;RCP26;RCP45;RCP60;RCPBU;RCPBU;; gms$c55_scen_conf;;;;ssp1;ssp2;ssp2;ssp3;ssp4;ssp5;ssp1;ssp1;ssp1;ssp1;;;;;;;ssp1;;;;;ssp1;ssp1;ssp1;ssp1;ssp1;;;;;;;;;;;;;;;;;;;; gms$c55_scen_conf_noselect;;;;ssp1;ssp2;ssp2;ssp3;ssp4;ssp5;ssp1;ssp1;ssp1;ssp1;;;;;;;ssp1;;;;;ssp4;ssp4;ssp1;ssp4;ssp1;;;;;;;;;;;;;;;;;;;; -gms$c56_pollutant_prices;;;;;;;;;;;;;;;;;coupling;emulator;coupling;;;;;none;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;;;;;;;;;;;;;;;;;;;;R32M46-SSP2EU-NPi -gms$c56_pollutant_prices_noselect;;;;;;;;;;;;;;;;;coupling;emulator;coupling;;;;;none;R21M42-SDP-NPi;R21M42-SDP-NPi;R21M42-SDP-NPi;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;;;;;;;;;;;;;;;;;;;;R32M46-SSP2EU-NPi +gms$c56_pollutant_prices;;;;;;;;;;;;;;;;;coupling;emulator;coupling;;;;;;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;;;;;;;;;;;;;;;;;;;;R32M46-SSP2EU-NPi +gms$c56_pollutant_prices_noselect;;;;;;;;;;;;;;;;;coupling;emulator;coupling;;;;;;R21M42-SDP-NPi;R21M42-SDP-NPi;R21M42-SDP-NPi;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;;;;;;;;;;;;;;;;;;;;R32M46-SSP2EU-NPi gms$s56_c_price_exp_aff;;;;50;50;50;50;50;50;50;30;50;50;;;;;;;50;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gms$s56_buffer_aff;;;;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.2;0.3;;;;;;;0.5;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -gms$c56_emis_policy;;;;reddnatveg_nosoil;reddnatveg_nosoil;reddnatveg_nosoil;reddnatveg_nosoil;reddnatveg_nosoil;reddnatveg_nosoil;reddnatveg_nosoil;reddnatveg_nosoil;redd_nosoil;all_nosoil;;;;;;;reddnatveg_nosoil;;;;none;;;;;;;;;;;;;;;;;;;;;;;;; +gms$c56_emis_policy;;;;reddnatveg_nosoil;reddnatveg_nosoil;reddnatveg_nosoil;reddnatveg_nosoil;reddnatveg_nosoil;reddnatveg_nosoil;reddnatveg_nosoil;reddnatveg_nosoil;redd_nosoil;all_nosoil;;;;;;;reddnatveg_nosoil;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gms$s56_minimum_cprice;;;;;;;;;;;;;;0;0;18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gms$c56_mute_ghgprices_until;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;y2020 gms$c57_macc_version;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;PBL_2022;PBL_2022;PBL_2022;PBL_2022;;;;;;;;;;;;;;;; @@ -93,13 +93,13 @@ gms$s58_rewetting_switch;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;1;0;1;;;;;;;;;;;;;;;; gms$c59_som_scenario;cc;nocc;nocc_hist;;;;;;;;;;;;;;;;;;;;;;cc;cc;cc;cc;cc;;;;;;;;;;;;;;;;;;;; gms$maccs;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gms$bioenergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1st2ndgen_priced_feb24 -gms$c60_2ndgen_biodem;;;;;;;;;;;;;;;;;coupling;emulator;coupling;;;;;none;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;;;;;;;;;;;;;;;;;;;;R32M46-SSP2EU-NPi -gms$c60_2ndgen_biodem_noselect;;;;;;;;;;;;;;;;;coupling;emulator;coupling;;;;;none;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;;;;;;;;;;;;;;;;;;;;R32M46-SSP2EU-NPi +gms$c60_2ndgen_biodem;;;;;;;;;;;;;;;;;coupling;emulator;coupling;;;;;;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;;;;;;;;;;;;;;;;;;;;R32M46-SSP2EU-NPi +gms$c60_2ndgen_biodem_noselect;;;;;;;;;;;;;;;;;coupling;emulator;coupling;;;;;;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;R21M42-SDP-PkBudg1000;;;;;;;;;;;;;;;;;;;;R32M46-SSP2EU-NPi gms$c60_1stgen_biodem;;;;phaseout2020;const2020;const2020;const2030;const2020;phaseout2020;phaseout2020;phaseout2020;phaseout2020;phaseout2020;;;;;;;phaseout2020;;;;;phaseout2020;phaseout2020;phaseout2020;phaseout2020;phaseout2020;;;;;;;;;;;;;;;;;;;;phaseout2020 gms$c60_biodem_level;;;;;;;;;;;;;;;;;1;0;;;;;;;1;1;1;1;1;;;;;;;;;;;;;;;;;;;; gms$c60_bioenergy_subsidy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gms$c60_res_2ndgenBE_dem;;;;ssp1;ssp2;ssp2;ssp3;ssp4;ssp5;sdp;ssp2;sdp;sdp;;;;;;;sdp;;;;;ssp4;sdp;ssp4;ssp4;sdp;;;;;;;;;;;;;;;;;;;; -gms$c70_feed_scen;;;;ssp1;ssp2;ssp2;ssp3;ssp4;ssp5;ssp1;ssp5;ssp1;ssp1;;;;;;;ssp1;;ssp1;;;ssp4;ssp1;ssp4;ssp4;ssp1;;;;;;;;;;;;;;;;;;;; +gms$c70_feed_scen;;;;ssp1;ssp2;ssp2;ssp3;ssp4;ssp5;ssp1;ssp5;ssp1;ssp1;;;;;;;ssp1;;ssp1;ssp2;ssp2;ssp4;ssp1;ssp4;ssp4;ssp1;;;;;;;;;;;;;;;;;;;; gms$s73_timber_demand_switch;;;;;;;;;;;;;;;;;;;;;;;;;1;1;1;1;1;;;;;1;1;0;;;;;;;;;;;;; -input['cellular'];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;rev4.109_h12_0bd54110_cellularmagpie_c200_MRI-ESM2-0-ssp119_lpjml-8e6c5eb1.tgz;rev4.109_h12_6819938d_cellularmagpie_c200_MRI-ESM2-0-ssp126_lpjml-8e6c5eb1.tgz;rev4.109_h12_1b5c3817_cellularmagpie_c200_MRI-ESM2-0-ssp245_lpjml-8e6c5eb1.tgz;rev4.109_h12_3c888fa5_cellularmagpie_c200_MRI-ESM2-0-ssp460_lpjml-8e6c5eb1.tgz;rev4.109_h12_fd712c0b_cellularmagpie_c200_MRI-ESM2-0-ssp370_lpjml-8e6c5eb1.tgz;rev4.109_h12_09a63995_cellularmagpie_c200_MRI-ESM2-0-ssp585_lpjml-8e6c5eb1.tgz;; -magicc_emis_scen;;;;;;;;;;;;;;;;;;;;;;REMIND_generic_C_SSP2EU-DSPkB650-DS_betax-rem-5.mif;REMIND_generic_C_SSP2EU-DSPkB650-DS_betax-rem-5.mif;REMIND_generic_C_SSP2EU-DSPkB650-DS_betax-rem-5.mif;;;;;;;;;;;;;;;;;;;;;;;;; +input['cellular'];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;rev4.111_h12_0bd54110_cellularmagpie_c200_MRI-ESM2-0-ssp119_lpjml-8e6c5eb1.tgz;rev4.111_h12_6819938d_cellularmagpie_c200_MRI-ESM2-0-ssp126_lpjml-8e6c5eb1.tgz;rev4.111_h12_1b5c3817_cellularmagpie_c200_MRI-ESM2-0-ssp245_lpjml-8e6c5eb1.tgz;rev4.111_h12_3c888fa5_cellularmagpie_c200_MRI-ESM2-0-ssp460_lpjml-8e6c5eb1.tgz;rev4.111_h12_fd712c0b_cellularmagpie_c200_MRI-ESM2-0-ssp370_lpjml-8e6c5eb1.tgz;rev4.111_h12_09a63995_cellularmagpie_c200_MRI-ESM2-0-ssp585_lpjml-8e6c5eb1.tgz;; +magicc_emis_scen;;;;;;;;;;;;;;;;;;;;;;REMIND_generic_C_SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC-rem-12.mif;REMIND_generic_C_SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC-rem-12.mif;REMIND_generic_C_SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC-rem-12.mif;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/config/scenario_fsec.csv b/config/scenario_fsec.csv index 9bf407fa6..f986caf4c 100644 --- a/config/scenario_fsec.csv +++ b/config/scenario_fsec.csv @@ -76,9 +76,9 @@ gms$s62_max_dem_bioplastic;0;;;;400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gms$c70_fac_req_regr;reg;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gms$c70_feed_scen;;;;;;;;;;;;;;;;;;ssp1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gms$c73_build_demand;;;;;;;;;;;;;;;;;;;;;;;;50pc;;;;;;;;;;;;;;;;;;;;;;;;;;; -input['cellular'];rev4.109_FSEC_3c888fa5_cellularmagpie_c200_MRI-ESM2-0-ssp460_lpjml-8e6c5eb1.tgz;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;rev4.109_FSEC_0bd54110_cellularmagpie_c200_MRI-ESM2-0-ssp119_lpjml-8e6c5eb1.tgz;rev4.109_FSEC_6819938d_cellularmagpie_c200_MRI-ESM2-0-ssp126_lpjml-8e6c5eb1.tgz;;rev4.109_FSEC_1b5c3817_cellularmagpie_c200_MRI-ESM2-0-ssp245_lpjml-8e6c5eb1.tgz;rev4.109_FSEC_3c888fa5_cellularmagpie_c200_MRI-ESM2-0-ssp460_lpjml-8e6c5eb1.tgz;rev4.109_FSEC_fd712c0b_cellularmagpie_c200_MRI-ESM2-0-ssp370_lpjml-8e6c5eb1.tgz;rev4.109_FSEC_09a63995_cellularmagpie_c200_MRI-ESM2-0-ssp585_lpjml-8e6c5eb1.tgz;;; -input['regional'];rev4.109_FSEC_magpie.tgz;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -input['validation'];rev4.109_FSEC_validation.tgz;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +input['cellular'];rev4.111_FSEC_3c888fa5_cellularmagpie_c200_MRI-ESM2-0-ssp460_lpjml-8e6c5eb1.tgz;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;rev4.111_FSEC_0bd54110_cellularmagpie_c200_MRI-ESM2-0-ssp119_lpjml-8e6c5eb1.tgz;rev4.111_FSEC_6819938d_cellularmagpie_c200_MRI-ESM2-0-ssp126_lpjml-8e6c5eb1.tgz;;rev4.111_FSEC_1b5c3817_cellularmagpie_c200_MRI-ESM2-0-ssp245_lpjml-8e6c5eb1.tgz;rev4.111_FSEC_3c888fa5_cellularmagpie_c200_MRI-ESM2-0-ssp460_lpjml-8e6c5eb1.tgz;rev4.111_FSEC_fd712c0b_cellularmagpie_c200_MRI-ESM2-0-ssp370_lpjml-8e6c5eb1.tgz;rev4.111_FSEC_09a63995_cellularmagpie_c200_MRI-ESM2-0-ssp585_lpjml-8e6c5eb1.tgz;;; +input['regional'];rev4.111_FSEC_magpie.tgz;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +input['validation'];rev4.111_FSEC_validation.tgz;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; input['additional'];additional_data_rev4.51.tgz;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; input['calibration'];calibration_FSEC_26Mar24.tgz;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; magicc_emis_scen;bjoernAR6_C_SSP2-NDC.mif;;;bjoernAR6_C_SSP2-PkBudg900.mif;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;bjoernAR6_C_SSP1-NDC.mif;;;;;;;;;;;;bjoernAR6_C_RemSDP-900-MagSSP1.mif;; diff --git a/modules/42_water_demand/agr_sector_aug13/declarations.gms b/modules/42_water_demand/agr_sector_aug13/declarations.gms index b719d383f..c4a2326d9 100644 --- a/modules/42_water_demand/agr_sector_aug13/declarations.gms +++ b/modules/42_water_demand/agr_sector_aug13/declarations.gms @@ -6,18 +6,18 @@ *** | Contact: magpie@pik-potsdam.de parameters - i42_wat_req_k(t,j,k) LPJmL annual water demand for irrigation per ha per year (m^3) + Livestock demand per ton (m^3) - ic42_wat_req_k(j,k) LPJmL annual water demand for irrigation per ha per year (m^3) + Livestock demand per ton (m^3) - i42_env_flows(t,j) Environmental flow requirements if a protection policy is in place (mio. m^3) - i42_env_flows_base(t,j) Environmental flow requirements if no protection policy is in place (mio. m^3) - ic42_env_flow_policy(i) Determines whether environmental flow protection is enforced in the current time step (1) - i42_env_flow_policy(t,i) Determines whether environmental flow protection is enforced (1) - p42_efp(t_all,scen42) Determines whether environmental flow protection is enforced and its fading in of environmental flow policy (1) - p42_efp_fader(t_all) Determines the fading in of environmental flow policy (1) - p42_country_dummy(iso) Dummy parameter indicating whether country is affected by EFP (1) - p42_EFP_region_shr(t_all,i) Weighted share of region with regards to EFP (1) - ic42_pumping_cost(i) Parameter to capture values for pumping costs in a particular time step (USD05MER per m^3) - i42_watdem_total(t,j,watdem_ineldo) Non-agricultural water demand for entire year used in post-processing (mio. m^3 per yr) + i42_wat_req_k(t,j,k) LPJmL annual water demand for irrigation per ha per year (m^3) + Livestock demand per ton (m^3) + ic42_wat_req_k(j,k) LPJmL annual water demand for irrigation per ha per year (m^3) + Livestock demand per ton (m^3) + i42_env_flows(t,j) Environmental flow requirements if a protection policy is in place (mio. m^3) + i42_env_flows_base(t,j) Environmental flow requirements if no protection policy is in place (mio. m^3) + ic42_env_flow_policy(i) Determines whether environmental flow protection is enforced in the current time step (1) + i42_env_flow_policy(t,i) Determines whether environmental flow protection is enforced (1) + p42_efp(t_all,scen42) Determines whether environmental flow protection is enforced and its fading in of environmental flow policy (1) + p42_efp_fader(t_all) Determines the fading in of environmental flow policy (1) + p42_country_dummy(iso) Dummy parameter indicating whether country is affected by EFP (1) + p42_EFP_region_shr(t_all,i) Weighted share of region with regards to EFP (1) + ic42_pumping_cost(i) Parameter to capture values for pumping costs in a particular time step (USD05MER per m^3) + i42_watdem_total(t,j,watdem_ineldo,wtype) Non-agricultural water demand for entire year used in post-processing (mio. m^3 per yr) ; equations diff --git a/modules/42_water_demand/agr_sector_aug13/presolve.gms b/modules/42_water_demand/agr_sector_aug13/presolve.gms index 91107677f..42b824cda 100644 --- a/modules/42_water_demand/agr_sector_aug13/presolve.gms +++ b/modules/42_water_demand/agr_sector_aug13/presolve.gms @@ -40,8 +40,8 @@ vm_watdem.fx("electricity",j) = 0; vm_watdem.fx("domestic",j) = 0; * Fill non-agricultural water demand parameter of entire year for post-processing -i42_watdem_total(t,j,watdem_ineldo) = 0; -i42_watdem_total(t,j,"manufacturing") = sum(wat_src, im_wat_avail(t,wat_src,j)) * s42_reserved_fraction; +i42_watdem_total(t,j,watdem_ineldo,wtype) = 0; +i42_watdem_total(t,j,"manufacturing","withdrawal") = sum(wat_src, im_wat_avail(t,wat_src,j)) * s42_reserved_fraction; * Country switch to determine countries for which EFP holds. * In the default case, the EFP affects all countries when activated. diff --git a/modules/42_water_demand/agr_sector_aug13/sets.gms b/modules/42_water_demand/agr_sector_aug13/sets.gms index 78f20947c..fdd9a670b 100644 --- a/modules/42_water_demand/agr_sector_aug13/sets.gms +++ b/modules/42_water_demand/agr_sector_aug13/sets.gms @@ -18,4 +18,7 @@ sets scen42_to_dev(scen42,dev) Mapping between EFP and economic development status / off . (lic, mic) on . (hic) / + + wtype Water abstraction type + / consumption, withdrawal / ; diff --git a/modules/42_water_demand/all_sectors_aug13/declarations.gms b/modules/42_water_demand/all_sectors_aug13/declarations.gms index 42c836dfc..e94a089e6 100644 --- a/modules/42_water_demand/all_sectors_aug13/declarations.gms +++ b/modules/42_water_demand/all_sectors_aug13/declarations.gms @@ -6,18 +6,18 @@ *** | Contact: magpie@pik-potsdam.de parameters - i42_wat_req_k(t_all,j,k) LPJmL annual water demand for irrigation per ha per yr and livestock demand per ton per yr (m^3) - ic42_wat_req_k(j,k) LPJmL annual water demand for irrigation per ha per yr and livestock demand per ton per yr (m^3) - i42_env_flows(t,j) Environmental flow requirements in case of policy (mio m^3) - i42_env_flows_base(t,j) Environmental flow requirements in case of no policy (mio m^3) - ic42_env_flow_policy(i) Determines whether environmental flow protection is enforced in the current time step (1) - i42_env_flow_policy(t,i) Determines whether environmental flow protection is enforced (1) - p42_efp(t_all,scen42) Determines whether environmental flow protection is enforced and its fading in of environmental flow policy (1) - p42_efp_fader(t_all) Determines the fading in of environmental flow policy (1) - p42_country_dummy(iso) Dummy parameter indicating whether country is affected by EFP (1) - p42_EFP_region_shr(t_all,i) Weighted share of region with regards to EFP (1) - ic42_pumping_cost(i) Parameter to capture values for pumping costs in a particular time step (USD05MER per m^3) - i42_watdem_total(t,j,watdem_ineldo) Non-agricultural water demand for entire year used in post-processing (mio. m^3 per yr) + i42_wat_req_k(t_all,j,k) LPJmL annual water demand for irrigation per ha per yr and livestock demand per ton per yr (m^3) + ic42_wat_req_k(j,k) LPJmL annual water demand for irrigation per ha per yr and livestock demand per ton per yr (m^3) + i42_env_flows(t,j) Environmental flow requirements in case of policy (mio m^3) + i42_env_flows_base(t,j) Environmental flow requirements in case of no policy (mio m^3) + ic42_env_flow_policy(i) Determines whether environmental flow protection is enforced in the current time step (1) + i42_env_flow_policy(t,i) Determines whether environmental flow protection is enforced (1) + p42_efp(t_all,scen42) Determines whether environmental flow protection is enforced and its fading in of environmental flow policy (1) + p42_efp_fader(t_all) Determines the fading in of environmental flow policy (1) + p42_country_dummy(iso) Dummy parameter indicating whether country is affected by EFP (1) + p42_EFP_region_shr(t_all,i) Weighted share of region with regards to EFP (1) + ic42_pumping_cost(i) Parameter to capture values for pumping costs in a particular time step (USD05MER per m^3) + i42_watdem_total(t,j,watdem_ineldo,wtype) Non-agricultural water demand for entire year used in post-processing (mio. m^3 per yr) ; equations diff --git a/modules/42_water_demand/all_sectors_aug13/input.gms b/modules/42_water_demand/all_sectors_aug13/input.gms index e5823ca67..ba297acdf 100644 --- a/modules/42_water_demand/all_sectors_aug13/input.gms +++ b/modules/42_water_demand/all_sectors_aug13/input.gms @@ -92,20 +92,20 @@ $include "./modules/42_water_demand/input/f42_wat_req_fao.csv" $offdelim /; -table f42_watdem_ineldo(t_all,j,scen_watdem_nonagr,watdem_ineldo) Manufacturing electricity and domestic water demand under different socioeconomic scenarios in the growing period (mio. m^3) +table f42_watdem_ineldo(t_all,j,scen_watdem_nonagr,watdem_ineldo,wtype) Manufacturing electricity and domestic water demand under different socioeconomic scenarios in the growing period (mio. m^3) $ondelim $include "./modules/42_water_demand/input/watdem_nonagr_grper.cs3" $offdelim ; -m_fillmissingyears(f42_watdem_ineldo,"j,scen_watdem_nonagr,watdem_ineldo"); +m_fillmissingyears(f42_watdem_ineldo,"j,scen_watdem_nonagr,watdem_ineldo,wtype"); * This input is not used within MAgPIE, but necessary for the postprocessing -table f42_watdem_ineldo_total(t_all,j,scen_watdem_nonagr,watdem_ineldo) Manufacturing electricity and domestic water demand under different socioeconomic scenarios in the entire year (mio. m^3) +table f42_watdem_ineldo_total(t_all,j,scen_watdem_nonagr,watdem_ineldo,wtype) Manufacturing electricity and domestic water demand under different socioeconomic scenarios in the entire year (mio. m^3) $ondelim $if exist "./modules/42_water_demand/input/watdem_nonagr_total.cs3" $include "./modules/42_water_demand/input/watdem_nonagr_total.cs3" $offdelim ; -m_fillmissingyears(f42_watdem_ineldo_total,"j,scen_watdem_nonagr,watdem_ineldo"); +m_fillmissingyears(f42_watdem_ineldo_total,"j,scen_watdem_nonagr,watdem_ineldo,wtype"); parameter f42_env_flows(t_all,j) Environmental flow requirements from LPJ and Smakhtin algorithm (mio. m^3) diff --git a/modules/42_water_demand/all_sectors_aug13/presolve.gms b/modules/42_water_demand/all_sectors_aug13/presolve.gms index baa83ee40..db3266e24 100644 --- a/modules/42_water_demand/all_sectors_aug13/presolve.gms +++ b/modules/42_water_demand/all_sectors_aug13/presolve.gms @@ -36,20 +36,20 @@ if ((s42_pumping = 1), * Water withdrawals in manufacturing, electricity, domestic, ecosystem -* depends on the socioeconomic scenario +* depend on the socioeconomic scenario if (m_year(t) <= sm_fix_SSP2, - vm_watdem.fx(watdem_ineldo,j) = f42_watdem_ineldo(t,j,"ssp2",watdem_ineldo); - i42_watdem_total(t,j,watdem_ineldo) = f42_watdem_ineldo_total(t,j,"ssp2",watdem_ineldo); + vm_watdem.fx(watdem_ineldo,j) = f42_watdem_ineldo(t,j,"ssp2",watdem_ineldo,"withdrawal"); + i42_watdem_total(t,j,watdem_ineldo,wtype) = f42_watdem_ineldo_total(t,j,"ssp2",watdem_ineldo,wtype); else if ((s42_watdem_nonagr_scenario = 1), - vm_watdem.fx(watdem_ineldo,j) = f42_watdem_ineldo(t,j,"ssp1",watdem_ineldo); - i42_watdem_total(t,j,watdem_ineldo) = f42_watdem_ineldo_total(t,j,"ssp1",watdem_ineldo); + vm_watdem.fx(watdem_ineldo,j) = f42_watdem_ineldo(t,j,"ssp1",watdem_ineldo,"withdrawal"); + i42_watdem_total(t,j,watdem_ineldo,wtype) = f42_watdem_ineldo_total(t,j,"ssp1",watdem_ineldo,wtype); Elseif (s42_watdem_nonagr_scenario = 2), - vm_watdem.fx(watdem_ineldo,j) = f42_watdem_ineldo(t,j,"ssp2",watdem_ineldo); - i42_watdem_total(t,j,watdem_ineldo) = f42_watdem_ineldo_total(t,j,"ssp2",watdem_ineldo); + vm_watdem.fx(watdem_ineldo,j) = f42_watdem_ineldo(t,j,"ssp2",watdem_ineldo,"withdrawal"); + i42_watdem_total(t,j,watdem_ineldo,wtype) = f42_watdem_ineldo_total(t,j,"ssp2",watdem_ineldo,wtype); Elseif (s42_watdem_nonagr_scenario = 3), - vm_watdem.fx(watdem_ineldo,j) = f42_watdem_ineldo(t,j,"ssp3",watdem_ineldo); - i42_watdem_total(t,j,watdem_ineldo) = f42_watdem_ineldo_total(t,j,"ssp3",watdem_ineldo); + vm_watdem.fx(watdem_ineldo,j) = f42_watdem_ineldo(t,j,"ssp3",watdem_ineldo,"withdrawal"); + i42_watdem_total(t,j,watdem_ineldo,wtype) = f42_watdem_ineldo_total(t,j,"ssp3",watdem_ineldo,wtype); ); ); diff --git a/modules/42_water_demand/all_sectors_aug13/sets.gms b/modules/42_water_demand/all_sectors_aug13/sets.gms index 2b3a9b311..f78e81a80 100644 --- a/modules/42_water_demand/all_sectors_aug13/sets.gms +++ b/modules/42_water_demand/all_sectors_aug13/sets.gms @@ -21,4 +21,7 @@ sets scen42_to_dev(scen42,dev) Mapping between EFP and economic development status / off . (lic, mic) on . (hic) / + + wtype Water abstraction type + / consumption, withdrawal / ; diff --git a/scripts/start/projects/project_EAT2p0.R b/scripts/start/projects/project_EAT2p0.R index 1c4aadc72..21960617e 100644 --- a/scripts/start/projects/project_EAT2p0.R +++ b/scripts/start/projects/project_EAT2p0.R @@ -28,14 +28,16 @@ cfg$force_download <- TRUE # Special outputs required for Deep Dive cfg$qos <- "standby_maxMem_dayMax" -cfg$output <- c("output_check", - # "extra/highres", # do manually on last magpie run - "extra/disaggregation", - # "projects/FSEC_nitrogenPollution", # do manually on last (high-res) magpie run - # "projects/FSEC_water", # do manually on last (high-res) magpie run - # add output file: pb_report (magpie (special mif created by getReportPBindicators & remind mif (REMIND_generic_scenName.mif)) - "rds_report", - "projects/agmip_report") +cfg$output <- c( + "output_check", + # "extra/highres", # do manually on last magpie run + "extra/disaggregation", + # "projects/FSEC_nitrogenPollution", # do manually on last (high-res) magpie run + # "projects/FSEC_water", # do manually on last (high-res) magpie run + "projects/agmip_report", + # add output file: pb_report (magpie (special mif created by getReportPBindicators & remind mif (REMIND_generic_scenName.mif)) + "rds_report" +) ####################### # SCENARIO DEFINITION # @@ -52,9 +54,10 @@ cfg <- setScenario(cfg, c("cc", "SSP2", "NPI")) # RCP/GCM: 7p0 shocks on crops, livestock, labor # Trade: BAU bau <- function(cfg) { + ### General settings ### # For impacts of CC on labor: - cfg$gms$factor_costs <- "sticky_labor" # @Alex/Edna/Florian: Should we use this one? + cfg$gms$factor_costs <- "sticky_labor" cfg$gms$labor_prod <- "exo" cfg$gms$c37_labor_rcp <- "rcp585" # Note: the effect of labor impacts is very low in MAgPIE and we don't have the @@ -63,26 +66,27 @@ bau <- function(cfg) { ### Components for Decomposition ### # Diets: exogenous EATLancet diet - cfg$gms$s15_exo_diet <- 0 # default - cfg$gms$c15_kcal_scen <- "healthy_BMI" # default (but not active b/c of s15_exo_diet = 0) - cfg$gms$c15_EAT_scen <- "FLX" # default (but not active b/c of s15_exo_diet = 0) + cfg$gms$s15_exo_diet <- 0 # default + cfg$gms$c09_pal_scenario <- "SSP2" # default + cfg$gms$c15_kcal_scen <- "healthy_BMI" # default (but not active b/c of s15_exo_diet = 0) + cfg$gms$c15_EAT_scen <- "FLX" # default (but not active b/c of s15_exo_diet = 0) # Waste: half food waste - cfg$gms$s15_exo_waste <- 0 # default - cfg$gms$s15_waste_scen <- 1.2 # default (but not active b/c of s15_exo_waste = 0) + cfg$gms$s15_exo_waste <- 0 # default + cfg$gms$s15_waste_scen <- 1.2 # default (but not active b/c of s15_exo_waste = 0) # Default interest rate (for default productivity) - cfg$gms$s12_interest_lic <- 0.1 # default - cfg$gms$s12_interest_hic <- 0.04 # default + cfg$gms$s12_interest_lic <- 0.1 # default + cfg$gms$s12_interest_hic <- 0.04 # default # Default livestock productivity - cfg$gms$c70_feed_scen <- "ssp2" + cfg$gms$c70_feed_scen <- "ssp2" # Mitigation: no mitigation beyond NPI (NPI already set in setScenario) - cfg$gms$c56_emis_policy <- "redd+natveg_nosoil" # default + cfg$gms$c56_emis_policy <- "redd+natveg_nosoil" # default cfg$path_to_report_ghgprices <- NA - cfg$gms$c56_pollutant_prices <- "R21M42-SSP2-NPi" # default + cfg$gms$c56_pollutant_prices <- "R21M42-SSP2-NPi" # default cfg$path_to_report_bioenergy <- NA - cfg$gms$c60_2ndgen_biodem <- "R21M42-SSP2-NPi" # default + cfg$gms$c60_2ndgen_biodem <- "R21M42-SSP2-NPi" # default # Climate Change - cfg$input['cellular'] <- "rev4.109_h12_c6a7458f_cellularmagpie_c200_IPSL-CM6A-LR-ssp370_lpjml-8e6c5eb1.tgz" + cfg$input["cellular"] <- "rev4.111EL2_h12_c6a7458f_cellularmagpie_c200_IPSL-CM6A-LR-ssp370_lpjml-8e6c5eb1.tgz" return(cfg) } @@ -90,8 +94,8 @@ bau <- function(cfg) { ### Diet component ## # Globally achieves EL2 diet by 2050 diet <- function(cfg) { - # Transition towards EL2 food intake recommendations until 2050 - cfg$gms$s15_exo_diet <- 3 + # EAT Lancet dietary recommendations + cfg$gms$s15_exo_diet <- 3 # Physical inactivity levels are reduced to 0 from 2020 to 2050 cfg$gms$c09_pal_scenario <- "SDP" @@ -116,7 +120,7 @@ prod <- function(cfg) { # Reduction (halving) of food loss and waste waste <- function(cfg) { # Waste: half food waste - cfg$gms$s15_exo_waste <- 1 + cfg$gms$s15_exo_waste <- 1 cfg$gms$s15_waste_scen <- 1.2 return(cfg) } @@ -124,31 +128,19 @@ waste <- function(cfg) { ### Mitigation component ## # Adds mitigation and land-use policies consistent with 1.5C by 2050 to BAU # Note on our implementation: -# We use a GHG pricing pathway based on a peak budget of 500 with overshoot +# We use a GHG pricing pathway based on a peak budget of 650 with overshoot # starting from 2020. -# Please note that with the diet shift, a lower ghg price would be necessary. -# However, to be consistent with the other models and for the decomposition -# scenarios to be "additive", we choose to use the same ghg price for all scenarios -# where miti is active. -# Reference: Humpenöder, F., Popp, A., Merfort, L., Luderer, G., Weindl, I., Bodirsky, B., Stevanović, M., Klein, D., Rodrigues, R., Bauer, N., Dietrich, J., Lotze-Campen, H., & Rockström, J. (2023). Data repository - Dietary shifts increase the feasibility of 1.5°C pathways (Version 1) [Data set]. Zenodo. https://doi.org/10.5281/zenodo.8328217 miti <- function(cfg) { # Mitigation: consistent with 1.5C considering diet change - cfg$path_to_report_ghgprices <- "/p/projects/magpie/users/beier/EL2_DeepDive_default/remind/output/C_SSP2EU-DSPkB650-DS_betax_AgMIP-rem-5/REMIND_generic_C_SSP2EU-DSPkB500-noDS-rem-5.mif" + # To Do: update to iteration 5! + cfg$path_to_report_ghgprices <- "/p/projects/magpie/users/beier/EL2_DeepDive_release/remind/output/C_SSP2EU-DSPkB650-DS_betax_AgMIP-rem-8/REMIND_generic_C_SSP2EU-DSPkB650-DS_betax_AgMIP-rem-8.mif" cfg$gms$c56_pollutant_prices <- "coupling" - cfg$path_to_report_bioenergy <- "/p/projects/magpie/users/beier/EL2_DeepDive_default/remind/output/C_SSP2EU-DSPkB650-DS_betax_AgMIP-rem-5/REMIND_generic_C_SSP2EU-DSPkB500-noDS-rem-5.mif" + cfg$path_to_report_bioenergy <- "/p/projects/magpie/users/beier/EL2_DeepDive_release/remind/output/C_SSP2EU-DSPkB650-DS_betax_AgMIP-rem-8/REMIND_generic_C_SSP2EU-DSPkB650-DS_betax_AgMIP-rem-8.mif" cfg$gms$c60_2ndgen_biodem <- "coupling" return(cfg) } -### RCP 2.6 ### -# Decomposition Scenario. Apply lower climate impacts based on RCP 2.6 to BAU using GFDL climate model. -rcp26 <- function(cfg) { - cfg$input["cellular"] <- "rev4.99_h12_05fd702e_cellularmagpie_c200_GFDL-ESM4-ssp126_lpjml-8e6c5eb1.tgz" - return(cfg) -} - - ################# # SCENARIO RUNS # ################# @@ -200,7 +192,6 @@ cfg$title <- "BAU_RCP26" cfg <- setScenario(cfg, c("cc", "SSP2", "NPI")) # scenario settings cfg <- bau(cfg = cfg) -cfg <- rcp26(cfg = cfg) start_run(cfg, codeCheck = FALSE) # BAU_NoCC # @@ -245,7 +236,6 @@ cfg <- miti(cfg = cfg) cfg <- diet(cfg = cfg) cfg <- prod(cfg = cfg) cfg <- waste(cfg = cfg) -cfg <- rcp26(cfg = cfg) start_run(cfg, codeCheck = FALSE) # ELM_Diet # @@ -258,7 +248,6 @@ cfg <- bau(cfg = cfg) cfg <- miti(cfg = cfg) cfg <- prod(cfg = cfg) cfg <- waste(cfg = cfg) -cfg <- rcp26(cfg = cfg) start_run(cfg, codeCheck = FALSE) # ELM_PROD # @@ -271,7 +260,6 @@ cfg <- bau(cfg = cfg) cfg <- miti(cfg = cfg) cfg <- diet(cfg = cfg) cfg <- waste(cfg = cfg) -cfg <- rcp26(cfg = cfg) start_run(cfg, codeCheck = FALSE) # ELM_WAST # @@ -284,7 +272,6 @@ cfg <- bau(cfg = cfg) cfg <- miti(cfg = cfg) cfg <- diet(cfg = cfg) cfg <- prod(cfg = cfg) -cfg <- rcp26(cfg = cfg) start_run(cfg, codeCheck = FALSE) # ELM_RCP70 # @@ -323,5 +310,4 @@ cfg <- bau(cfg = cfg) cfg <- diet(cfg = cfg) cfg <- prod(cfg = cfg) cfg <- waste(cfg = cfg) -cfg <- rcp26(cfg = cfg) start_run(cfg, codeCheck = FALSE) diff --git a/scripts/start/projects/project_EAT2p0_DeepDive.R b/scripts/start/projects/project_EAT2p0_DeepDive.R index e12c14a98..ee4984fb0 100644 --- a/scripts/start/projects/project_EAT2p0_DeepDive.R +++ b/scripts/start/projects/project_EAT2p0_DeepDive.R @@ -38,12 +38,11 @@ cfg$output <- c( "rds_report", "runBlackmagicc" # add output file: pb_report (magpie (special mif created by getReportPBindicators & remind mif (REMIND_generic_scenName.mif)) - ) # Set path to own coupled runs: -path2NPIrun <- "/p/projects/magpie/users/beier/EL2_DeepDive_default/remind/output/C_SSP2EU-NPi-rem-5/REMIND_generic_C_SSP2EU-NPi-rem-5.mif" -path2MitigationRun <- "/p/projects/magpie/users/beier/EL2_DeepDive_default/remind/output/C_SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC-rem-5/REMIND_generic_C_SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC-rem-5.mif" +path2MitigationRun <- "/p/projects/magpie/users/beier/EL2_DeepDive_release/remind/output/C_SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC-rem-8/REMIND_generic_C_SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC-rem-8.mif" + ####################### # SCENARIO DEFINITION # @@ -63,28 +62,31 @@ cfg <- setScenario(cfg, c("nocc_hist", "SSP2", "NPI", "EL2_default")) # RCP/GCM: 7p0 shocks on crops, livestock, labor # Trade: BAU bau <- function(cfg) { + + cfg$gms$factor_costs <- "sticky_labor" ### Components for Decomposition ### # Diets: exogenous EATLancet diet - cfg$gms$s15_exo_diet <- 0 # default + cfg$gms$s15_exo_diet <- 0 # default cfg$gms$c15_kcal_scen <- "healthy_BMI" # default (but not active b/c of s15_exo_diet = 0) - cfg$gms$c15_EAT_scen <- "FLX" # default (but not active b/c of s15_exo_diet = 0) + cfg$gms$c15_EAT_scen <- "FLX" # default (but not active b/c of s15_exo_diet = 0) + cfg$gms$c09_pal_scenario <- "SSP2" # default # Waste: half food waste - cfg$gms$s15_exo_waste <- 0 # default + cfg$gms$s15_exo_waste <- 0 # default cfg$gms$s15_waste_scen <- 1.2 # default (but not active b/c of s15_exo_waste = 0) # Default interest rate (for default productivity) cfg$gms$s12_interest_lic <- 0.1 # default cfg$gms$s12_interest_hic <- 0.04 # default # Default livestock productivity cfg$gms$c70_feed_scen <- "ssp2" # default - # Mitigation: no mitigation beyond NPi - cfg$gms$c56_emis_policy <- "none" - cfg$path_to_report_ghgprices <- path2NPIrun - cfg$gms$c56_pollutant_prices <- "coupling" - cfg$path_to_report_bioenergy <- path2NPIrun - cfg$gms$c60_2ndgen_biodem <- "coupling" + # Mitigation: no mitigation beyond NPI + cfg$gms$c56_emis_policy <- "redd+natveg_nosoil" # default + cfg$path_to_report_ghgprices <- NA + cfg$gms$c56_pollutant_prices <- "R21M42-SSP2-NPi" # default + cfg$path_to_report_bioenergy <- NA + cfg$gms$c60_2ndgen_biodem <- "R21M42-SSP2-NPi" # default # Setting REMIND scenario for blackmagicc - cfg$magicc_emis_scen <- "REMIND_generic_C_SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC-rem-5.mif" + cfg$magicc_emis_scen <- "REMIND_generic_C_SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC-rem-12.mif" return(cfg) } @@ -99,19 +101,6 @@ diet <- function(cfg) { return(cfg) } -### Productivity component ## -# High productivity growth rate similar to productivity trends -# associated with SSP1 (e.g., PRD 1 in Stehfest et al.) -prod <- function(cfg) { - # Higher endogenous productivity achieved through lower interest rates - # representing more trust and therefore easier investments - cfg$gms$s12_interest_lic <- 0.06 - cfg$gms$s12_interest_hic <- 0.04 - # Livestock productivity follows SSP1 - cfg$gms$c70_feed_scen <- "ssp1" - return(cfg) -} - ### Waste component ## # Reduction (halving) of food loss and waste waste <- function(cfg) { @@ -131,7 +120,7 @@ miti <- function(cfg) { cfg$path_to_report_ghgprices <- path2MitigationRun cfg$gms$c56_pollutant_prices <- "coupling" cfg$path_to_report_bioenergy <- path2MitigationRun - cfg$gms$c60_2ndgen_biodem <- "coupling" + cfg$gms$c60_2ndgen_biodem <- "coupling" # ecoSysProtAll: (Above ground CO2 emis from LUC in forest, forestry, natveg; All types of emis from peatland; All CH4 and N2O emis), cfg$gms$c56_emis_policy <- "ecoSysProtAll" @@ -222,8 +211,9 @@ cfg <- setScenario(cfg, c("nocc_hist", "SSP2", "NPI", "EL2_default")) cfg <- bau(cfg = cfg) # Mitigation cfg <- miti(cfg = cfg) -cfg$gms$c60_2ndgen_biodem <- "coupling" -cfg$path_to_report_bioenergy <- path2NPIrun +cfg$gms$c60_2ndgen_biodem <- "R21M42-SSP2-NPi" # default +cfg$path_to_report_bioenergy <- NA + start_run(cfg, codeCheck = FALSE) # BAU_MITI - non-CO2 # @@ -235,7 +225,8 @@ cfg <- setScenario(cfg, c("nocc_hist", "SSP2", "NPI", "EL2_default")) cfg <- bau(cfg = cfg) # Mitigation cfg <- miti(cfg = cfg) -# ecoSysProtAll_agMgmtOff: (Above ground CO2 emis from LUC in forest, forestry, natveg; All types of emis from peatland; No further CH4/N2O/other emis related to ag. management) +# ecoSysProtAll_agMgmtOff: +# (Above ground CO2 emis from LUC in forest, forestry, natveg; All types of emis from peatland; No further CH4/N2O/other emis related to ag. management) cfg$gms$c56_emis_policy <- "ecoSysProtAll_agMgmtOff" start_run(cfg, codeCheck = FALSE) @@ -248,60 +239,19 @@ cfg <- setScenario(cfg, c("nocc_hist", "SSP2", "NPI", "EL2_default")) cfg <- bau(cfg = cfg) # Mitigation cfg <- miti(cfg = cfg) -# ecoSysProtOff: (All CH4 and N2O emis except peatland), +# ecoSysProtOff: +# (All CH4 and N2O emis except peatland), cfg$gms$c56_emis_policy <- "ecoSysProtOff" start_run(cfg, codeCheck = FALSE) - -# BAU + EL2-Diet # -# PHD components: -# (1e) Productivity -#cfg$title <- "BAU_Prod" -#cfg <- setScenario(cfg, c("nocc_hist", "SSP2", "NPI", "EL2_default")) -#cfg <- bau(cfg = cfg) -#cfg <- prod(cfg = cfg) -#start_run(cfg, codeCheck = FALSE) - -# (1f) Waste -cfg$title <- "BAU_Waste" -cfg <- setScenario(cfg, c("nocc_hist", "SSP2", "NPI", "EL2_default")) -cfg <- bau(cfg = cfg) -cfg <- waste(cfg = cfg) -start_run(cfg, codeCheck = FALSE) - -# (1g) Diet change -cfg$title <- "BAU_Diet" -cfg <- setScenario(cfg, c("nocc_hist", "SSP2", "NPI", "EL2_default")) -cfg <- bau(cfg = cfg) -cfg <- diet(cfg = cfg) -start_run(cfg, codeCheck = FALSE) - # (1e,f,g) Demand-side options (Diet+Waste) by 2050 cfg$title <- "BAU_Dem" cfg <- setScenario(cfg, c("nocc_hist", "SSP2", "NPI", "EL2_default")) cfg <- bau(cfg = cfg) cfg <- diet(cfg = cfg) -#cfg <- prod(cfg = cfg) cfg <- waste(cfg = cfg) start_run(cfg, codeCheck = FALSE) - -### Single measure Decomposition ### -# (2a) MITI_NDC # -# All production-side land-based mitigation measures and demand-side mitigation (diet change), but no NDCs -#cfg$title <- "MITI_NDC" -# standard setting, but with NDC for miti -#cfg <- setScenario(cfg, c("nocc_hist", "SSP2", "NDC", "EL2_default")) -# BAU settings -#cfg <- bau(cfg = cfg) -# Mitigation (CO2, non-CO2, bioenergy) -#cfg <- miti(cfg = cfg) -# PHD (diet, prod, waste) -#cfg <- diet(cfg = cfg) -#cfg <- prod(cfg = cfg) -#cfg <- waste(cfg = cfg) -#start_run(cfg, codeCheck = FALSE) - # MITI_Bioenergy (mitigation - bioenergy) # # (2b) CO2 and non-CO2 pricing and demand-side mitigation (diet change), but no bioenergy demand from REMIND cfg$title <- "MITI_Bioenergy" @@ -311,11 +261,10 @@ cfg <- setScenario(cfg, c("nocc_hist", "SSP2", "NPI", "EL2_default")) cfg <- bau(cfg = cfg) # Mitigation cfg <- miti(cfg = cfg) -cfg$gms$c60_2ndgen_biodem <- "coupling" -cfg$path_to_report_bioenergy <- path2NPIrun +cfg$gms$c60_2ndgen_biodem <- "R21M42-SSP2-NPi" # default +cfg$path_to_report_bioenergy <- NA # PHD cfg <- diet(cfg = cfg) -#cfg <- prod(cfg = cfg) cfg <- waste(cfg = cfg) start_run(cfg, codeCheck = FALSE) @@ -328,11 +277,11 @@ cfg <- setScenario(cfg, c("nocc_hist", "SSP2", "NPI", "EL2_default")) cfg <- bau(cfg = cfg) # Mitigation cfg <- miti(cfg = cfg) -# ecoSysProtAll_agMgmtOff: (Above ground CO2 emis from LUC in forest, forestry, natveg; All types of emis from peatland; No further CH4/N2O/other emis related to ag. management) +# ecoSysProtAll_agMgmtOff: +# (Above ground CO2 emis from LUC in forest, forestry, natveg; All types of emis from peatland; No further CH4/N2O/other emis related to ag. management) cfg$gms$c56_emis_policy <- "ecoSysProtAll_agMgmtOff" # PHD cfg <- diet(cfg = cfg) -#cfg <- prod(cfg = cfg) cfg <- waste(cfg = cfg) start_run(cfg, codeCheck = FALSE) @@ -345,52 +294,11 @@ cfg <- setScenario(cfg, c("nocc_hist", "SSP2", "NPI", "EL2_default")) cfg <- bau(cfg = cfg) # Mitigation cfg <- miti(cfg = cfg) -# ecoSysProtOff: (All CH4 and N2O emis except peatland), +# ecoSysProtOff: +# (All CH4 and N2O emis except peatland), cfg$gms$c56_emis_policy <- "ecoSysProtOff" # PHD cfg <- diet(cfg = cfg) -#cfg <- prod(cfg = cfg) -cfg <- waste(cfg = cfg) -start_run(cfg, codeCheck = FALSE) - -# MITI_MITI # -# (2a,b,c,d) All demand-side mitigation (PHD, but no other miti measures) -cfg$title <- "MITI_Miti" -# standard setting, but with NDC for miti -cfg <- setScenario(cfg, c("nocc_hist", "SSP2", "NPI", "EL2_default")) -# BAU settings -cfg <- bau(cfg = cfg) -# PHD (diet, prod, waste) -cfg <- diet(cfg = cfg) -#cfg <- prod(cfg = cfg) -cfg <- waste(cfg = cfg) -start_run(cfg, codeCheck = FALSE) - -# MITI_Waste # -# (2f) All production-side land-based mitigation measures and demand-side mitigation without Waste -cfg$title <- "MITI_Waste" -# standard setting, but with NDC for miti -cfg <- setScenario(cfg, c("nocc_hist", "SSP2", "NPI", "EL2_default")) -# BAU settings -cfg <- bau(cfg = cfg) -# Mitigation (CO2, non-CO2, bioenergy) -cfg <- miti(cfg = cfg) -# PHD (diet, prod, waste) -cfg <- diet(cfg = cfg) -#cfg <- prod(cfg = cfg) -start_run(cfg, codeCheck = FALSE) - -# MITI_Diet # -# (2g) All production-side land-based mitigation measures and demand-side mitigation without Diet -cfg$title <- "MITI_Diet" -# standard setting, but with NDC for miti -cfg <- setScenario(cfg, c("nocc_hist", "SSP2", "NPI", "EL2_default")) -# BAU settings -cfg <- bau(cfg = cfg) -# Mitigation (CO2, non-CO2, bioenergy) -cfg <- miti(cfg = cfg) -# PHD (diet, prod, waste) -#cfg <- prod(cfg = cfg) cfg <- waste(cfg = cfg) start_run(cfg, codeCheck = FALSE) @@ -414,7 +322,6 @@ cfg <- bau(cfg = cfg) cfg <- bioenergy(cfg = cfg) # Demand-side change (diet, waste) cfg <- diet(cfg = cfg) -# cfg <- prod(cfg = cfg) cfg <- waste(cfg = cfg) start_run(cfg, codeCheck = FALSE) @@ -426,7 +333,6 @@ cfg <- bau(cfg = cfg) cfg <- priceNonCO2(cfg = cfg) # Demand-side change (diet, waste) cfg <- diet(cfg = cfg) -# cfg <- prod(cfg = cfg) cfg <- waste(cfg = cfg) start_run(cfg, codeCheck = FALSE) @@ -438,7 +344,6 @@ cfg <- bau(cfg = cfg) cfg <- priceCO2(cfg = cfg) # Demand-side change (diet, waste) cfg <- diet(cfg = cfg) -# cfg <- prod(cfg = cfg) cfg <- waste(cfg = cfg) start_run(cfg, codeCheck = FALSE) @@ -452,8 +357,7 @@ cfg <- setScenario(cfg, c("nocc_hist", "SSP2", "NPI", "EL2_default")) cfg <- bau(cfg = cfg) # Mitigation (CO2, non-CO2, bioenergy) cfg <- miti(cfg = cfg) -# PHD (diet, prod, waste) +# PHD (diet, waste) cfg <- diet(cfg = cfg) -#cfg <- prod(cfg = cfg) cfg <- waste(cfg = cfg) start_run(cfg, codeCheck = FALSE)