Estimates methane generation from COD loads, applies optional baseline capture and oxidation fractions, and converts to tCO2e.

calculate_baseline_methane_emissions_iiih(
  data,
  influent_flow_col = "influent_flow_m3_per_day",
  cod_concentration_col = "cod_mg_l",
  degradable_cod_fraction_col = "biodegradable_fraction",
  baseline_capture_efficiency_col = "baseline_capture_efficiency_fraction",
  oxidation_fraction_col = "baseline_oxidation_fraction",
  days_col = "days_in_period",
  group_cols = NULL,
  output_col = "baseline_emissions_tco2e",
  methane_conversion_factor_m3_per_kg_cod = 0.35,
  methane_density_t_per_m3 = 0.00067,
  gwp_ch4 = 28
)

Arguments

data

Tibble containing baseline wastewater monitoring data.

influent_flow_col

Column storing influent wastewater flow in m3 per day.

cod_concentration_col

Column storing influent COD concentration in mg/L.

degradable_cod_fraction_col

Optional column storing the biodegradable COD fraction.

baseline_capture_efficiency_col

Optional column storing baseline capture efficiency.

oxidation_fraction_col

Optional column storing oxidation fractions for residual methane.

days_col

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

group_cols

Optional character vector specifying grouping columns.

output_col

Name of the output column for baseline emissions in tCO2e.

methane_conversion_factor_m3_per_kg_cod

Methane generation potential in m3 CH4 per kg COD.

methane_density_t_per_m3

Density of methane in tonnes per cubic metre.

gwp_ch4

Global warming potential of methane.

Value

Tibble containing grouped baseline methane emissions in tCO2e.

Examples

baseline <- tibble::tibble(
  site_id = c("WW1", "WW2"),
  influent_flow_m3_per_day = c(5500, 3200),
  cod_mg_l = c(3200, 1800),
  biodegradable_fraction = c(0.8, 0.65)
)
calculate_baseline_methane_emissions_iiih(baseline, group_cols = "site_id")
#> Error in dplyr::mutate(data_tbl, .days = if (!is.null(days_col)) .data[[days_col]] else 1,     .cod_load_kg = .data[[influent_flow_col]] * .data[[cod_concentration_col]]/1000,     .cod_load_kg = if (!is.null(degradable_cod_fraction_col)) {        .cod_load_kg * .data[[degradable_cod_fraction_col]]    } else {        .cod_load_kg    }, .cod_load_kg = .cod_load_kg * .days, .baseline_capture = if (!is.null(baseline_capture_efficiency_col)) {        .data[[baseline_capture_efficiency_col]]    } else {        0    }, .oxidation = if (!is.null(oxidation_fraction_col)) {        .data[[oxidation_fraction_col]]    } else {        0    }, .generated_m3 = .cod_load_kg * methane_conversion_factor_m3_per_kg_cod,     .captured_m3 = .generated_m3 * .baseline_capture, .oxidised_m3 = (.generated_m3 -         .captured_m3) * .oxidation, .emitted_m3 = pmax(.generated_m3 -         .captured_m3 - .oxidised_m3, 0), .baseline_component = .emitted_m3 *         methane_density_t_per_m3 * gwp_ch4):  In argument: `.days = if (!is.null(days_col))
#>   .data[["days_in_period"]] else 1`.
#> Caused by error in `.data[["days_in_period"]]`:
#> ! Column `days_in_period` not found in `.data`.