Skip to content
Snippets Groups Projects
Commit f21ae457 authored by Christoph Bertram's avatar Christoph Bertram
Browse files

Introducing the option to scale CH4 and N2O emissions so to match CEDS historic values

parent 8b172037
No related branches found
No related tags found
1 merge request!30Changes for validation
This commit is part of merge request !30. Comments created here will be created in the context of that merge request.
......@@ -365,6 +365,7 @@ cfg$gms$cm_APscen <- "SSP2" # def <- SSP2
cfg$gms$cm_Full_Integration <- "off" # def = off
cfg$gms$c_CO2priceDependent_AdjCosts <- "on" # def = on
cfg$gms$c_scaleEmiHistorical <- "off" # def = off
# MAGICC configuration (AJS)
# Calibrate year 2000 temperature to HADCRUT4 data (which is very close to AR5).
......
......@@ -293,6 +293,24 @@ table f_dataetaglob(tall,all_te) "global eta data"
$include "./core/input/generisdata_varying_eta.prn"
;
* Read in mac historical emissions to calibrate MAC reference emissions
parameter p_histEmiMac(tall,all_regi,all_enty) "historical emissions per MAC"
/
$ondelim
$include "./core/input/p_histEmiMac.cs4r"
$offdelim
/
;
* Read in historical emissions per sector to calibrate MAC reference emissions
parameter p_histEmiSector(tall,all_regi,all_enty,emi_sectors,sector_types) "historical emissions per sector"
/
$ondelim
$include "./core/input/p_histEmiSector.cs4r"
$offdelim
/
;
***---------------------------------------------------------------------------
*** Import and set regional data
***---------------------------------------------------------------------------
......
......@@ -235,6 +235,9 @@ pm_cumDeprecFactor_old(ttot,all_regi,all_in) "investment depreciation wi
pm_cumDeprecFactor_new(ttot,all_regi,all_in) "investment depreciation within a period, applied to the investment of t"
p_Mport2005correct(all_regi,all_enty) "correction factor to match fossil supply and internal region energy demand in the initial year"
p_histEmiMac(tall,all_regi,all_enty) "historical emissions per MAC; from Eurostat and CEDS, to correct CH4 and N2O reporting"
p_histEmiSector(tall,all_regi,all_enty,emi_sectors,sector_types) "historical emissions per sector; from Eurostat and CEDS, to correct CH4 and N2O reporting"
;
***----------------------------------------------------------------------------------------
......
......@@ -110,5 +110,30 @@ pm_vintage_in(regi,"1",te) = pm_vintage_in(regi,"1",te) * max((pm_histfegrowth(r
pm_vintage_in(regi,"6",te) = pm_vintage_in(regi,"6",te) * max(((pm_histfegrowth(regi,entyFe)- 0.005 + 1/fm_dataglob("lifetime",te))/(1/fm_dataglob("lifetime",te)) + 1) * 0.75,0.2);
);
$ifthen setGlobal c_scaleEmiHistorical
*re-scale MAgPie reference emissions to be inline with eurostat data (MagPie overestimates non-CO2 GHG emissions by a factor of 50% more)
display p_macBaseMagpie;
loop(enty$(sameas(enty,"ch4rice") OR sameas(enty,"ch4animals") OR sameas(enty,"ch4anmlwst")),
p_macBaseMagpie(ttot,regi,enty)$(p_histEmiSector("2005",regi,"ch4","agriculture","process") AND (ttot.val ge 2005)) =
p_macBaseMagpie(ttot,regi,enty) *
( (p_histEmiSector("2005",regi,"ch4","agriculture","process")+p_histEmiSector("2005",regi,"ch4","lulucf","process")) !!no rescaling needed - REMIND-internal unit is Mt CH4
/
(sum(enty2$(sameas(enty2,"ch4rice") OR sameas(enty2,"ch4animals") OR sameas(enty2,"ch4anmlwst")), p_macBaseMagpie("2005",regi,enty2)) + p_macBaseExo("2005",regi,"ch4agwaste"))
)
;
);
loop(enty$(sameas(enty,"n2ofertin") OR sameas(enty,"n2ofertcr") OR sameas(enty,"n2oanwstc") OR sameas(enty,"n2oanwstm") OR sameas(enty,"n2oanwstp")),
p_macBaseMagpie(ttot,regi,enty)$(p_histEmiSector("2005",regi,"n2o","agriculture","process") AND (ttot.val ge 2005)) =
p_macBaseMagpie(ttot,regi,enty) *
( p_histEmiSector("2005",regi,"n2o","agriculture","process")/( 44 / 28) !! rescaling to Mt N (internal unit for N2O emissions)
* eurostat uses 298 to convert N2O to CO2eq
/
(sum(enty2$(sameas(enty,"n2ofertin") OR sameas(enty2,"n2ofertcr") OR sameas(enty2,"n2oanwstc") OR sameas(enty2,"n2oanwstm") OR sameas(enty2,"n2oanwstp")), p_macBaseMagpie("2005",regi,enty2)) + p_macBaseExo("2005",regi,"n2oagwaste"))
)
;
);
display p_macBaseMagpie;
$endif
*** EOF ./core/preloop.gms
......@@ -326,7 +326,25 @@ p_macLevFree(ttot,regi,enty)$( ttot.val gt 2005 )
p_macUse2005(regi,enty)
)$( (ttot.val gt 2040) )
;
$ifthen setGlobal c_scaleEmiHistorical
**p_macLevFree(ttot,regi,emiMacMagpie(enty))=0;
* Set minimum abatment levels based on historical emissions
p_macLevFree("2010",regi,enty)$(p_histEmiSector("2005",regi,"ch4","agriculture","process") AND (sameas(enty,"ch4rice") OR sameas(enty,"ch4animals") OR sameas(enty,"ch4anmlwst"))) = max( 0, 1 - (p_histEmiSector("2010",regi,"ch4","agriculture","process")+p_histEmiSector("2010",regi,"ch4","lulucf","process"))/(p_histEmiSector("2005",regi,"ch4","agriculture","process")+p_histEmiSector("2005",regi,"ch4","lulucf","process")));
p_macLevFree(ttot,regi,enty)$((ttot.val ge 2015) AND p_histEmiSector("2005",regi,"ch4","agriculture","process") AND (sameas(enty,"ch4rice") OR sameas(enty,"ch4animals") OR sameas(enty,"ch4anmlwst"))) = max( 0, 1 - (p_histEmiSector("2015",regi,"ch4","agriculture","process")+p_histEmiSector("2015",regi,"ch4","lulucf","process"))/(p_histEmiSector("2005",regi,"ch4","agriculture","process")+p_histEmiSector("2005",regi,"ch4","lulucf","process")) );
p_macLevFree("2010",regi,enty)$(p_histEmiSector("2005",regi,"ch4","agriculture","process") AND (sameas(enty,"n2ofertin") OR sameas(enty,"n2ofertcr") OR sameas(enty,"n2oanwstc") OR sameas(enty,"n2oanwstm") OR sameas(enty,"n2oanwstp"))) = max( 0, 1 - (p_histEmiSector("2010",regi,"n2o","agriculture","process")+p_histEmiSector("2010",regi,"n2o","lulucf","process"))/(p_histEmiSector("2005",regi,"n2o","agriculture","process")+p_histEmiSector("2005",regi,"n2o","lulucf","process")) );
p_macLevFree(ttot,regi,emiMacMagpie(enty))$((ttot.val ge 2015) AND p_histEmiSector("2005",regi,"n2o","agriculture","process") AND (sameas(enty,"n2ofertin") OR sameas(enty,"n2ofertcr") OR sameas(enty,"n2oanwstc") OR sameas(enty,"n2oanwstm") OR sameas(enty,"n2oanwstp"))) = max( 0, 1 - (p_histEmiSector("2015",regi,"n2o","agriculture","process")+p_histEmiSector("2015",regi,"n2o","lulucf","process"))/(p_histEmiSector("2005",regi,"n2o","agriculture","process")+p_histEmiSector("2005",regi,"n2o","lulucf","process")) );
p_macLevFree("2010",regi,enty)$((p_histEmiMac("2010",regi,enty)) AND (sameas(enty,"ch4wstl") OR sameas(enty,"ch4wsts"))) = max( 0, 1 - (p_histEmiMac("2010",regi,enty)) /vm_macBase.l("2010",regi,enty) );
p_macLevFree(ttot,regi,enty)$((ttot.val ge 2015) AND (p_histEmiMac("2015",regi,enty)) AND (sameas(enty,"ch4wstl") OR sameas(enty,"ch4wsts"))) = max( 0, 1 - (p_histEmiMac("2015",regi,enty))/vm_macBase.l("2015",regi,enty) );
$else
p_macLevFree(ttot,regi,emiMacMagpie(enty))=0;
$endif
pm_macAbatLev(ttot,regi,enty) = 0.0;
pm_macAbatLev("2005",regi,enty) = p_macUse2005(regi,enty);
pm_macAbatLev("2010",regi,enty) = p_macLevFree("2010",regi,enty);
......
......@@ -1688,6 +1688,28 @@ sectorExogEmi(all_sectorEmi) "sectors with exogenous emissions"
extraction
indprocess
/
emi_sectors "comprehensive sector set used for more detailed emissions accounting (REMIND-EU) and for CH4 tier 1 scaling - potentially to be integrated with similar set all_exogEmi"
/
power "public electricity and heat production"
refining "petroleum refining"
solids "manufacture of solid fuels and other energy industries"
extraction "fugitive emissions from fuel extraction"
build "Commercial sector, institutional sector and households"
indst "industry (including industrial processes)"
trans "transportation"
agriculture "agriculture (plus forestry and fishing energy use)"
waste "waste management"
cdr "Transport, capture and storage of CO2"
lulucf "Land use, land use change, and forestry (LULUCF)"
bunkers "International bunkers (maritime and aviation)"
other "other sectors and multilateral operations"
indirect
/
sector_types
/
energy "fuel combustion part (and emissions) of the sector activity"
process "process sepecific part (and emissions) of the sector activity"
/
ccsCo2(all_enty) "only cco2 (???)"
/
cco2
......
......@@ -364,6 +364,7 @@ cm_carbonprice_temperatureLimit = 1.8; !! def = 1.8
cm_DiscRateScen = 0;!! def = 0
cm_noReboundEffect = 0;
$setGlobal cm_EsubGrowth low !! def = low
$setGlobal c_scaleEmiHistorical off !! def = off
*** --------------------------------------------------------------------------------------------------------------------------------------------------------------------
*** YOU ARE IN THE WARNING ZONE (DON'T DO CHANGES HERE)
......
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