The 11_aerosols module calculates the air pollution emissions.
Interface plot missing!
| Description | Unit | A | |
|---|---|---|---|
| cm_APsource | data source for air pollution baseyear (2020) emissions | x | |
| cm_startyear | first optimized modelling time step | \(year\) | x |
| pm_emifac (tall, all_regi, all_enty, all_enty, all_te, all_enty) |
emission factor by technology for all types of energy-related emissions | \(GtC/TWa, Mt CH4/TWa, Mt N/TWa, Mt SO2/TWa, Mt BC/TWa, Mt OC/TWa\) | x |
| pm_share_ind_fesos (tall, all_regi) |
Share of coal solids (coaltr) used in the industry (rest is residential) | x | |
| pm_share_ind_fesos_bio (tall, all_regi) |
Share of biomass solids (biotr) used in the industry (rest is residential) | x | |
| pm_ts (tall) |
(t_n+1 - t_n-1)/2 for a timestep t_n | x | |
| vm_cesIO (tall, all_regi, all_in) |
Production factor | x | |
| vm_demPe (tall, all_regi, all_enty, all_enty, all_te) |
primary energy demand | \(TWa, Uranium: Mt Ur\) | x |
| vm_prodFe (ttot, all_regi, all_enty, all_enty, all_te) |
final energy production | \(TWa\) | x |
| Description | Unit | |
|---|---|---|
| pm_emiExog (tall, all_regi, all_enty) |
exogenous emissions from air pollutants | \(Mt SO2, Mt BC, Mt OC\) |
| vm_costpollution (tall, all_regi) |
costs of air pollution policies | \(T\$\) |
Bundle the air pollution emission results from different sources. We calculate the emissions for sectors that are available in the GAINS model with the interactively run script exoGAINS2025Airpollutants.R. Land related emissions are taken from MAGPIE.
\[\begin{multline*} vm\_costpollution(t,regi) = \sum_{emi2te(enty,enty2,te,enty3)}\left( 0.000001 \cdot pm\_ts(t) \cdot \left( \left( \left(p11\_EF\_uncontr(enty,enty2,te,regi,enty3,"indst")-pm\_emifac(t,regi,enty,enty2,te,enty3)\right) \cdot vm\_demPe(t,regi,enty,enty2,te) \cdot p11\_share\_sector(t,enty,enty2,te,"indst",regi) \cdot p11\_costpollution(te,enty3,"indst") \right)\$\left( sectorEndoEmi2te(enty,enty2,te,"indst") \& pe2se(enty,enty2,te) \right) + \left( \left(p11\_EF\_uncontr(enty,enty2,te,regi,enty3,"res")-pm\_emifac(t,regi,enty,enty2,te,enty3)\right) \cdot vm\_demPe(t,regi,enty,enty2,te) \cdot p11\_share\_sector(t,enty,enty2,te,"res",regi) \cdot p11\_costpollution(te,enty3,"res") \right)\$\left(sectorEndoEmi2te(enty,enty2,te,"res") \& pe2se(enty,enty2,te) \right) + \left( \left(p11\_EF\_uncontr(enty,enty2,te,regi,enty3,"trans")-pm\_emifac(t,regi,enty,enty2,te,enty3)\right) \cdot vm\_prodFe(t,regi,enty,enty2,te) \cdot p11\_share\_sector(t,enty,enty2,te,"trans",regi) \cdot p11\_costpollution(te,enty3,"trans") \right)\$\left(sectorEndoEmi2te(enty,enty2,te,"trans") \& se2fe(enty,enty2,te) \right) + \left( \left(p11\_EF\_mean(enty,enty2,te,enty3)-pm\_emifac(t,regi,enty,enty2,te,enty3) \right) \cdot vm\_demPe(t,regi,enty,enty2,te) \cdot p11\_share\_sector(t,enty,enty2,te,"power",regi) \cdot p11\_costpollution(te,enty3,"power") \right)\$\left(sectorEndoEmi2te(enty,enty2,te,"power") \& pe2se(enty,enty2,te) \right) + \left( \left(p11\_EF\_uncontr("peoil","seel","dot",regi,enty3,"power")-p11\_EF\_mean("peoil","seel","dot",enty3)\right) \cdot vm\_demPe(t,regi,"peoil","seel","dot") \cdot p11\_costpollution("dot",enty3,"power") \right)\$\left( sameas(enty,"peoil") \& sameas(enty2,"seel") \& sameas(te,"dot") \right) + \left( \left(p11\_EF\_mean(enty,enty2,te,enty3)-pm\_emifac(t,regi,enty,enty2,te,enty3)\right) \cdot vm\_demPe(t,regi,enty,enty2,te) \cdot p11\_share\_sector(t,enty,enty2,te,"trans",regi) \cdot p11\_costpollution(te,enty3,"trans") \right)\$\left(sectorEndoEmi2te(enty,enty2,te,"trans") \& pe2se(enty,enty2,te) \right) \right) \right) \end{multline*}\]
Limitations EDGE-transport runs in between iterations and is therefore not fully optimized.
| Description | Unit | A | |
|---|---|---|---|
| f11_emiAPexoAgricult (tall, all_regi, all_enty, all_exogEmi, all_rcp_scen) |
ECLIPSE emission factors of air pollutants | x | |
| f11_emifacs_sectREMIND_sourceCEDS (tall, all_regi, all_enty, all_enty, all_te, all_sectorEmi, emisForEmiFac, all_APscen, all_APssp) |
GAINS2025 emission factors weighted by CEDS emissions | x | |
| f11_emifacs_sectREMIND_sourceGAINS (tall, all_regi, all_enty, all_enty, all_te, all_sectorEmi, emisForEmiFac, all_APscen, all_APssp) |
GAINS2025 emission factors weighted by GAINS emissions | x | |
| p11_cesIO (tall, all_regi, all_in) |
cesIO parameter specific for the module | x | |
| p11_costpollution (all_te, all_enty, sectorEndoEmi) |
pollutant abatement costs in | \(\$/t\) | x |
| p11_EF_mean (all_enty, all_enty, all_te, all_enty) |
global mean pollutant emission factor in 2005 | x | |
| p11_EF_uncontr (all_enty, all_enty, all_te, all_regi, all_enty, sectorEndoEmi) |
regional uncontrolled pollutant emission factor | x | |
| p11_emiAPexo (ttot, all_regi, all_enty, all_exogEmi) |
exogenous emissions from RCP scenarios | x | |
| p11_emiAPexoAgricult (ttot, all_regi, all_enty, all_exogEmi) |
Air pollution generated by exoGAINSAirpollutants.R | x | |
| p11_emiAPexsolve (tall, all_regi, all_sectorEmi, emiRCP) |
emission of air pollutants from the exoGAINS2025 script | x | |
| p11_emiAPexsolveGDX (tall, all_regi, all_sectorEmi, emiRCP) |
parameter p11_emiAPexsolve loaded from the gdx | x | |
| p11_emiFacAP (tall, all_regi, all_enty, all_enty, all_te, sectorEndoEmi, all_enty) |
air pollutant emission factors | \(Gt(species)/TWa\) | x |
| p11_share_ind_fehos (tall, all_regi) |
Share of heating oil used in the industry (rest is residential) | x | |
| p11_share_sector (tall, all_enty, all_enty, all_te, sectorEndoEmi, all_regi) |
share of technology that goes into industry, residential, and transport sectorEndoEmi | \(1\) | x |
| p11_share_trans (tall, all_regi) |
share of transport FE liquids (fedie and fepet) and all FE liquids | \(share\) | x |
| q11_costpollution (tall, all_regi) |
calculates the costs for air pollution policies | x |
| description | |
|---|---|
| all_APscen | all air pollutant scenarios |
| all_APssp | all air pollutant SSPs. GAINSlegacy means the SSP is picked with all_APscen and there are no variations |
| all_enty | all types of quantities |
| all_exogEmi | all exogenous emission types |
| all_in | all inputs and outputs of the CES function |
| all_rcp_scen | all possible RCP scenarios |
| all_regi | all regions |
| all_sectorEmi | all sectors with emissions |
| all_te | all energy technologies, including from modules |
| cm_GDPpopScen | cm_GDPpopScen as set for use in GDX |
| emi2te(all_enty, all_enty, all_te, all_enty) | map emissions to technologies |
| emiAP(all_enty) | Used for allocation of emission factors |
| emiExog(all_enty) | exogenous emissions |
| emiRCP | emission types exported to MAGICC |
| emisForEmiFac(all_enty) | types of emissions that are only calculated in a post-processing routine after the optimization |
| enty(all_enty) | all types of quantities |
| entyFe(all_enty) | final energy types. |
| entySe(all_enty) | secondary energy types |
| fe_tax_sub_sbi(all_in, all_in) | correspondence between tax and subsidy input data resolution and model sectoral resolution. For FE which takes the pathway I to the CES |
| fe2ppfEn(all_enty, all_in) | mapping between CES FE variables and ESM FE variables |
| in(all_in) | All inputs and outputs of the CES function |
| iteration | iterator for main (Negishi/Nash) iterations |
| modules | all the available modules |
| pe2se(all_enty, all_enty, all_te) | map primary energy carriers to secondary |
| regi(all_regi) | all regions used in the solution process |
| se2fe(all_enty, all_enty, all_te) | map secondary energy to end-use energy using a technology |
| seAgg2se(all_enty, all_enty) | map secondary energy aggregation to SE |
| sectorEndoEmi(all_sectorEmi) | sectors with endogenous emissions |
| sectorEndoEmi2te_dyn11(all_enty, all_enty, all_te, sectorEndoEmi) | map sectors to technologies |
| sectorEndoEmi2te(all_enty, all_enty, all_te, sectorEndoEmi) | map sectors to technologies |
| t(ttot) | optimisation time, years between cm_startyear and 2150 with 5 to 20 years time steps |
| tall | time index, each year from 1900 to 3000 |
| te(all_te) | energy technologies |
| ttot(tall) | time index with spin-up, years between 1900 and 2150 with 5 to 20 years time steps |
Sebastian Rauner, David Klein, Jessica Strefler, Laurin Köhler-Schindler