Emissions inventories of mobile sources and inputs for air quality models using VEIN

Sergio Ibarra-Espinosa, Postdoc.

Department of Atmospheric Sciences, Instituto de Astronomia, Geofísica e Ciências Atmosféricas, University of São Paulo, Brazil.

Research Group of Regional Atmospheric Environment, Northeast Institute of Geography and Agroecology, Chinese Academy of Sciences, P. R. China

print("你好")

Introduction

  • Pollution caused 9 million premature deaths in 2015, 16% of all deaths worldwide (LANDRIGAN et al, 2017).

  • Air pollution also affects ecosystemic services.

  • There is consensus that climate change is due to human activity (COOK et al., 2016).

  • It is crucial to understand the physical and chemical mechanism of generation of the air pollutants,the emissions.

Santiago, Chile; São Paulo, Brazil; and Changchun, China.

Meteorology
Emissions
Air quality modeling
Comparison

The emission inventories are easily seen as the scapegoat if a mismatch is found between modelled and observed concentrations of air pollutants (Pulles and Helsinga, 2003).

Emissions inventories

  • It is an important tool for air quality managment.

  • It is a compilation of the mass of pollutants released by the sources in a territory and period of time.

  • Usually in urban centers, vehicles are the most important source of air pollution (MOLINA; MOLINA, 2004b).

Sources

Area
Mobile
Point
Biogenic

Approaches

When you develop an emissions inventory, you can follow several approaches which varies along with the level of detail that you want to achieve.
In general, if you dealt with a KEY source, you will try to make the estimation more representative.
A KEY source is the source which is responsabile for most of the pollution in a specific region.
We can classify the approaches as top-down or bottom-up


Ntziachristos, L, and Z Samaras. 2016. “EMEP/EEA Emission Inventory Guidebook; Road Transport: Passenger Cars, Light Commercial Trucks, Heavy-Duty Vehicles Including Buses and Motorcycles.” European Environment Agency, Copenhagen.

You need regional fuel sales.

Let's talk about VEIN

VEIN Logo

The VEhicular Emissions INventory model

Pollutants:

European emission factors

Criteria (g/km): “CO”, “NOx”, “HC”, “PM”, “CH4”, “NMHC”, “CO2”, “SO2”, “Pb”, “FC” (Fuel Consumption),“NO”, “NO2”. PAH and POP: “indeno(1,2,3-cd)pyrene”, “benzo(k)fluoranthene”, “benzo(b)fluoranthene”, “benzo(ghi)perylene”, “fluoranthene”, “benzo(a)pyrene”, “pyrene”, “perylene”, “anthanthrene”, “benzo(b)fluorene”, “benzo(e)pyrene”, “triphenylene”, “benzo(j)fluoranthene”, “dibenzo(a,j)anthacene”, “dibenzo(a,l)pyrene”, “3,6-dimethyl-phenanthrene”, “benzo(a)anthracene”, “acenaphthylene”, “acenapthene”, “fluorene”, “chrysene”, “phenanthrene”, “napthalene”, “anthracene”, “coronene”, “dibenzo(ah)anthracene” Dioxins and Furans (g/km): “PCDD”, “PCDF”, “PCB”. Metals (g/km): “As”, “Cd”, “Cr”, “Cu”, “Hg”, “Ni”, “Pb”, “Se”, “Zn”. NMHC (g/km): ALKANES: “ethane”, “propane”, “butane”, “isobutane”, “pentane”, “isopentane”, “hexane”, “heptane”, “octane”, “TWO_methylhexane”, “nonane”, “TWO_methylheptane”, “THREE_methylhexane”, “decane”, “THREE_methylheptane”, “alcanes_C10_C12”, “alkanes_C13”. CYCLOALKANES: “cycloalcanes”. ALKENES: “ethylene”, “propylene”, “propadiene”, “ONE_butene”, “isobutene”, “TWO_butene”, “ONE_3_butadiene”, “ONE_pentene”, “TWO_pentene”, “ONE_hexene”, “dimethylhexene”. ALKYNES:“ONE_butine”, “propine”, “acetylene”. ALDEHYDES: “formaldehyde”, “acetaldehyde”, “acrolein”, “benzaldehyde”, “crotonaldehyde”, “methacrolein”, “butyraldehyde”, “isobutanaldehyde”, “propionaldehyde”, “hexanal”, “i_valeraldehyde”, “valeraldehyde”, “o_tolualdehyde”, “m_tolualdehyde”, “p_tolualdehyde”. KETONES: “acetone”, “methylethlketone”. AROMATICS: “toluene”, “ethylbenzene”, “m_p_xylene”, “o_xylene”, “ONE_2_3_trimethylbenzene”, “ONE_2_4_trimethylbenzene”, “ONE_3_5_trimethylbenzene”, “styrene”, “benzene”, “C9”, “C10”, “C13”. Active Surface (cm2/km) “AS_urban”, “AS_rural”, “AS_highway”. Total Number of particles (N/km) “N_urban”, “N_rural”, “N_highway”, “N_50nm_urban”, “N_50_100nm_rural”, “N_100_1000nm_highway”.

Brazilian emission factors

“COd”, “HCd”, “NMHCd”, “CH4”, “NOxd”, “CO2” “PM”, “N2O”, “KML”, “FC”, “NO2d”, “NOd”, “gCO2/KWH”, “RCHOd”, “CO”, “HC”, “NMHC”, “NOx”, “NO2” ,“NO”, “RCHO” “e_eth”, “e_hc3”, “e_hc5”, “e_hc8”, “e_ol2”, “e_olt”, “e_oli”, “e_iso”, “e_tol”, “e_xyl”, “e_c2h5oh”, “e_ald”, “e_hcho”, “e_ch3oh”, “e_ket”, “E_SO4i”, “E_SO4j”, “E_NO3i”, “E_NO3j”, “E_MP2.5i”, “E_MP2.5j”, “E_ORGi”, “E_ORGj”, “E_ECi”, “E_ECj”

IVE model emission factors (base)

“VOC_gkm”, “CO_gkm”, “NOx_gkm”, “PM_gkm”, “Pb_gkm”, “SO2_gkm”, “NH3_gkm”, “ONE_3_butadiene_gkm”, “formaldehyde_gkm”, “acetaldehyde_gkm”, “benzene_gkm”, “EVAP_gkm”, “CO2_gkm”, “N20_gkm”, “CH4_gkm”, “VOC_gstart”, “CO_gstart”, “NOx_gstart”, “PM_gstart”, “Pb_gstart”, “SO2_gstart”, “NH3_gstart”, “ONE_3butadiene_gstart”, “formaldehyde_gstart”,“acetaldehyde_gstart”, “benzene_gstart”, “EVAP_gstart”, “CO2_gstart”, “N20_gstart”, “CH4_gstart”

Emissions

Hot Exhaust, Cold Exhaust, Evaporative, Wear, resuspession, high emitters.

Installation

You need these libraries on your system

  • GEOS, GDAL, UDUNITS, PROJ, NetCDF

For instance, in Ubuntu:

sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable
sudo apt-get install libudunits2-dev libgdal-dev libgeos-dev libproj-dev libnetcdf-dev

On Windows, you need RTools. Check here


Then, You need to install the dependencies

  • sf (Pebesma 2017)

  • lwgeom (Pebesma 2018)

  • data.table (Dowle and Srinivasan 2017)

  • sp (Pebesma and Bivand 2005)

  • units (Pebesma, Mailund, and Hiebert 2016)

  • eixport (Ibarra-Espinosa, Schuch, and Dias de Freitas 2018)

Then, on R type

  • install.packages("vein")

  • And for the version on GitHub


  • devtools::install.github("atmoschem/vein")
  • If you need help with a function, type:
    ?function
    and the manual will open for that function

Before running VEIN, it is important to know the Vehicular Composition

Passenger Cars (PC)

Fuel/Size/types

Age distribution

Technology

Light Commercial Vehicles (LCV)

Fuel/Size/types

Age distribution

Technology

Heavy Good Vehicles (HGV)

Fuel/Size/types

Age distribution

Technology

Bus

Fuel/Size/types

Age distribution

Technology

Motorcycles (MC)

Fuel/Size/types

Age distribution

Technology

Icons made by wanicon from www.flaticon.com is licensed by CC 3.0 BY

1. The function inventory

  • Produces an structure of directories and scripts in order to run vein. It is required to know the vehicular composition of the fleet

  • Arguments:
    inventory(name,
    vehcomp = c(PC = 1, LCV = 1, HGV = 1, BUS = 1, MC = 1),
    show.main = T, scripts = T,
    show.dir = T, show.scripts = F,
    clear = T, rush.hour = F)

library(vein)
inventory (name = file.path(tempdir(), "YourCity" ),
show.dir = T, show.scripts = T)
## files at /tmp/RtmpNb0Y7T/YourCity
## Directories:
## [1] "/tmp/RtmpNb0Y7T/YourCity"
## [2] "/tmp/RtmpNb0Y7T/YourCity/ef"
## [3] "/tmp/RtmpNb0Y7T/YourCity/emi"
## [4] "/tmp/RtmpNb0Y7T/YourCity/emi/BUS_01"
## [5] "/tmp/RtmpNb0Y7T/YourCity/emi/HGV_01"
## [6] "/tmp/RtmpNb0Y7T/YourCity/emi/LCV_01"
## [7] "/tmp/RtmpNb0Y7T/YourCity/emi/MC_01"
## [8] "/tmp/RtmpNb0Y7T/YourCity/emi/PC_01"
## [9] "/tmp/RtmpNb0Y7T/YourCity/est"
## [10] "/tmp/RtmpNb0Y7T/YourCity/images"
## [11] "/tmp/RtmpNb0Y7T/YourCity/network"
## [12] "/tmp/RtmpNb0Y7T/YourCity/post"
## [13] "/tmp/RtmpNb0Y7T/YourCity/post/df"
## [14] "/tmp/RtmpNb0Y7T/YourCity/post/grids"
## [15] "/tmp/RtmpNb0Y7T/YourCity/post/streets"
## [16] "/tmp/RtmpNb0Y7T/YourCity/profiles"
## [17] "/tmp/RtmpNb0Y7T/YourCity/veh"
## Scripts:
## [1] "est/BUS_01_input.R" "est/HGV_01_input.R" "est/LCV_01_input.R"
## [4] "est/MC_01_input.R" "est/PC_01_input.R" "main.R"
## [7] "post.R" "traffic.R"

2. Network and Regions

  • If you have traffic flow at street level, you may use all the functions dedicated to process traffic and speed at street level.
  • When I say traffic simulation, I mean output of a 4-stage travel demand model.
  • If you have traffic fleet per region as spatial polygons, you may skip this section.
  • data("net") provides an example with traffic simulation

  • temp_fact projects rush hour traffic to other hours based on an available normalized hourly profile.

  • netspeed read the kinematic parameters of a rush hour trffic simulation and projects and speeds at all hours.

  • data("net")
    PC_E25_1400 <- age_ldv(x = net$ldv, name = "PC_E25_1400")
    plot(PC_E25_1400, xlab = "age of use")

data("pc_profile")
pc_week <- temp_fact(net$ldv+net$hdv, pc_profile)
dfspeed <- netspeed(pc_week, net$ps, net$ffs, net$capacity, net$lkm, alpha = 1.5)
plot(dfspeed, xlab = "Hours", ylab = "Speed [km/h]")

dfspeednet <- netspeed(pc_week, net$ps, net$ffs, net$capacity, net$lkm, alpha = 1.5, net = net))
spplot(as(dfspeednet, "Spatial"), c("S1", "S9"), col.regions = cptcity::cpt(), scales = list(Draw = T))

3. Emission factors. Speed functions

V <- 0:150
ef1 <- ef_ldv_speed(v = "PC",
t = "4S",
cc = "<=1400",
f = "G",
eu = "PRE",
p = "CO")
plot(Speed(1:150),
ef1(1:150),
xlab = "speed[km/h]")

3. Emission factors. Constant by age of use

3. Emission factors. Scaled Speed functions

4. Emission estimation

euro <- c(rep("V", 5), rep("IV", 5),
rep("III", 5), rep("II", 5),
rep("I", 5), rep("PRE", 15))

lef <- lapply(1:40, function(i) {
ef_ldv_speed(v = "PC", t = "4S",
cc = "<=1400", f = "G",
eu = euro[i], p = "CO") })

E_CO <- emis(veh = PC_E25_1400, lkm = net$lkm, ef = lef, speed = dfspeed,
profile = pc_profile)

plot(E_CO, xlab = "Hours", ylab = "[g/h]")

E_CO
This EmissionsArray has
1505 streets
50 vehicle categories
24 hours
7 days
[1] 0,986270352 0,341801941 0,050115563 0,132141033 0,005108484 0,567239797
Hourly
By Age
Street Gridded
Edgar Transport

WRF-Chem!

It create NetCDF files using eixport with ANY resolution

What else you can do?

Split street emissions to any length.

vein relies on sf, which is super fast.

Lots of possibilities.

It can be used to calculate road exposure.

BIG DATA.

Some References

Ibarra-Espinosa, S., Ynoue, R., O'Sullivan, S., Pebesma, E., Andrade, M. D. F., and Osses, M.: VEIN v0.2.2: an R package for bottom-up vehicular emissions inventories, Geosci. Model Dev., 11, 2209-2229, https://doi.org/10.5194/gmd-11-2209-2018, 2018.
Grell, G. A., Peckham, S. E., Schmitz, R., McKeen, S. A., Frost, G., Skamarock, W. C., & Eder, B. (2005). Fully coupled “online” chemistry within the WRF model. Atmospheric Environment, 39(37), 6957-6975.
Ibarra-Espinosa S., Schuch D., Freitas E., (2018). eixport: An R package to export emissions to atmospheric models. Journal of Open Source Software, 3(24), 607, https://doi.org/10.21105/joss.00607
Landrigan, P. J., Fuller, R., Acosta, N. J., Adeyi, O., Arnold, R., Baldé, A. B., ... & Chiles, T. (2017). The Lancet Commission on pollution and health. The Lancet.
Cook, J., Oreskes, N., Doran, P. T., Anderegg, W. R., Verheggen, B., Maibach, E. W., ... & Nuccitelli, D. (2016). Consensus on consensus: a synthesis of consensus estimates on human-caused global warming. Environmental Research Letters, 11(4), 048002.
Molina, L. T., Molina, M. J., Slott, R. S., Kolb, C. E., Gbor, P. K., Meng, F., ... & Tang, X. (2004). Air quality in selected megacities. Journal of the Air & Waste Management Association, 54(12), 1-73.
Ibarra-Espinosa, Sergio. 2018. “VEINBOOK: Estimating vehicular emissions with the R package VEIN”. Self- published book on AMAZON:, https://www.amazon.com/dp/B07L7XRFKC, ISBN-13: 978-1791571153, ISBN-10: 1791571158.

😎

Thank you!

@SergioIbarraEs1