R/ef_ldv_scaled.R
ef_ldv_scaled.RdThis function creates a list of scaled functions of emission factors. A scaled emission factor which at a speed of the driving cycle (SDC) gives a desired value.
ef_ldv_scaled(
df,
dfcol,
SDC = 34.12,
v,
t = "4S",
cc,
f,
eu,
p,
programs_only = FALSE
)deprecated
Column of the dataframe with the local emission factors eg df$dfcol
Speed of the driving cycle
Category vehicle: "PC", "LCV", "Motorcycle" or "Moped
Sub-category of of vehicle: PC: "ECE_1501", "ECE_1502", "ECE_1503", "ECE_1504" , "IMPROVED_CONVENTIONAL", "OPEN_LOOP", "ALL", "2S" or "4S". LCV: "4S", Motorcycle: "2S" or "4S". Moped: "2S" or "4S"
Size of engine in cc: PC: "<=1400", ">1400", "1400_2000", ">2000", "<=800", "<=2000". Motorcycle: ">=50" (for "2S"), "<=250", "250_750", ">=750". Moped: "<=50". LCV : "<3.5" for gross weight.
Type of fuel: "G", "D", "LPG" or "FH" (Full Hybrid: starts by electric motor)
Euro standard: "PRE", "I", "II", "III", "III+DPF", "IV", "V", "VI", "VIc"
Pollutant: "CO", "FC", "NOx", "HC" or "PM". If your pollutant dfcol is based on fuel, use "FC", if it is based on "HC", use "HC".
Logical; if TRUE, return only the compiled
speed programs used by emis_speed and skip building the R
emission-factor functions (faster when only the compiled engine is used).
A list of scaled emission factors g/km
This function calls "ef_ldv_speed" and calculate the specific k value, dividing the local emission factor by the respective speed emissions factor at the speed representative of the local emission factor, e.g. If the local emission factors were tested with the FTP-75 test procedure, SDC = 34.12 km/h.
The length of the list should be equal to the name of the age categories of a specific type of vehicle. Thanks to Glauber Camponogara for the help.
ef_ldv_seed
{
CO <- ef_cetesb(p = "CO", veh = "PC_FG", full = TRUE)
lef <- ef_ldv_scaled(dfcol = CO$CO,
v = "PC",
t = "4S",
cc = "<=1400",
f = "G",
eu = CO$EqEuro_PC,
p = "CO")
length(lef)
ages <- c(1, 10, 20, 30, 40)
EmissionFactors(do.call("cbind",
lapply(ages, function(i) {
data.frame(i = lef[[i]](1:100))
}))) -> df
names(df) <- ages
colplot(df)
# programs_only = TRUE skips the R functions and returns the compiled
# speed programs used by emis_speed()
prog <- ef_ldv_scaled(dfcol = CO$CO,
v = "PC", t = "4S", cc = "<=1400", f = "G",
eu = CO$EqEuro_PC, p = "CO", programs_only = TRUE)
class(prog) # "speed_programs"
prog$n # ages
prog$G # distinct equations after grouping
}
#> [1] 6