Creates a data table of low load adjustment factors (unitless) for the given parameters.

calcLLAF(
  engineType,
  location,
  loadFactor,
  ECAfuelSulfurPercentage = 0.1,
  GlobalfuelSulfurPercentage = 0.5,
  pollutants = "ALL",
  inputTableLocation = NULL
)

Arguments

engineType

Engine type (vector of strings) (see calcEngineType). Valid values are:

  • "SSD"

  • "MSD"

  • "MSD-ED"

  • "GT"

  • "GT-ED"

  • "ST"

  • "LNG"

  • "HSD" (auxiliary only)

  • "Boiler" (boiler only)

location

Location of vessel (vector of strings). Valid values are:

  • "ECA"

  • "OutsideECA"

  • "GreatLakes"

loadFactor

Fractional percentage (between 0 and 1) of main engine required to propel vessel at given speed (vector of numericals) (see ShipPowerModel library)

ECAfuelSulfurPercentage

Fuel sulfur cap (percentage by weight) for the Emissions Control Area (ECA). Default = 0.1% (in effect Jan. 1, 2015)

GlobalfuelSulfurPercentage

Fuel sulfur cap (percentage by weight) for outside the Emissions Control Area (ECA). Default = 0.5% (in effect Jan. 1, 2020)

pollutants

Select pollutants (default = "ALL"). Options:

  • "co"

  • "hc"

  • "co2"

  • "so2"

  • "pm10"

  • "pm2.5"

  • "nox"

inputTableLocation

File path (optional). Used to specify a user-supplied set of adjustment factors. See details for formatting requirements

Value

a data.table of low load adjusted emission factors the given parameters. Each pollutant selected in the pollutants argument will be a column in the table.

Details

Location is important for determining the fuel being used, as type of fuel typically used varies by location. This impacts the calculation of LLAF for SO2.

For more information about the default low load adjustment factors, see Section 3.7 of the Port Emissions Inventory Guidance.

If user-supplied adjustment factors are used, the file should be in .csv format with a header row. The headers should be "load" and one or more pollutants listed in the pollutants argument. The load column should contain numerical values in percentage space (i.e., it can range between 0 and 100). The pollutant columns should contain the specific adjustment factors for that pollutant, corresponding to the load values. Note: This function will linearly interpolate between the nearest values for any given load factor, and will return an adjustment factor of 1 for load factors outside the range of the table (i.e., it will not extrapolate).

References

EPA. 2020. "Ports Emissions Inventory Guidance: Methodologies for Estimating Port-Related and Goods Movement Mobile Source Emissions." Ann Arbor, MI: Office of Transportation and Air Quality. US Environmental Protection Agency.

Examples

calcLLAF(engineType=c("SSD","MSD","MSD-ED","GT"), location = "ECA", loadFactor=c(0.8,0.5,0.14,0.03), pollutants="co2")
#> co2 #> 1: 1.000000 #> 2: 1.000000 #> 3: 1.000000 #> 4: 2.437694
calcLLAF(engineType=c("SSD","MSD","MSD-ED","GT"), location = c("ECA","GreatLakes","ECA","OutsideECA"), loadFactor=c(0.8,0.5,0.14,0.03))
#> hc co2 co nox pm2.5 so2 pm10 #> 1: 1.00000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 #> 2: 1.00000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 #> 3: 1.00000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 #> 4: 11.68433 2.437694 6.464724 2.919334 4.331085 2.450012 4.331085
calcLLAF(engineType=c("HSD","MSD","LNG"), location = c("ECA","GreatLakes","ECA","OutsideECA"), loadFactor=c(0.8,0.5,0.14), ECAfuelSulfurPercentage=0.1, GlobalfuelSulfurPercentage=2.7, pollutants="ALL")
#> Warning: Item 2 has 3 rows but longest item has 4; recycled with remainder.
#> Warning: number of rows of result is not a multiple of vector length (arg 1)
#> hc co2 co nox pm2.5 so2 pm10 #> 1: 1.000000 1.000000 1.000000 1.000000 1.000000 1.0000000 1.000000 #> 2: 1.000000 1.000000 1.000000 1.000000 1.000000 1.0000000 1.000000 #> 3: 1.466213 1.108733 1.413298 1.083751 1.145353 1.1103105 1.145353 #> 4: 1.000000 1.000000 1.000000 1.000000 1.000000 0.8083153 1.000000