This function returns speed dependent emission factors. The emission factors comes from the guidelines EMEP/EEA air pollutant emission inventory guidebook http://www.eea.europa.eu/themes/air/emep-eea-air-pollutant-emission-inventory-guidebook

ef_hdv_speed(
  v,
  t,
  g,
  eu,
  x,
  gr = 0,
  l = 0.5,
  p,
  k = 1,
  show.equation = FALSE,
  speed,
  fcorr = rep(1, 8)
)

Arguments

v

Category vehicle: "Coach", "Trucks" or "Ubus"

t

Sub-category of of vehicle: "3Axes", "Artic", "Midi", "RT, "Std" and "TT"

g

Gross weight of each category: "<=18", ">18", "<=15", ">15 & <=18", "<=7.5", ">7.5 & <=12", ">12 & <=14", ">14 & <=20", ">20 & <=26", ">26 & <=28", ">28 & <=32", ">32", ">20 & <=28", ">28 & <=34", ">34 & <=40", ">40 & <=50" or ">50 & <=60"

eu

Euro emission standard: "PRE", "I", "II", "III", "IV", "V". Also "II+CRDPF", "III+CRDPF", "IV+CRDPF", "II+SCR", "III+SCR" and "V+SCR" for pollutants Number of particles and Active Surface.

x

Numeric; if pollutant is "SO2", it is sulphur in fuel in ppm, if is "Pb", Lead in fuel in ppm.

gr

Gradient or slope of road: -0.06, -0.04, -0.02, 0.00, 0.02. 0.04 or 0.06

l

Load of the vehicle: 0.0, 0.5 or 1.0

p

Character; pollutant: "CO", "FC", "NOx", "NO", "NO2", "HC", "PM", "NMHC", "CH4", "CO2", "SO2" or "Pb". Only when p is "SO2" pr "Pb" x is needed. See notes.

k

Multiplication factor

show.equation

Option to see or not the equation parameters

speed

Numeric; Speed to return Number of emission factor and not a function. It needs units in km/h

fcorr

Numeric; Correction by fuel properties by euro technology. See fuel_corr. The order from first to last is "PRE", "I", "II", "III", "IV", "V", VI, "VIc". Default is 1

Value

an emission factor function which depends of the average speed V g/km

Note

Pollutants (g/km): "CO", "NOx", "HC", "PM", "CH4", "NMHC", "CO2", "SO2", "Pb".

Black Carbon and Organic Matter (g/km): "BC", "OM"

PAH and POP (g/km): See speciate Dioxins and furans (g equivalent toxicity / km): See speciate

Metals (g/km): See speciate

Active Surface (cm2/km) See speciate

Total Number of particles (N/km): See speciate

The available standards for Active Surface or number of particles are: Euro II and III Euro II and III + CRDPF Euro II and III + SCR Euro IV + CRDPF Euro V + SCR

The categories Pre Euro and Euro I were assigned with the factors of Euro II and Euro III The categories euro IV and euro V were assigned with euro III + SCR

Examples

if (FALSE) {
# Quick view
pol <- c("CO", "NOx", "HC", "NMHC", "CH4", "FC", "PM", "CO2", "SO2")
f <- sapply(1:length(pol), function(i){
print(pol[i])
ef_hdv_speed(v = "Trucks",t = "RT", g = "<=7.5", e = "II", gr = 0,
l = 0.5, p = pol[i], x = 10)(30)
})
f

V <- 0:130
ef1 <- ef_hdv_speed(v = "Trucks",t = "RT", g = "<=7.5", e = "II", gr = 0,
l = 0.5, p = "HC")
plot(1:130, ef1(1:130), pch = 16, type = "b")
euro <- c(rep("V", 5), rep("IV", 5), rep("III", 5), rep("II", 5),
          rep("I", 5), rep("PRE", 15))
lef <- lapply(1:30, function(i) {
ef_hdv_speed(v = "Trucks", t = "RT", g = ">32", gr = 0,
eu = euro[i], l = 0.5, p = "NOx",
show.equation = FALSE)(25) })
efs <- EmissionFactors(unlist(lef)) #returns 'units'
plot(efs, xlab = "age")
lines(efs, type = "l")
a <- ef_hdv_speed(v = "Trucks", t = "RT", g = ">32", gr = 0,
eu = euro, l = 0.5, p = "NOx", speed = Speed(0:125))
a$speed <- NULL
filled.contour(as.matrix(a), col = cptcity::lucky(n = 24),
xlab = "Speed", ylab = "Age")
persp(x = as.matrix(a), theta = 35, xlab = "Speed", ylab = "Age",
zlab = "NOx [g/km]", col = cptcity::lucky(), phi = 25)
aa <- ef_hdv_speed(v = "Trucks", t = "RT", g = ">32", gr = 0,
eu = rbind(euro, euro), l = 0.5, p = "NOx", speed = Speed(0:125))
}