diff --git a/config/default.cfg b/config/default.cfg index 6ac41d92a6b5325e1403f1d10cd8e8efe347a27c..daead1b06280a92e192c45c6757b6ffdd29fed5f 100755 --- a/config/default.cfg +++ b/config/default.cfg @@ -308,7 +308,7 @@ cfg$gms$cm_earlyreti_rate <- 0.09 # def 0.09 cfg$gms$c_cint_scen <- 1 # def <- 1 cfg$gms$cm_so2tax_scen <- 1 # def <- 1 -cfg$gms$c_damage <- 0.005 # def <- 0.005 +cfg$gms$cm_damage <- 0.005 # def <- 0.005 cfg$gms$cm_solwindenergyscen <- 1 # def <- 1 cfg$gms$c_techAssumptScen <- 1 # def <- 1 cfg$gms$c_ccsinjecratescen <- 1 # def <- 1 @@ -359,7 +359,7 @@ cfg$gms$cm_SlowConvergence <- "off" # def = off cfg$gms$cm_nash_mode <- "parallel" # def = parallel ; Choices: parallel, serial, debug. cfg$gms$cm_OILRETIRE <- "off" # def = off -cfg$gms$c_INCONV_PENALTY <- "on" # def = on +cfg$gms$cm_INCONV_PENALTY <- "on" # def = on cfg$gms$cm_so2_out_of_opt <- "on" # def = on ask Jessi cfg$gms$cm_MOFEX <- "off" # def = off @@ -618,7 +618,7 @@ cfg$RunsUsingTHISgdxAsBAU <- NA # (2): so2 tax is standard # (3): so2 tax is high # (4): so2 tax intermediary between 1 and 2, multiplying (1) tax by the ratio (3)/(2) -# c_damage "c_damage factor for forcing overshoot" +# cm_damage "cm_damage factor for forcing overshoot" #*JeS* can be used to lower forcing overshoot in cm_emiscen 8 scenarios, use only with box model! # cm_solwindenergyscen "scenario for fluctuating renewables, 1 is reference, 2 is pessimistic with limits to fluctuating SE el share" # (0) advanced - cheap investment costs, higher learning rates for pv, csp and wind @@ -701,7 +701,7 @@ cfg$RunsUsingTHISgdxAsBAU <- NA #*RP* from my own experience, this improves convergence and actually decreases total runtime, even if you start from a gdx with good convergence. But, as always, feelings about REMIND runtimes can be misleading :-) # cm_OILRETIRE off !! def = off #*RP* Flag to allow the model to not extract oil, even though the eq_fuelex_dec would force it to extract. -# c_INCONV_PENALTY on !! def = on +# cm_INCONV_PENALTY on !! def = on #*RP* 2012-03-06 Flag to turn on inconvenience penalties, e.g. for air pollution # cm_so2_out_of_opt on !! def = on #*JeS* Flag to exclude aerosols from optimization routine, should be used especially for temperature targets diff --git a/config/scenario_config_H12.csv b/config/old_scenario_config/scenario_config_H12.csv similarity index 100% rename from config/scenario_config_H12.csv rename to config/old_scenario_config/scenario_config_H12.csv diff --git a/config/scenario_config_SSP_H12.csv b/config/old_scenario_config/scenario_config_SSP_H12.csv similarity index 100% rename from config/scenario_config_SSP_H12.csv rename to config/old_scenario_config/scenario_config_SSP_H12.csv diff --git a/config/scenario_config_ToR.csv b/config/old_scenario_config/scenario_config_ToR.csv similarity index 100% rename from config/scenario_config_ToR.csv rename to config/old_scenario_config/scenario_config_ToR.csv diff --git a/config/scenario_config_Validation2018.csv b/config/old_scenario_config/scenario_config_Validation2018.csv similarity index 100% rename from config/scenario_config_Validation2018.csv rename to config/old_scenario_config/scenario_config_Validation2018.csv diff --git a/config/scenario_config_coupled_SSP_H12.csv b/config/old_scenario_config/scenario_config_coupled_SSP_H12.csv similarity index 100% rename from config/scenario_config_coupled_SSP_H12.csv rename to config/old_scenario_config/scenario_config_coupled_SSP_H12.csv diff --git a/config/oneRegi.cfg b/config/oneRegi.cfg index 5d501dee9cc4056386d794d5591aae3307db0971..895f14e5f9ff4f30e1fe2ba0df324bee458be179 100644 --- a/config/oneRegi.cfg +++ b/config/oneRegi.cfg @@ -303,7 +303,7 @@ cfg$gms$cm_earlyreti_rate <- 0.09 # def 0.09 cfg$gms$c_cint_scen <- 1 # def <- 1 cfg$gms$cm_so2tax_scen <- 1 # def <- 1 -cfg$gms$c_damage <- 0.005 # def <- 0.005 +cfg$gms$cm_damage <- 0.005 # def <- 0.005 cfg$gms$cm_solwindenergyscen <- 1 # def <- 1 cfg$gms$c_techAssumptScen <- 1 # def <- 1 cfg$gms$c_ccsinjecratescen <- 1 # def <- 1 @@ -351,7 +351,7 @@ cfg$gms$cm_SlowConvergence <- "off" # def = off cfg$gms$cm_nash_mode <- "parallel" # def = parallel ; Choices: parallel, serial, debug. cfg$gms$cm_OILRETIRE <- "off" # def = off -cfg$gms$c_INCONV_PENALTY <- "on" # def = on +cfg$gms$cm_INCONV_PENALTY <- "on" # def = on cfg$gms$cm_so2_out_of_opt <- "on" # def = on ask Jessi cfg$gms$cm_MOFEX <- "off" # def = off @@ -608,7 +608,7 @@ cfg$RunsUsingTHISgdxAsBAU <- NA # (2): so2 tax is standard # (3): so2 tax is high # (4): so2 tax intermediary between 1 and 2, multiplying (1) tax by the ratio (3)/(2) -# c_damage "c_damage factor for forcing overshoot" +# cm_damage "cm_damage factor for forcing overshoot" #*JeS* can be used to lower forcing overshoot in cm_emiscen 8 scenarios, use only with box model! # cm_solwindenergyscen "scenario for fluctuating renewables, 1 is reference, 2 is pessimistic with limits to fluctuating SE el share" # (0) advanced - cheap investment costs, higher learning rates for pv, csp and wind @@ -688,7 +688,7 @@ cfg$RunsUsingTHISgdxAsBAU <- NA #*RP* from my own experience, this improves convergence and actually decreases total runtime, even if you start from a gdx with good convergence. But, as always, feelings about REMIND runtimes can be misleading :-) # cm_OILRETIRE off !! def = off #*RP* Flag to allow the model to not extract oil, even though the eq_fuelex_dec would force it to extract. -# c_INCONV_PENALTY on !! def = on +# cm_INCONV_PENALTY on !! def = on #*RP* 2012-03-06 Flag to turn on inconvenience penalties, e.g. for air pollution # cm_so2_out_of_opt on !! def = on #*JeS* Flag to exclude aerosols from optimization routine, should be used especially for temperature targets diff --git a/config/scenario_config_SSPSDP.csv b/config/scenario_config_SSPSDP.csv index f8deedec6ed05c77f5a0fa96f84158c57a792312..1f466585b52b4c369a481124997053f5765e3606 100644 --- a/config/scenario_config_SSPSDP.csv +++ b/config/scenario_config_SSPSDP.csv @@ -1,12 +1,12 @@ title;start;regionmapping;CES_parameters;cm_bioenergy_tax;cm_rcp_scen;cm_iterative_target_adj;cm_nash_autoconverge;cm_iteration_max;c_budgetCO2;carbonprice;cm_co2_tax_2020;cm_peakBudgYr;cm_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;cm_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergymaxscen;c_ccsinjecratescen;c_ccscapratescen;techpol;cm_POPscen;cm_GDPscen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_OILRETIRE;cm_LU_emi_scen;c_tradecost_bio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau -SSP1-calibrate;0;./config/regionmappingH12.csv;calibrate;1.75;none;0;1;1;0;none;-1;2100;3;2050;1;0.09;2;1.025;0;1;1;none;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;off;SSP1;1;1;forcing_SSP1;SSP1;2005;./config/input.gdx;; -SSP1-Base;1;./config/regionmappingH12.csv;load;1.75;none;0;1;1;0;none;-1;2100;3;2050;1;0.09;2;1.025;0;1;1;none;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;off;SSP1;1;1;forcing_SSP1;SSP1;2005;./config/input.gdx;; -SSP1-NDC;1;./config/regionmappingH12.csv;load;1.75;rcp45;3;1;1;0;NDC2018;1;2100;3;2050;9;0.09;2;1.025;0;1;1;NDC2018;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;3;off;SSP1;1;1;forcing_SSP1;SSP1;2015;./config/input.gdx;SSP2-NDC;SSP1-Base -SSP1-NPi;0;./config/regionmappingH12.csv;load;1.75;rcp45;3;1;1;0;NPi2018;1;2100;3;2050;9;0.09;2;1.025;0;1;1;NPi2018;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;3;off;SSP1;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SSP1-Base -SSP1-PkBudg900;1;./config/regionmappingH12.csv;load;1.75;rcp20;9;1;1;900;diffPhaseIn2LinFlex;60;2045;3;2050;9;0.09;2;1.025;0;1;1;NDC2018;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;on;SSP1;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SSP1-Base +SSP1-calibrate;0;./config/regionmappingH12.csv;calibrate;1.75;none;0;1;1;0;none;-1;2100;3;2050;1;0.09;2;1.025;0;2;1;none;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;off;SSP1;1;1;forcing_SSP1;SSP1;2005;./config/input.gdx;; +SSP1-Base;1;./config/regionmappingH12.csv;load;1.75;none;0;1;1;0;none;-1;2100;3;2050;1;0.09;2;1.025;0;2;1;none;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;off;SSP1;1;1;forcing_SSP1;SSP1;2005;./config/input.gdx;; +SSP1-NDC;1;./config/regionmappingH12.csv;load;1.75;rcp45;3;1;1;0;NDC2018;1;2100;3;2050;9;0.09;2;1.025;0;2;1;NDC2018;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;3;off;SSP1;1;1;forcing_SSP1;SSP1;2015;./config/input.gdx;SSP2-NDC;SSP1-Base +SSP1-NPi;0;./config/regionmappingH12.csv;load;1.75;rcp45;3;1;1;0;NPi2018;1;2100;3;2050;9;0.09;2;1.025;0;2;1;NPi2018;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;3;off;SSP1;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SSP1-Base +SSP1-PkBudg900;1;./config/regionmappingH12.csv;load;1.75;rcp20;9;1;1;900;diffPhaseIn2LinFlex;60;2045;3;2050;9;0.09;2;1.025;0;2;1;NDC2018;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;on;SSP1;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SSP1-Base SSP1-PkBudg900_plus;0;./config/regionmappingH12.csv;load;1.75;rcp20;9;1;1;900;diffPhaseIn2LinFlex;200;2045;3;2050;9;0.12;2;1.025;4;5;1;NDC2018plus;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;on;SSP1;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SSP1-Base -SSP1-PkBudg1100;1;./config/regionmappingH12.csv;load;1.75;rcp26;9;1;1;1100;diffPhaseIn2LinFlex;100;2080;3;2050;9;0.09;2;1.025;0;1;1;NDC2018;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;on;SSP1;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SSP1-Base -SSP1-PkBudg1300;1;./config/regionmappingH12.csv;load;1.75;rcp26;9;1;1;1300;diffPhaseIn2LinFlex;60;2100;3;2050;9;0.09;2;1.025;0;1;1;NDC2018;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;on;SSP1;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SSP1-Base +SSP1-PkBudg1100;1;./config/regionmappingH12.csv;load;1.75;rcp26;9;1;1;1100;diffPhaseIn2LinFlex;100;2080;3;2050;9;0.09;2;1.025;0;2;1;NDC2018;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;on;SSP1;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SSP1-Base +SSP1-PkBudg1300;1;./config/regionmappingH12.csv;load;1.75;rcp26;9;1;1;1300;diffPhaseIn2LinFlex;60;2100;3;2050;9;0.09;2;1.025;0;2;1;NDC2018;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;on;SSP1;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SSP1-Base SDP-calibrate;0;./config/regionmappingH12.csv;calibrate;1.75;none;0;1;1;0;none;-1;2100;3;2050;1;0.12;2;1.025;4;5;1;none;pop_SDP;gdp_SDP;lowOil;lowGas;lowCoal;2;2;4;2;off;SDP;1;1;forcing_SSP1;SSP1;2005;./config/input.gdx;; SDP-Budg600_plus-Calibrate;0;./config/regionmappingH12.csv;calibrate;1.75;rcp20;5;0;50;600;expoLinear;60;2100;3;2050;9;0.12;2;1.025;4;5;1;NDC2018plus;pop_SDP;gdp_SDP;lowOil;lowGas;lowCoal;2;2;4;2;on;SDP;1;1;forcing_SSP1;SSP1;2005;/p/tmp/aloisdir/REMIND/output/SDP-Budg600_plus-Calibrate_2019-09-16_11.37.39/fulldata.gdx;/p/tmp/aloisdir/REMIND/output/SSP2-NDC_2019-09-15_23.51.16/fulldata.gdx;/p/tmp/aloisdir/REMIND/output/SSP2-NDC_2019-09-15_23.51.16/fulldata.gdx SDP-Base;1;./config/regionmappingH12.csv;load;1.75;none;0;1;1;0;none;-1;2100;3;2050;1;0.12;2;1.025;4;5;1;none;pop_SDP;gdp_SDP;lowOil;lowGas;lowCoal;2;2;4;2;off;SDP;1;1;forcing_SSP1;SSP1;2005;./config/input.gdx;; @@ -39,12 +39,7 @@ SSP5-Budg1300;0;./config/regionmappingH12.csv;load;1.75;rcp26;5;1;1;1300;expoLin SDP-Budg600;1;./config/regionmappingH12.csv;load;1.75;rcp20;5;1;1;600;expoLinear;100;2100;0;2050;9;0.12;2;1.025;4;5;1;NDC2018plus;pop_SDP;gdp_SDP;lowOil;lowGas;lowCoal;2;2;4;2;on;SDP;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SDP-Base SDP-Budg950;1;./config/regionmappingH12.csv;load;1.75;rcp26;5;1;1;950;expoLinear;60;2100;0;2050;9;0.12;2;1.025;4;5;1;NDC2018plus;pop_SDP;gdp_SDP;lowOil;lowGas;lowCoal;2;2;4;2;on;SDP;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SDP-Base SDP-Budg1300;1;./config/regionmappingH12.csv;load;1.75;rcp26;5;1;1;1300;expoLinear;30;2100;0;2050;9;0.12;2;1.025;4;5;1;NDC2018plus;pop_SDP;gdp_SDP;lowOil;lowGas;lowCoal;2;2;4;2;on;SDP;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SDP-Base -SSP1-Budg600;0;./config/regionmappingH12.csv;load;1.75;rcp20;5;1;1;600;expoLinear;100;2100;0;2050;9;0.09;2;1.025;0;1;1;NDC2018;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;on;SSP1;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SSP1-Base +SSP1-Budg600;0;./config/regionmappingH12.csv;load;1.75;rcp20;5;1;1;600;expoLinear;100;2100;0;2050;9;0.09;2;1.025;0;2;1;NDC2018;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;on;SSP1;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SSP1-Base SSP1-Budg600_plus;0;./config/regionmappingH12.csv;load;1.75;rcp20;5;1;1;600;expoLinear;100;2100;0;2050;9;0.12;2;1.025;4;5;1;NDC2018plus;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;on;SSP1;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SSP1-Base -SSP1-Budg950;0;./config/regionmappingH12.csv;load;1.75;rcp26;5;1;1;950;expoLinear;60;2100;0;2050;9;0.09;2;1.025;0;1;1;NDC2018;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;on;SSP1;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SSP1-Base -SSP1-Budg1300;0;./config/regionmappingH12.csv;load;1.75;rcp26;5;1;1;1300;expoLinear;30;2100;0;2050;9;0.09;2;1.025;0;1;1;NDC2018;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;on;SSP1;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SSP1-Base -SDP-PkBudg1000-aff760;1;./config/regionmappingH12.csv;load;1.75;rcp20;9;1;1;1000;diffPhaseIn2LinFlex;150;2045;3;2050;9;0.12;2;1.025;4;5;1;NDC2018plus;pop_SDP;gdp_SDP;lowOil;lowGas;lowCoal;2;2;4;2;on;SDP;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SDP-Base -SDP-PkBudg1000-aff900;1;./config/regionmappingH12.csv;load;1.75;rcp20;9;1;1;1000;diffPhaseIn2LinFlex;150;2045;3;2050;9;0.12;2;1.025;4;5;1;NDC2018plus;pop_SDP;gdp_SDP;lowOil;lowGas;lowCoal;2;2;4;2;on;SDP;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SDP-Base -SDP-PkBudg1000-affInf;1;./config/regionmappingH12.csv;load;1.75;rcp20;9;1;1;1000;diffPhaseIn2LinFlex;150;2045;3;2050;9;0.12;2;1.025;4;5;1;NDC2018plus;pop_SDP;gdp_SDP;lowOil;lowGas;lowCoal;2;2;4;2;on;SDP;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SDP-Base -SDP-PkBudg1000-cost3;1;./config/regionmappingH12.csv;load;1.75;rcp20;9;1;1;1000;diffPhaseIn2LinFlex;150;2045;3;2050;9;0.12;2;1.025;4;5;1;NDC2018plus;pop_SDP;gdp_SDP;lowOil;lowGas;lowCoal;2;2;4;2;on;SDP;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SDP-Base -SDP-PkBudg1000-cost2;1;./config/regionmappingH12.csv;load;1.75;rcp20;9;1;1;1000;diffPhaseIn2LinFlex;150;2045;3;2050;9;0.12;2;1.025;4;5;1;NDC2018plus;pop_SDP;gdp_SDP;lowOil;lowGas;lowCoal;2;2;4;2;on;SDP;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SDP-Base +SSP1-Budg950;0;./config/regionmappingH12.csv;load;1.75;rcp26;5;1;1;950;expoLinear;60;2100;0;2050;9;0.09;2;1.025;0;2;1;NDC2018;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;on;SSP1;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SSP1-Base +SSP1-Budg1300;0;./config/regionmappingH12.csv;load;1.75;rcp26;5;1;1;1300;expoLinear;30;2100;0;2050;9;0.09;2;1.025;0;2;1;NDC2018;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;on;SSP1;1;1;forcing_SSP1;SSP1;2025;./config/input.gdx;SSP2-NDC;SSP1-Base diff --git a/core/datainput.gms b/core/datainput.gms index 86b5416e26c3824ef3240346557c98d0fb85901c..9cbd9afdd004272b025a40e665f31d556b71ac1f 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -30,7 +30,7 @@ vm_demFeForEs.L(t,regi,entyFe,esty,teEs) = 0; vm_demFeForEs.L(t,regi,fe2es(entyFe,esty,teEs)) = 0.1; if (cm_emiscen ne 8, -c_damage = 0.0; +cm_damage = 0.0; ); *------------------------------------------------------------------------------------ @@ -977,22 +977,6 @@ $if %cm_techcosts% == "REG" ); -*RP* 2012-03-06: Inconvenience costs on seprod -$IFTHEN.INCONV %c_INCONV_PENALTY% == "on" -p_inconvpen_lap(ttot,regi,"coaltr")$(ttot.val ge 2005) = 0.5; !! In dollar per GJ seprod at 1.000$/cap GDP, or 10$/GJ at 10.000$_GDP/cap -p_inconvpen_lap(ttot,regi,"biotr")$(ttot.val ge 2005) = 1.0; !! In dollar per GJ seprod -p_inconvpen_lap(ttot,regi,"biotrmod")$(ttot.val ge 2005) = 0.25; !! In dollar per GJ seprod. Biotrmod is a mix of wood stoves and automated wood pellets for heating, which has lower air pollution and other discomfort effects -*' Transformation of coal to liquids/gases/H2 brings local pollution, which is less accepted at higher incomes -> use the inconvenience cost channel -p_inconvpen_lap(ttot,regi,"coalftrec")$(ttot.val ge 2005) = 0.1; !! In dollar per GJ seprod -p_inconvpen_lap(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = 0.1; !! equivalent to 4$/GJ at 40.000$_GDP/cap, or 10$/GJ at 100.000$_GDP/cap -p_inconvpen_lap(ttot,regi,"coalgas")$(ttot.val ge 2005) = 0.1; !! -p_inconvpen_lap(ttot,regi,"coalh2")$(ttot.val ge 2005) = 0.1; !! -p_inconvpen_lap(ttot,regi,"coalh2c")$(ttot.val ge 2005) = 0.1; !! -p_inconvpen_lap(ttot,regi,te)$(ttot.val ge 2005) = p_inconvpen_lap(ttot,regi,te) * 4.3 * 1E-4; !! this is now equivalent to 1$/GJ at 1000$/per Capita in the welfare logarithm -p_inconvpen_lap(ttot,regi,te)$(ttot.val ge 2005) = p_inconvpen_lap(ttot,regi,te) * (1/sm_giga_2_non) / sm_GJ_2_TWa; !! conversion util/(GJ/cap) -> util/(TWa/Gcap) -*RP* these values are all calculated on seprod level. -display p_inconvpen_lap; -$ENDIF.INCONV diff --git a/core/declarations.gms b/core/declarations.gms index 46911c459a9e0d560f7a987700f02439f02a6e81..b436324b99b6d143d0e314d56df885b2b2b09c15 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -51,9 +51,6 @@ pm_esCapCost(tall,all_regi,all_teEs) "Capital energy cost per un pm_ppfen_ratios(all_in,all_in) "limit ratio of two primary production factors of energy (ppfEn)" pm_ppfen_shares(all_in,all_in) "limit the share of one ppfEn in total CES nest inputs" -$IFTHEN.INCONV %c_INCONV_PENALTY% == "on" -p_inconvpen_lap(ttot,all_regi,all_te) "parameter for inconvenience penalty for local air pollution. [T$/TWa at Consumption of 1000$/cap]" -$ENDIF.INCONV pm_cesdata_sigma(ttot,all_in) "elasticities of substitution" diff --git a/core/preloop.gms b/core/preloop.gms index 32b254d8dafe2d0b4e7337925db86ec1b656a49d..1aff0111c6e0e2077e4f2bf093ac84292cf3e466 100644 --- a/core/preloop.gms +++ b/core/preloop.gms @@ -55,9 +55,6 @@ model hybrid /all/; *** GDX stuff ***------------------------------------------------------------------------------ ***------------------------------------------------------------------------------ -$ifthen %c_INCONV_PENALTY% == "on" - vm_prodSe.l(ttot,regi,enty,enty2,te) = 0; -$endif *** Set level values, so that reference value is available even if gdx has no level value to overwrite. Gams complains if .l was never initialized. vm_emiMacSector.l(ttot,regi,enty) = 0; diff --git a/main.gms b/main.gms index 3db8e598aea1931bbe18ecf28245c7bb80a1f2f7..c4992b7bf804adb4b9deba287539cf7d7c6d7c99 100644 --- a/main.gms +++ b/main.gms @@ -223,7 +223,7 @@ cm_rentconvcoal "[grades2poly] number of years required to converge to the cm_earlyreti_rate "maximum portion of capital stock that can be retired in one year" c_cint_scen "additional GHG emissions from mining fossil fuels" cm_so2tax_scen "level of SO2 tax" -c_damage "c_damage factor for forcing overshoot" +cm_damage "cm_damage factor for forcing overshoot" cm_solwindenergyscen "scenario for fluctuating renewables, 1 is reference, 2 is pessimistic with limits to fluctuating SE el share" c_techAssumptScen "scenario for assumptions of energy technologies based on SSP scenarios, 1: SSP2 (default), 2: SSP1, 3: SSP5" c_ccsinjecratescen "CCS injection rate factor, 0.5% by default yielding a 60 Mt per year IR" @@ -330,7 +330,7 @@ cm_earlyreti_rate = 0.09; !! def 0.09 cm_so2tax_scen = 1; !! def = c_cint_scen = 1; !! def = 1 -c_damage = 0.005; !! def = 0.005 +cm_damage = 0.005; !! def = 0.005 cm_solwindenergyscen = 1; !! def = 1 c_techAssumptScen = 1; !! def = 1 c_ccsinjecratescen = 1; !! def = 1 @@ -381,7 +381,7 @@ $SETGLOBAL cm_SlowConvergence off !! def = off $setGlobal cm_nash_mode parallel !! def = parallel $setGlobal c_EARLYRETIRE on !! def = on $setGlobal cm_OILRETIRE off !! def = off -$setglobal c_INCONV_PENALTY on !! def = on +$setglobal cm_INCONV_PENALTY on !! def = on $setGlobal cm_so2_out_of_opt on !! def = on $setGlobal c_skip_output off !! def = off $setGlobal cm_MOFEX off !! def = off diff --git a/modules/02_welfare/utilitarian/bounds.gms b/modules/02_welfare/utilitarian/bounds.gms index bc16117f22fdf4a6f645706c764b65a6b6ba1566..ad363b94ca2de4f838ccbdf2ba694d6000b31c62 100644 --- a/modules/02_welfare/utilitarian/bounds.gms +++ b/modules/02_welfare/utilitarian/bounds.gms @@ -6,7 +6,7 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/02_welfare/utilitarian/bounds.gms -$IFTHEN.INCONV %c_INCONV_PENALTY% == "on" +$IFTHEN.INCONV %cm_INCONV_PENALTY% == "on" v02_sesoInconvPenSlack.lo(t,regi)=0; v02_inconvPenCoalSolids.fx("2005",regi) = 0; v02_inconvPenCoalSolids.lo(t,regi) = 0; diff --git a/modules/02_welfare/utilitarian/datainput.gms b/modules/02_welfare/utilitarian/datainput.gms index ca2018e316ca530b3e83599c4e440396c522f439..4c8d6c3ec499b226f2d896a541b6caaaef6c61bc 100644 --- a/modules/02_welfare/utilitarian/datainput.gms +++ b/modules/02_welfare/utilitarian/datainput.gms @@ -9,4 +9,21 @@ pm_welf(ttot)$(ttot.val ge 2005) = 1; $if %cm_less_TS% == "on" pm_welf("2060") = 0.9; +*RP* 2012-03-06: Inconvenience costs on seprod +$IFTHEN.INCONV %cm_INCONV_PENALTY% == "on" +p02_inconvpen_lap(ttot,regi,"coaltr")$(ttot.val ge 2005) = 0.5; !! In dollar per GJ seprod at 1.000$/cap GDP, or 10$/GJ at 10.000$_GDP/cap +p02_inconvpen_lap(ttot,regi,"biotr")$(ttot.val ge 2005) = 1.0; !! In dollar per GJ seprod +p02_inconvpen_lap(ttot,regi,"biotrmod")$(ttot.val ge 2005) = 0.25; !! In dollar per GJ seprod. Biotrmod is a mix of wood stoves and automated wood pellets for heating, which has lower air pollution and other discomfort effects +*' Transformation of coal to liquids/gases/H2 brings local pollution, which is less accepted at higher incomes -> use the inconvenience cost channel +p02_inconvpen_lap(ttot,regi,"coalftrec")$(ttot.val ge 2005) = 0.1; !! In dollar per GJ seprod +p02_inconvpen_lap(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = 0.1; !! equivalent to 4$/GJ at 40.000$_GDP/cap, or 10$/GJ at 100.000$_GDP/cap +p02_inconvpen_lap(ttot,regi,"coalgas")$(ttot.val ge 2005) = 0.1; !! +p02_inconvpen_lap(ttot,regi,"coalh2")$(ttot.val ge 2005) = 0.1; !! +p02_inconvpen_lap(ttot,regi,"coalh2c")$(ttot.val ge 2005) = 0.1; !! +p02_inconvpen_lap(ttot,regi,te)$(ttot.val ge 2005) = p02_inconvpen_lap(ttot,regi,te) * 4.3 * 1E-4; !! this is now equivalent to 1$/GJ at 1000$/per Capita in the welfare logarithm +p02_inconvpen_lap(ttot,regi,te)$(ttot.val ge 2005) = p02_inconvpen_lap(ttot,regi,te) * (1/sm_giga_2_non) / sm_GJ_2_TWa; !! conversion util/(GJ/cap) -> util/(TWa/Gcap) +*RP* these values are all calculated on seprod level. +display p02_inconvpen_lap; +$ENDIF.INCONV + *** EOF ./modules/02_welfare/utilitarian/datainput.gms \ No newline at end of file diff --git a/modules/02_welfare/utilitarian/declarations.gms b/modules/02_welfare/utilitarian/declarations.gms index 9f6d1c3eb67c670da364253d09ba30af63bac94c..49d34a3bc9578743a8e7532b929f133da9daab42 100644 --- a/modules/02_welfare/utilitarian/declarations.gms +++ b/modules/02_welfare/utilitarian/declarations.gms @@ -13,6 +13,10 @@ parameters pm_welf(tall) "Weight parameter in the welfare function to avoid jumps with cm_less_TS" pm_w(all_regi) "Negishi weights" pm_prtp(all_regi) "Pure rate of time preference" + +$ifthen.inconv %cm_INCONV_PENALTY% == "on" +p02_inconvpen_lap(ttot,all_regi,all_te) "Parameter for inconvenience penalty for local air pollution. [T$/TWa at Consumption of 1000$/cap]" +$endif.inconv ; ***------------------------------------------------------------------------------- @@ -22,7 +26,7 @@ variables v02_welfare(all_regi) "Regional welfare" vm_welfareGlob "Global welfare" -$ifthen.inconv %c_INCONV_PENALTY% == "on" +$ifthen.inconv %cm_INCONV_PENALTY% == "on" v02_inconvPen(ttot,all_regi) "Inconvenience penalty in the welfare function, e.g. for air pollution. Unit: ?Utils?" v02_inconvPenCoalSolids(ttot,all_regi) "Inconvenience penalty in the welfare function, e.g. for air pollution. Unit: ?Utils?" v02_inconvPenCoalSolids(ttot,all_regi) "Inconvenience penalty in the welfare function, e.g. for air pollution. Unit: ?Utils?" @@ -41,7 +45,7 @@ equations q02_welfareGlob "Global welfare" q02_welfare "Regional welfare" -$ifthen.inconv %c_INCONV_PENALTY% == "on" +$ifthen.inconv %cm_INCONV_PENALTY% == "on" q02_inconvPen(ttot,all_regi) "Calculate the inconvenience penalty v02_inconvPen" q02_inconvPenCoalSolids(ttot,all_regi) "Calculate the inconvenience penalty v02_inconvPen" $endif.inconv diff --git a/modules/02_welfare/utilitarian/equations.gms b/modules/02_welfare/utilitarian/equations.gms index 814168aaa34ef63c23187d25a42a43bab2260017..3a892869f8025c38a5b9e0008fef613ff67aa96c 100644 --- a/modules/02_welfare/utilitarian/equations.gms +++ b/modules/02_welfare/utilitarian/equations.gms @@ -28,11 +28,11 @@ q02_welfare(regi).. pm_welf(ttot) * pm_ts(ttot) * (1 / ( (1 + pm_prtp(regi))**(pm_ttot_val(ttot)-2005) ) ) * ( (pm_pop(ttot,regi) * ( - ((( (vm_cons(ttot,regi)*(1-c_damage*vm_forcOs(ttot)*vm_forcOs(ttot)))/pm_pop(ttot,regi))**(1-1/pm_ies(regi))-1)/(1-1/pm_ies(regi)) )$(pm_ies(regi) ne 1) - + (log((vm_cons(ttot,regi)*(1-c_damage*vm_forcOs(ttot)*vm_forcOs(ttot))) / pm_pop(ttot,regi)))$(pm_ies(regi) eq 1) + ((( (vm_cons(ttot,regi)*(1-cm_damage*vm_forcOs(ttot)*vm_forcOs(ttot)))/pm_pop(ttot,regi))**(1-1/pm_ies(regi))-1)/(1-1/pm_ies(regi)) )$(pm_ies(regi) ne 1) + + (log((vm_cons(ttot,regi)*(1-cm_damage*vm_forcOs(ttot)*vm_forcOs(ttot))) / pm_pop(ttot,regi)))$(pm_ies(regi) eq 1) ) ) -$if %c_INCONV_PENALTY% == "on" - v02_inconvPen(ttot,regi) - v02_inconvPenCoalSolids(ttot,regi) +$if %cm_INCONV_PENALTY% == "on" - v02_inconvPen(ttot,regi) - v02_inconvPenCoalSolids(ttot,regi) ) ) ; @@ -40,13 +40,13 @@ $if %c_INCONV_PENALTY% == "on" - v02_inconvPen(ttot,regi) - v02_inconvPenCoalSo ***--------------------------------------------------------------------------- *' Calculation of the inconvenience penalty: ***--------------------------------------------------------------------------- -$IFTHEN.INCONV %c_INCONV_PENALTY% == "on" +$IFTHEN.INCONV %cm_INCONV_PENALTY% == "on" q02_inconvPen(t,regi)$(t.val > 2005).. v02_inconvPen(t,regi) =g= *' local air pollution for all entySe production except for coal solids (=sesofos), which is treated separately (see below) SUM(pe2se(enty,entySe,te)$(NOT sameas(entySe,"sesofos")), - p_inconvpen_lap(t,regi,te) * (vm_prodSe(t,regi,enty,entySe,te)) + p02_inconvpen_lap(t,regi,te) * (vm_prodSe(t,regi,enty,entySe,te)) ) ; @@ -54,7 +54,7 @@ q02_inconvPenCoalSolids(t,regi)$(t.val > 2005).. v02_inconvPenCoalSolids(t,regi) =g= *' local air pollution for coal: inconvinienve penalty applies only for buildings use; slack variable ensures that v02_inconvPen can stay > 0 - p_inconvpen_lap(t,regi,"coaltr") * (vm_prodSe(t,regi,"pecoal","sesofos","coaltr") + p02_inconvpen_lap(t,regi,"coaltr") * (vm_prodSe(t,regi,"pecoal","sesofos","coaltr") - vm_cesIO(t,regi,"fesoi")) + v02_sesoInconvPenSlack(t,regi) ; diff --git a/modules/15_climate/magicc/postsolve.gms b/modules/15_climate/magicc/postsolve.gms index 77539f6e0c08ea369c9e1ab8ff3fbc989007bf5f..8505f8ad676e18e00fd300c9e1de848c56d80810 100644 --- a/modules/15_climate/magicc/postsolve.gms +++ b/modules/15_climate/magicc/postsolve.gms @@ -11,7 +11,7 @@ *' emission budgets are adjusted, such that a predefined forcing target in 2100 is met *' the actual 2100 forcing after each iteration is calculated by a magicc run started from GAMS ***--------------------------------------------------------------------------- - +*' @code *** Generate MAGICC scenario file $include "./core/magicc.gms"; *** execute MAGICC (this is cheap enough, ~2s) @@ -139,4 +139,5 @@ if (cm_iterative_target_adj eq 2, !! otherwise adjustment happens in core/postso display pm_taxCO2eq; ); ); +*' @stop *** EOF ./modules/15_climate/magicc/postsolve.gms diff --git a/modules/40_techpol/CombLowCandCoalPO/not_used.txt b/modules/40_techpol/CombLowCandCoalPO/not_used.txt index b28e2793fe8bfc8fcf8816da617e44b266a71481..627ba749076df62b26806809285b0c7ad9a144e3 100644 --- a/modules/40_techpol/CombLowCandCoalPO/not_used.txt +++ b/modules/40_techpol/CombLowCandCoalPO/not_used.txt @@ -6,3 +6,4 @@ pm_pop,parameter,??? pm_gdp,input,questionnaire vm_shUePeT,input,questionnaire pm_NuclearConstraint,input,questionnaire +cm_nucscen,input,questionnaire diff --git a/modules/40_techpol/EVmandates/not_used.txt b/modules/40_techpol/EVmandates/not_used.txt index 932193bea19b627812f4345d0ef78eb7134b8f6f..2bcf9a46412ee65515fe119d2c59b4e3e8f6cc97 100644 --- a/modules/40_techpol/EVmandates/not_used.txt +++ b/modules/40_techpol/EVmandates/not_used.txt @@ -8,3 +8,4 @@ pm_prodCouple,parameter,??? pm_gdp,input,questionnaire vm_shUePeT,input,questionnaire pm_NuclearConstraint,input,questionnaire +cm_nucscen,input,questionnaire diff --git a/modules/40_techpol/NDC2018plus/not_used.txt b/modules/40_techpol/NDC2018plus/not_used.txt index a85ff3761943ae0143c4f560df015b0dfe4d1b12..e38b99e6f561204b5f3f251c5bab772c887ea977 100644 --- a/modules/40_techpol/NDC2018plus/not_used.txt +++ b/modules/40_techpol/NDC2018plus/not_used.txt @@ -1,2 +1,3 @@ name,type,reason pm_ttot_val,parameter,??? +cm_nucscen,input,questionnaire diff --git a/modules/40_techpol/NPi2018/not_used.txt b/modules/40_techpol/NPi2018/not_used.txt index ab73d83b4b70da2c8e91ef9558d64bea9e2cf9f6..274f701e51edac61247a43420769b4b8cb79104a 100644 --- a/modules/40_techpol/NPi2018/not_used.txt +++ b/modules/40_techpol/NPi2018/not_used.txt @@ -2,3 +2,4 @@ name,type,reason pm_ttot_val,parameter,??? vm_deltaCap,input,questionnaire pm_NuclearConstraint,input,questionnaire +cm_nucscen,input,questionnaire diff --git a/modules/40_techpol/coalPhaseout/not_used.txt b/modules/40_techpol/coalPhaseout/not_used.txt index 0bc1210da53ab24ab25d16e89dc32dc74d4b3227..79794be911f4d6e52436285386f8d79da0f6caff 100644 --- a/modules/40_techpol/coalPhaseout/not_used.txt +++ b/modules/40_techpol/coalPhaseout/not_used.txt @@ -7,3 +7,4 @@ pm_pop,parameter,??? pm_gdp,input,questionnaire vm_shUePeT,input,questionnaire pm_NuclearConstraint,input,questionnaire +cm_nucscen,input,questionnaire diff --git a/modules/40_techpol/coalPhaseoutRegional/not_used.txt b/modules/40_techpol/coalPhaseoutRegional/not_used.txt index 9689ac912e649d13e15ac81250736444f41c4e74..a80fc0cfa8b8f2257a43bc8e1d91c1ccfd6939d4 100644 --- a/modules/40_techpol/coalPhaseoutRegional/not_used.txt +++ b/modules/40_techpol/coalPhaseoutRegional/not_used.txt @@ -6,3 +6,4 @@ pm_prodCouple,parameter,??? pm_gdp,input,questionnaire vm_shUePeT,input,questionnaire pm_NuclearConstraint,input,questionnaire +cm_nucscen,input,questionnaire diff --git a/modules/40_techpol/lowCarbonPush/not_used.txt b/modules/40_techpol/lowCarbonPush/not_used.txt index 65eaf870e2d066f5ac37db722aee0380624edd6a..53da34caf09b46b57941ffac36a3e49dc133469d 100644 --- a/modules/40_techpol/lowCarbonPush/not_used.txt +++ b/modules/40_techpol/lowCarbonPush/not_used.txt @@ -8,3 +8,4 @@ pm_pop,parameter,??? pm_gdp,input,questionnaire vm_shUePeT,input,questionnaire pm_NuclearConstraint,input,questionnaire +cm_nucscen,input,questionnaire diff --git a/modules/40_techpol/none/not_used.txt b/modules/40_techpol/none/not_used.txt index e65a7ca110a9b83302fd3e7bb4894835dad7deae..8b0430fc2bbd74c168c8bd4a473a55ef4cdbe8dd 100644 --- a/modules/40_techpol/none/not_used.txt +++ b/modules/40_techpol/none/not_used.txt @@ -9,3 +9,4 @@ pm_pop,parameter,??? pm_gdp,input,questionnaire vm_shUePeT,input,questionnaire pm_NuclearConstraint,input,questionnaire +cm_nucscen,input,questionnaire diff --git a/standalone/MOFEX/MOFEX.gms b/standalone/MOFEX/MOFEX.gms index dcff91ca6abc746336e68975421767cca0741e2e..36811f283ad510ddd5762da28ad92eeec0f8eed3 100644 --- a/standalone/MOFEX/MOFEX.gms +++ b/standalone/MOFEX/MOFEX.gms @@ -155,7 +155,7 @@ cm_rentconvcoal "[grades2poly] number of years required to converge to the cm_earlyreti_rate "maximum portion of capital stock that can be retired in one year" c_cint_scen "additional GHG emissions from mining fossil fuels" cm_so2tax_scen "level of SO2 tax" -c_damage "c_damage factor for forcing overshoot" +cm_damage "cm_damage factor for forcing overshoot" cm_solwindenergyscen "scenario for fluctuating renewables, 1 is reference, 2 is pessimistic with limits to fluctuating SE el share" c_techAssumptScen "scenario for assumptions of energy technologies based on SSP scenarios, 1: SSP2 (default), 2: SSP1, 3: SSP5" c_ccsinjecratescen "CCS injection rate factor, 0.5% by default yielding a 60 Mt per year IR" @@ -256,7 +256,7 @@ cm_earlyreti_rate = 0.09; !! def 0.09 cm_so2tax_scen = 1; !! def = c_cint_scen = 1; !! def = 1 -c_damage = 0.005; !! def = 0.005 +cm_damage = 0.005; !! def = 0.005 cm_solwindenergyscen = 1; !! def = 1 c_techAssumptScen = 1; !! def = 1 c_ccsinjecratescen = 1; !! def = 1 @@ -297,7 +297,7 @@ cm_noReboundEffect = 0; $SETGLOBAL cm_SlowConvergence off !! def = off $setGlobal cm_nash_mode parallel !! def = parallel $setGlobal cm_OILRETIRE on !! def = off -$setglobal c_INCONV_PENALTY on !! def = on +$setglobal cm_INCONV_PENALTY on !! def = on $setGlobal cm_so2_out_of_opt on !! def = on $setGlobal c_skip_output off !! def = off $setGlobal cm_MOFEX on !! def = off diff --git a/standalone/template.gms b/standalone/template.gms index 42c7e80a797bfc61fea89bae2db623655ca6b7cd..6a7af0042b5362a62b13b691cd48cd68c36bcb66 100644 --- a/standalone/template.gms +++ b/standalone/template.gms @@ -163,7 +163,7 @@ cm_rentconvcoal "[grades2poly] number of years required to converge to the cm_earlyreti_rate "maximum portion of capital stock that can be retired in one year" c_cint_scen "additional GHG emissions from mining fossil fuels" cm_so2tax_scen "level of SO2 tax" -c_damage "c_damage factor for forcing overshoot" +cm_damage "cm_damage factor for forcing overshoot" cm_solwindenergyscen "scenario for fluctuating renewables, 1 is reference, 2 is pessimistic with limits to fluctuating SE el share" c_techAssumptScen "scenario for assumptions of energy technologies based on SSP scenarios, 1: SSP2 (default), 2: SSP1, 3: SSP5" c_ccsinjecratescen "CCS injection rate factor, 0.5% by default yielding a 60 Mt per year IR" @@ -264,7 +264,7 @@ cm_earlyreti_rate = 0.09; !! def 0.09 cm_so2tax_scen = 1; !! def = c_cint_scen = 1; !! def = 1 -c_damage = 0.005; !! def = 0.005 +cm_damage = 0.005; !! def = 0.005 cm_solwindenergyscen = 1; !! def = 1 c_techAssumptScen = 1; !! def = 1 c_ccsinjecratescen = 1; !! def = 1 @@ -305,7 +305,7 @@ cm_noReboundEffect = 0; $SETGLOBAL cm_SlowConvergence off !! def = off $setGlobal cm_nash_mode parallel !! def = parallel $setGlobal cm_OILRETIRE off !! def = off -$setglobal c_INCONV_PENALTY on !! def = on +$setglobal cm_INCONV_PENALTY on !! def = on $setGlobal cm_so2_out_of_opt on !! def = on $setGlobal c_skip_output off !! def = off $setGlobal cm_MOFEX off !! def = off