Learn R Programming

vein (version 1.1.3)

speciate: Speciation of emissions

Description

speciate separates emissions in different compounds. It covers black carbon and organic matter from particulate matter. Soon it will be added more speciations

Usage

speciate(
  x = 1,
  spec = "bcom",
  veh,
  fuel,
  eu,
  list = FALSE,
  pmpar,
  verbose = FALSE
)

Value

dataframe of speciation in grams or mols

Arguments

x

Emissions estimation

spec

The speciations are:

  • "bcom": Splits PM2.5 in black carbon and organic matter.

  • "tyre" or "tire": Splits PM in PM10, PM2.5, PM1 and PM0.1.

  • "brake": Splits PM in PM10, PM2.5, PM1 and PM0.1.

  • "road": Splits PM in PM10 and PM2.5.

  • "nox": Splits NOx in NO and NO2.

  • "nmhc": Splits NMHC in compounds, see ef_ldv_speed.

  • "voc": Splits NMHC in voc groups according EDGAR.

  • "pmiag", "pmneu", "pmneu2", "pm2023": Splits PM in groups, see note below.

veh

Type of vehicle:

  • "bcom": veh can be "PC", "LCV", HDV" or "Motorcycle".

  • "tyre" or "tire": not necessary.

  • "brake": not necessary.

  • "road": not necessary.

  • "nox": veh can be "PC", "LCV", HDV" or "Motorcycle".

  • "nmhc":see below

  • ""pmiag", "pmneu", "pmneu2", "pm2023": not necessary.

fuel

Fuel.

  • "bcom": "G" or "D".

  • "tyre" or "tire": not necessary.

  • "brake": not necessary.

  • "road": not necessary.

  • "nox": "G", "D", "LPG", "E85" or "CNG".

  • "nmhc":see below

  • "pmiag", "pmneu", "pmneu2", "pm2023": not necessary.

eu

Emission standard

  • "bcom": "G" or "D".

  • "tyre" or "tire": not necessary.

  • "brake": not necessary.

  • "road": not necessary.

  • "nox": "G", "D", "LPG", "E85" or "CNG".

  • "nmhc":see below

  • "pmiag", "pmneu", "pmneu2", "pm2023": not necessary.

list

when TRUE returns a list with number of elements of the list as the number species of pollutants

pmpar

Numeric vector for PM speciation eg: c(e_so4i = 0.0077, e_so4j = 0.0623, e_no3i = 0.00247, e_no3j = 0.01053, e_pm25i = 0.1, e_pm25j = 0.3, e_orgi = 0.0304, e_orgj = 0.1296, e_eci = 0.056, e_ecj = 0.024, h2o = 0.277) These are default values. however, when this argument is present, new values are used.

verbose

Logical to show more information

References

"bcom": Ntziachristos and Zamaras. 2016. Passenger cars, light commercial trucks, heavy-duty vehicles including buses and motorcycles. In: EEA, EMEP. EEA air pollutant emission inventory guidebook-2009. European Environment Agency, Copenhagen, 2016

"tyre", "brake" and "road": Ntziachristos and Boulter 2016. Automobile tyre and brake wear and road abrasion. In: EEA, EMEP. EEA air pollutant emission inventory guidebook-2009. European Environment Agency, Copenhagen, 2016

"iag": Ibarra-Espinosa S. Air pollution modeling in Sao Paulo using bottom-up vehicular emissions inventories. 2017. PhD thesis. Instituto de Astronomia, Geofisica e Ciencias Atmosfericas, Universidade de Sao Paulo, Sao Paulo, page 88. Speciate EPA: https://cfpub.epa.gov/speciate/. : K. Sexton, H. Westberg, "Ambient hydrocarbon and ozone measurements downwind of a large automotive painting plant" Environ. Sci. Tchnol. 14:329 (1980).P.A. Scheff, R.A. Schauer, James J., Kleeman, Mike J., Cass, Glen R., Characterization and Control of Organic Compounds Emitted from Air Pollution Sources, Final Report, Contract 93-329, prepared for California Air Resources Board Research Division, Sacramento, CA, April 1998. 2004 NPRI National Databases as of April 25, 2006, http://www.ec.gc.ca/pdb/npri/npri_dat_rep_e.cfm. Memorandum Proposed procedures for preparing composite speciation profiles using Environment Canada s National Pollutant Release Inventory (NPRI) for stationary sources, prepared by Ying Hsu and Randy Strait of E.H. Pechan Associates, Inc. for David Niemi, Marc Deslauriers, and Lisa Graham of Environment Canada, September 26, 2006.

Examples

Run this code
if (FALSE) {
# Do not run
pm <- rnorm(n = 100, mean = 400, sd = 2)
(df <- speciate(pm, veh = "PC", fuel = "G", eu = "I"))
(df <- speciate(pm, spec = "brake", veh = "PC", fuel = "G", eu = "I"))
(dfa <- speciate(pm, spec = "iag", veh = "veh", fuel = "G", eu = "Exhaust"))
(dfb <- speciate(pm, spec = "iag_cb05v2", veh = "veh", fuel = "G", eu = "Exhaust"))
(dfb <- speciate(pm, spec = "neu_cb05", veh = "veh", fuel = "G", eu = "Exhaust"))
pm <- units::set_units(pm, "g/km^2/h")
#(dfb <- speciate(as.data.frame(pm), spec = "pmiag", veh = "veh", fuel = "G", eu = "Exhaust"))
#(dfb <- speciate(as.data.frame(pm), spec = "pmneu", veh = "veh", fuel = "G", eu = "Exhaust"))
#(dfb <- speciate(as.data.frame(pm), spec = "pmneu2", veh = "veh", fuel = "G", eu = "Exhaust"))
# new
(pah <- speciate(spec = "pah", veh = "LDV", fuel = "G", eu = "I"))
(xs <- speciate(spec = "pcdd", veh = "LDV", fuel = "G", eu = "I"))
(xs <- speciate(spec = "pmchar", veh = "LDV", fuel = "G", eu = "I"))
(xs <- speciate(spec = "metals", veh = "LDV", fuel = "G", eu = "all"))
}

Run the code above in your browser using DataLab