Convert project monitoring data into methane emissions that remain after collection, destruction, and oxidation while including optional energy inputs for landfill gas management systems.

calculate_project_emissions_iiig(
  data,
  waste_disposed_col = "waste_disposed_tonnes",
  methane_generation_potential_col = "methane_generation_potential_m3_per_tonne",
  project_collection_efficiency_col = "project_collection_efficiency_fraction",
  destruction_efficiency_col = "destruction_efficiency_fraction",
  project_oxidation_fraction_col = "oxidation_fraction",
  days_col = NULL,
  electricity_consumption_col = "electricity_consumption_mwh",
  electricity_emission_factor_col = "electricity_ef_tco2_per_mwh",
  diesel_consumption_col = "diesel_consumption_litres",
  diesel_emission_factor_col = "diesel_ef_tco2_per_litre",
  group_cols = NULL,
  output_col = "project_emissions_tco2e",
  methane_density_t_per_m3 = 0.00067,
  gwp_ch4 = 28
)

Arguments

data

Tibble containing project monitoring data.

waste_disposed_col

Column storing waste disposed in tonnes.

methane_generation_potential_col

Column storing methane generation potential in cubic metres per tonne of waste.

project_collection_efficiency_col

Column storing the project methane collection efficiency.

destruction_efficiency_col

Column storing flare or utilisation system destruction efficiency.

project_oxidation_fraction_col

Optional column storing the oxidation fraction for uncaptured methane.

days_col

Optional column storing the number of days represented by each record.

electricity_consumption_col

Optional column storing electricity use in MWh.

electricity_emission_factor_col

Optional column storing grid emission factors in tCO2 per MWh.

diesel_consumption_col

Optional column storing diesel use in litres.

diesel_emission_factor_col

Optional column storing diesel emission factors in tCO2 per litre.

group_cols

Optional character vector specifying grouping columns.

output_col

Name of the output column for project emissions in tCO2e.

methane_density_t_per_m3

Density of methane in tonnes per cubic metre.

gwp_ch4

Global warming potential of methane.

Value

Tibble containing grouped project emissions in tCO2e.

Examples

project <- tibble::tibble(
  site_id = c("LF1", "LF2"),
  waste_disposed_tonnes = c(12000, 9000),
  methane_generation_potential_m3_per_tonne = c(90, 85),
  project_collection_efficiency_fraction = c(0.65, 0.6),
  destruction_efficiency_fraction = c(0.98, 0.96),
  oxidation_fraction = c(0.1, 0.08)
)
calculate_project_emissions_iiig(project, group_cols = "site_id")
#> Error in dplyr::mutate(data_tbl, .days = if (!is.null(days_col)) .data[[days_col]] else 1,     .generated_m3 = .data[[waste_disposed_col]] * .data[[methane_generation_potential_col]] *         .days, .captured_m3 = .generated_m3 * .data[[project_collection_efficiency_col]],     .destroyed_m3 = .captured_m3 * .data[[destruction_efficiency_col]],     .oxidised_m3 = if (!is.null(project_oxidation_fraction_col)) {        (.generated_m3 - .captured_m3) * .data[[project_oxidation_fraction_col]]    } else {        0    }, .residual_m3 = pmax(.generated_m3 - .destroyed_m3 - .oxidised_m3,         0), .methane_component = .residual_m3 * methane_density_t_per_m3 *         gwp_ch4, .electricity_component = if (!is.null(electricity_consumption_col) &&         !is.null(electricity_emission_factor_col)) {        .data[[electricity_consumption_col]] * .data[[electricity_emission_factor_col]]    } else {        0    }, .diesel_component = if (!is.null(diesel_consumption_col) &&         !is.null(diesel_emission_factor_col)) {        .data[[diesel_consumption_col]] * .data[[diesel_emission_factor_col]]    } else {        0    }, .project_component = .methane_component + .electricity_component +         .diesel_component):  In argument: `.electricity_component = if (...) NULL`.
#> Caused by error in `.data[["electricity_consumption_mwh"]]`:
#> ! Column `electricity_consumption_mwh` not found in `.data`.