Skip to content
Snippets Groups Projects
Commit 4c473662 authored by Lavinia Baumstark's avatar Lavinia Baumstark
Browse files

increased input data version, deleted old realization diffPhaseIn2LinFlex

parent 482d1a3b
No related branches found
No related tags found
1 merge request!78new input data revision, deleted old realization
......@@ -22,7 +22,7 @@ cfg$title <- "default"
cfg$regionmapping <- "config/regionmappingH12.csv"
#### Current input data revision (<mainrevision>.<subrevision>) ####
cfg$revision <- 5.938
cfg$revision <- 5.9385
#### Force the model to download new input data ####
cfg$force_download <- FALSE
......
*** | (C) 2006-2019 Potsdam Institute for Climate Impact Research (PIK)
*** | authors, and contributors see CITATION.cff file. This file is part
*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of
*** | AGPL-3.0, you are granted additional permissions described in the
*** | REMIND License Exception, version 1.0 (see LICENSE file).
*** | Contact: remind@pik-potsdam.de
*** SOF ./modules/45_carbonprice/diffPhaseIn2LinFlex/datainput.gms
***------------------------------------------------------------------------------------------------------------------------
*** *BS* 20190930 linear convergence with starting points differentiated by GDP/capita, global price from 2040
***-----------------------------------------------------------------------------------------------------------------------
*** can make this flexible later
s45_stagestart = 2020;
*** price from stageend onwards (value set here is for first iteration only, will be adjusted afterwards)
s45_constantCO2price = 500 * sm_DptCO2_2_TDpGtC;
*** convergence to global CO2 price depends on GDP per capita (in 1e3 $ PPP 2005).
p45_gdppcap2015_PPP(regi) = pm_gdp("2015",regi)/pm_shPPPMER(regi) / pm_pop("2015",regi);
display p45_gdppcap2015_PPP;
*** suggestion by Robert: differentiate "zero-crossing" of linear convergence path
*** earlier zero-crossing --> higher starting price during convergence period
*** for now GDP/cap differentiation hardcoded
*** BS: modified limits to have SSA in first category
p45_phasein_zeroyear(regi)$(p45_gdppcap2015_PPP(regi) le 3) = 2024;
p45_phasein_zeroyear(regi)$(p45_gdppcap2015_PPP(regi) gt 3 and p45_gdppcap2015_PPP(regi) le 5) = 2023;
p45_phasein_zeroyear(regi)$(p45_gdppcap2015_PPP(regi) gt 5 and p45_gdppcap2015_PPP(regi) le 8) = 2022;
p45_phasein_zeroyear(regi)$(p45_gdppcap2015_PPP(regi) gt 8 and p45_gdppcap2015_PPP(regi) le 11) = 2021;
p45_phasein_zeroyear(regi)$(p45_gdppcap2015_PPP(regi) gt 11 and p45_gdppcap2015_PPP(regi) le 14) = 2020;
p45_phasein_zeroyear(regi)$(p45_gdppcap2015_PPP(regi) gt 14 and p45_gdppcap2015_PPP(regi) le 19) = 2018;
p45_phasein_zeroyear(regi)$(p45_gdppcap2015_PPP(regi) gt 19 and p45_gdppcap2015_PPP(regi) le 24) = 2016;
p45_phasein_zeroyear(regi)$(p45_gdppcap2015_PPP(regi) gt 24 and p45_gdppcap2015_PPP(regi) le 30) = 2013;
p45_phasein_zeroyear(regi)$(p45_gdppcap2015_PPP(regi) gt 30) = 2010;
display p45_phasein_zeroyear;
p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) le 3) = 0.1;
p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 3 and p45_gdppcap2015_PPP(regi) le 5) = 0.2;
p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 5 and p45_gdppcap2015_PPP(regi) le 8) = 0.3;
p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 8 and p45_gdppcap2015_PPP(regi) le 11) = 0.5;
p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 11 and p45_gdppcap2015_PPP(regi) le 14) = 0.65;
p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 14 and p45_gdppcap2015_PPP(regi) le 19) = 0.8;
p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 19 and p45_gdppcap2015_PPP(regi) le 24) = 0.9;
p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 24) = 1;
display p45_phasein_2025ratio;
*** get CO2 price before transition stage from reference (NDC) run
***Execute_Loadpoint 'input_ref' p45_tauCO2_ref = pm_taxCO2eq;
***pm_taxCO2eq(ttot,regi)$(ttot.val le s45_stagestart) = p45_tauCO2_ref(ttot,regi);
***display p45_tauCO2_ref;
*** for the current implementation, use the following trajectory for rich countries:
*** global price is linear from 2010 until the pkBudgYr, then increases with cm_taxCO2inc_after_peakBudgYr
if(cm_co2_tax_2020 lt 0,
abort "please choose a valid cm_co2_tax_2020"
elseif cm_co2_tax_2020 ge 0,
*** convert tax value from $/t CO2eq to T$/GtC
p45_CO2priceTrajDeveloped("2040")= 3 * cm_co2_tax_2020 * sm_DptCO2_2_TDpGtC; !! shifted to 2040 to make sure that even in delay scenarios the fixpoint of the linear price path is inside the "t" range, otherwise the CO2 prices from reference run may be overwritten
*** The factor 3 comes from shifting the 2020 value 20 years into the future at linear increase of 10% of 2020 value per year.
);
p45_CO2priceTrajDeveloped(ttot)$((ttot.val gt 2005) AND (ttot.val ge cm_startyear)) = p45_CO2priceTrajDeveloped("2040")*( 1 + 0.1/3 * (ttot.val-2040)); !! no CO2 price in 2005 and only change CO2 prices after ;
*** annual increase by (10/3)% of the 2040 value is the same as a 10% increase of the 2020 value is the same as a linear increase from 0 in 2010 to the 2020/2040 value
loop(t2$(t2.val eq cm_peakBudgYr),
p45_CO2priceTrajDeveloped(t)$(t.val gt cm_peakBudgYr) = p45_CO2priceTrajDeveloped(t2) + (t.val - t2.val) * cm_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year
);
*** Then create regional phase-in:
*** loop(ttot$((ttot.val ge cm_startyear) AND (ttot.val le cm_CO2priceRegConvEndYr) ),
*** p45_regCO2priceFactor(ttot,regi) = max(0, p45_phasein_2025ratio(regi) + (1-p45_phasein_2025ratio(regi)) * (ttot.val - 2025) / (cm_CO2priceRegConvEndYr - 2025) );
*** );
*** p45_regCO2priceFactor(ttot,regi)$(ttot.val ge cm_CO2priceRegConvEndYr) = 1;
loop(ttot$((ttot.val ge cm_startyear) AND (ttot.val le cm_CO2priceRegConvEndYr) ),
p45_regCO2priceFactor(ttot,regi) =
min(1,
max(0,
p45_phasein_2025ratio(regi) + (1 - p45_phasein_2025ratio(regi))
* ( ( (ttot.val - 2025) + (cm_CO2priceRegConvEndYr - 2025) * 0.1 )
/ ( (cm_CO2priceRegConvEndYr - 2025) * 1.1 )
) ** 2
)
);
);
p45_regCO2priceFactor(ttot,regi)$(ttot.val ge cm_CO2priceRegConvEndYr) = 1;
*** linear transition to global price - starting point depends on GDP/cap
pm_taxCO2eq(t,regi) = p45_regCO2priceFactor(t,regi) * p45_CO2priceTrajDeveloped(t);
display p45_regCO2priceFactor, p45_CO2priceTrajDeveloped, pm_taxCO2eq;
*** EOF ./modules/45_carbonprice/diffPhaseIn2LinFlex/datainput.gms
*** | (C) 2006-2019 Potsdam Institute for Climate Impact Research (PIK)
*** | authors, and contributors see CITATION.cff file. This file is part
*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of
*** | AGPL-3.0, you are granted additional permissions described in the
*** | REMIND License Exception, version 1.0 (see LICENSE file).
*** | Contact: remind@pik-potsdam.de
*** SOF ./modules/45_carbonprice/diffPhaseIn2LinFlex/declarations.gms
***------------------------------------------------------------------------------------------------------------------------
*** *BS* 20190930 linear convergence with starting points differentiated by GDP/capita, global price from 2040
***-----------------------------------------------------------------------------------------------------------------------
parameters
p45_tauCO2_ref(ttot, all_regi) "CO2 tax path of reference policy (NDC)"
p45_gdppcap2015_PPP(all_regi) "2015 GDP per capita (k $ PPP 2005)"
p45_phasein_zeroyear(all_regi) "year when CO2 price convergence line crosses zero"
p45_phasein_2025ratio(all_regi) "ratio of CO2 price to that of developed region in 2025"
p45_regCO2priceFactor(ttot,all_regi) "regional multiplicative factor to the CO2 price of the developed countries"
p45_CO2priceTrajDeveloped(ttot) "CO2 price trajectory for developed/rich countries"
;
scalars
s45_stagestart "first time-step fixed to ref. / beginning of staged accession period"
s45_constantCO2price "initial value for constant global CO2 price"
s45_convergenceCO2price "price to which the regional values converge"
;
*** EOF ./modules/45_carbonprice/diffPhaseIn2LinFlex/declarations.gms
name,type,reason
sm_c_2_co2,input,questionnaire
vm_co2eq,input,questionnaire
vm_emiFgas,input,questionnaire
vm_cesIO,input,questionnaire
vm_prodSe,input,questionnaire
vm_prodFe,input,questionnaire
pm_pvp,input,questionnaire
pm_globalMeanTemperature,input,questionnaire
pm_temperatureImpulseResponseCO2,input,questionnaire
pm_consPC,input,questionnaire
pm_GDPGross,input,questionnaire
pm_ttot_val,input,questionnaire
pm_ts,input,questionnaire
pm_ttot_2_tall,input,questionnaire
pm_prtp,input,questionnaire
cm_emiscen,input,questionnaire
cm_co2_tax_growth,input,questionnaire
cm_iterative_target_adj,input,questionnaire
cm_expoLinear_yearStart,input,questionnaire
cm_carbonprice_temperatureLimit,input,questionnaire
pm_prodCouple,input,questionnaire
pm_bunker_share_in_nonldv_fe,input,questionnaire
*** | (C) 2006-2019 Potsdam Institute for Climate Impact Research (PIK)
*** | authors, and contributors see CITATION.cff file. This file is part
*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of
*** | AGPL-3.0, you are granted additional permissions described in the
*** | REMIND License Exception, version 1.0 (see LICENSE file).
*** | Contact: remind@pik-potsdam.de
*** SOF ./modules/45_carbonprice/diffPhaseIn2LinFlex/postsolve.gms
***------------------------------------------------------------------------------------------------------------------------
*** *BS* 20190930 linear convergence with starting points differentiated by GDP/capita, global price from 2040
***-----------------------------------------------------------------------------------------------------------------------
*** *** updated constant global price as scalar (regional prices are the same anyway)
*** s45_constantCO2price = sum((ttot,regi)$(ttot.val eq s45_stageend), pm_taxCO2eq(ttot,regi))/card(regi) ;
*** *** entire path has been shifted in update, so have to set these again
*** pm_taxCO2eq(ttot,regi)$(ttot.val le s45_stagestart) = p45_tauCO2_ref(ttot, regi);
*** pm_taxCO2eq(ttot,regi)$(ttot.val gt s45_stagestart and ttot.val lt s45_stageend)
*** = s45_constantCO2price * (ttot.val - p45_phasein_zeroyear(regi))/(s45_stageend - p45_phasein_zeroyear(regi));
*** *** price trajectory should be constant anyway but let's be explicit here
*** pm_taxCO2eq(ttot,regi)$(ttot.val ge s45_stageend) = s45_constantCO2price;
*** re-create the regional differentation, use path from developed countries as the basis.
*** This doesn't need to be a loop, but it will be correct for any cycle of the loop, so also for the last cycle.
loop(regi$(p45_gdppcap2015_PPP(regi) gt 30),
p45_CO2priceTrajDeveloped(t) = pm_taxCO2eq(t,regi);
);
*** linear transition to global price - starting point depends on GDP/cap
pm_taxCO2eq(t,regi) = p45_regCO2priceFactor(t,regi) * p45_CO2priceTrajDeveloped(t);
display pm_taxCO2eq;
*** EOF ./modules/45_carbonprice/diffPhaseIn2LinFlex/postsolve.gms
*** | (C) 2006-2019 Potsdam Institute for Climate Impact Research (PIK)
*** | authors, and contributors see CITATION.cff file. This file is part
*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of
*** | AGPL-3.0, you are granted additional permissions described in the
*** | REMIND License Exception, version 1.0 (see LICENSE file).
*** | Contact: remind@pik-potsdam.de
*####################### R SECTION START (PHASES) ##############################
$Ifi "%phase%" == "declarations" $include "./modules/45_carbonprice/diffPhaseIn2LinFlex/declarations.gms"
$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/diffPhaseIn2LinFlex/datainput.gms"
$Ifi "%phase%" == "postsolve" $include "./modules/45_carbonprice/diffPhaseIn2LinFlex/postsolve.gms"
*######################## R SECTION END (PHASES) ###############################
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment