REMIND - REgional Model of INvestments and Development

3.7.0

created with goxygen 1.5.0

aerosols (11_aerosols)

Description

The 11_aerosols module calculates air pollution emissions for those sectors (currently indst, trans, res, and power) and species (currently BC, OC, and SO2) that are priced in REMIND. It uses the emission factors from mrremind::calcGAINS2025. Important note: These emissions are not reported, but only used to calculate air pollution costs. Instead, the air pollutant emissions for all species and all 35 GAINS sectors are calculated and reported in remind2::reportAirPollutantEmissions.

Interfaces

Interface plot missing!

Input

module inputs (A: exoGAINS2025)
  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

Output

module outputs
  Description Unit
vm_costpollution
(tall, all_regi)
costs of air pollution policies \(T\$\)

Realizations

(A) exoGAINS2025

Calculation of air pollution emissions for those sectors (currently indst, trans, res, and power) and species (currently BC, OC, and SO2) that are priced in REMIND. It uses the emission factors from mrremind::calcGAINS2025. Important note: These emissions are not reported, but only used to calculate air pollution costs. Instead, the air pollutant emissions for all species and all 35 GAINS sectors are calculated and reported in remind2::reportAirPollutantEmissions.

\[\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( sectorEndoEmi2te11(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(sectorEndoEmi2te11(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(sectorEndoEmi2te11(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(sectorEndoEmi2te11(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(sectorEndoEmi2te11(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.

Definitions

Objects

module-internal objects (A: exoGAINS2025)
  Description Unit A
f11_emifacs_sectREMIND_sourceCEDS
(tall, all_regi, all_enty, all_enty, all_te, all_sectorEmi11, emisForEmiFac11, 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_sectorEmi11, emisForEmiFac11, all_APscen, all_APssp)
GAINS2025 emission factors weighted by GAINS emissions 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, sectorEndoEmi11)
regional uncontrolled pollutant emission factor x
p11_cesIO
(tall, all_regi, all_in)
cesIO parameter specific for the module x
p11_costpollution
(all_te, all_enty, sectorEndoEmi11)
pollutant abatement costs in \(\$/t\) x
p11_emiFacAP
(tall, all_regi, all_enty, all_enty, all_te, sectorEndoEmi11, 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, sectorEndoEmi11, all_regi)
share of technology that goes into industry, residential, and transport sectorEndoEmi11 \(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

Sets

sets in use
  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_in all inputs and outputs of the CES function
all_regi all regions
all_sectorEmi11 all sectors with emissions
all_te all energy technologies, including from modules
cm_APssp cm_APssp 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
emisForEmiFac11(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
fe2ppfEn(all_enty, all_in) mapping between CES FE variables and ESM FE variables
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
in(all_in) All inputs and outputs of the CES function
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
sectorEndoEmi11(all_sectorEmi11) sectors with endogenous emissions
sectorEndoEmi2te11(all_enty, all_enty, all_te, sectorEndoEmi11) map sectors to technologies
sectorEndoEmi2te_dyn11(all_enty, all_enty, all_te, sectorEndoEmi11) 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

Authors

Sebastian Rauner, David Klein, Jessica Strefler

See Also

01_macro, core

References