Introduction
This vignette documents the workflow implemented by
cdmAcm0010 for the Clean Development Mechanism (CDM)
methodology ACM0010. The methodology targets methane emission reductions
from manure management systems that install anaerobic digestion to
capture and combust biogas.
Simulated Dataset
monitoring <- simulate_acm0010_dataset(periods = 6, seed = 2025)
knitr::kable(head(monitoring))
#> Warning: 'xfun::attr()' is deprecated.
#> Use 'xfun::attr2()' instead.
#> See help("Deprecated")
#> Warning: 'xfun::attr()' is deprecated.
#> Use 'xfun::attr2()' instead.
#> See help("Deprecated")
| 1 |
open lagoon |
4934.016 |
955.3468 |
236.5411 |
0.8333512 |
1183.3646 |
0.9894701 |
24.96750 |
0.5386276 |
1.7596170 |
| 2 |
anaerobic pond |
4708.593 |
1278.2353 |
353.6638 |
0.6597468 |
1236.4680 |
0.9833719 |
22.19869 |
0.7944010 |
2.9506940 |
| 3 |
open lagoon |
4305.950 |
744.9812 |
159.9063 |
0.8570474 |
1329.5249 |
0.9482376 |
21.23586 |
0.5717447 |
3.8252244 |
| 4 |
manure pile |
5856.979 |
1013.9309 |
328.8292 |
0.6778839 |
891.2331 |
0.9851327 |
11.96613 |
0.5526392 |
3.0038917 |
| 5 |
anaerobic pond |
4963.073 |
1249.4115 |
234.2227 |
0.7269620 |
875.7144 |
0.9737922 |
16.80829 |
0.7080896 |
0.7625147 |
| 6 |
manure pile |
3071.507 |
373.2368 |
379.6006 |
0.6430768 |
941.3610 |
0.9770279 |
18.11187 |
0.6433796 |
3.7102011 |
Equation Walkthrough
| 1 |
open lagoon |
4934.016 |
955.3468 |
236.5411 |
0.8333512 |
1183.3646 |
0.9894701 |
24.96750 |
0.5386276 |
1.7596170 |
941.1190 |
3.678285 |
0.2500912 |
15.207800 |
| 2 |
anaerobic pond |
4708.593 |
1278.2353 |
353.6638 |
0.6597468 |
1236.4680 |
0.9833719 |
22.19869 |
0.7944010 |
2.9506940 |
1213.1935 |
3.753878 |
0.4126503 |
20.585352 |
| 3 |
open lagoon |
4305.950 |
744.9812 |
159.9063 |
0.8570474 |
1329.5249 |
0.9482376 |
21.23586 |
0.5717447 |
3.8252244 |
569.4211 |
2.288818 |
1.3812326 |
15.966712 |
| 4 |
manure pile |
5856.979 |
1013.9309 |
328.8292 |
0.6778839 |
891.2331 |
0.9851327 |
11.96613 |
0.5526392 |
3.0038917 |
1592.5359 |
5.063110 |
0.2659381 |
9.616843 |
| 5 |
anaerobic pond |
4963.073 |
1249.4115 |
234.2227 |
0.7269620 |
875.7144 |
0.9737922 |
16.80829 |
0.7080896 |
0.7625147 |
869.8237 |
2.965622 |
0.4606264 |
12.664291 |
| 6 |
manure pile |
3071.507 |
373.2368 |
379.6006 |
0.6430768 |
941.3610 |
0.9770279 |
18.11187 |
0.6433796 |
3.7102011 |
1024.2649 |
3.089214 |
0.4340229 |
15.363008 |
Monitoring Period Aggregation
monitoring <- monitoring |>
dplyr::mutate(
net_emission_reductions_tco2e = calculate_net_emission_reductions_acm0010(
baseline_emissions_tco2e,
project_emissions_tco2e,
leakage_emissions_tco2e
)
)
aggregate_monitoring_periods_acm0010(monitoring) |>
knitr::kable()
#> Warning: 'xfun::attr()' is deprecated.
#> Use 'xfun::attr2()' instead.
#> See help("Deprecated")
#> Warning: 'xfun::attr()' is deprecated.
#> Use 'xfun::attr2()' instead.
#> See help("Deprecated")
| 1 |
3.678285 |
0.2500912 |
15.207800 |
-11.779605 |
| 2 |
3.753878 |
0.4126503 |
20.585352 |
-17.244124 |
| 3 |
2.288818 |
1.3812326 |
15.966712 |
-15.059126 |
| 4 |
5.063110 |
0.2659381 |
9.616843 |
-4.819671 |
| 5 |
2.965622 |
0.4606264 |
12.664291 |
-10.159295 |
| 6 |
3.089214 |
0.4340229 |
15.363008 |
-12.707817 |
results <- estimate_emission_reductions_acm0010(simulate_acm0010_dataset(periods = 12, seed = 42))
results$total_emission_reductions
#> # A tibble: 1 × 4
#> baseline_emissions_tco2e project_emissions_tco2e leakage_emissions_tco2e
#> <dbl> <dbl> <dbl>
#> 1 47.8 15.3 185.
#> # ℹ 1 more variable: net_emission_reductions_tco2e <dbl>
Function Reference
reference <- tibble::tibble(
Function = c(
"check_applicability_feedstock_mix",
"calculate_baseline_emissions_acm0010",
"estimate_emission_reductions_acm0010"
),
Signature = c(
"(feedstock, eligible = 0.7)",
"(cod_removed_kg, methane_conversion_factor, methane_fraction = 0.67, gwp_ch4 = 28)",
"(data, gwp_ch4 = 28, methane_density = 0.0007168)"
),
Purpose = c(
"Validate eligible feedstock composition",
"Compute baseline emissions from COD removal",
"Run the end-to-end ACM0010 estimator"
)
)
knitr::kable(reference)
#> Warning: 'xfun::attr()' is deprecated.
#> Use 'xfun::attr2()' instead.
#> See help("Deprecated")
#> Warning: 'xfun::attr()' is deprecated.
#> Use 'xfun::attr2()' instead.
#> See help("Deprecated")
| check_applicability_feedstock_mix |
(feedstock, eligible = 0.7) |
Validate eligible feedstock composition |
| calculate_baseline_emissions_acm0010 |
(cod_removed_kg, methane_conversion_factor,
methane_fraction = 0.67, gwp_ch4 = 28) |
Compute baseline emissions from COD removal |
| estimate_emission_reductions_acm0010 |
(data, gwp_ch4 = 28, methane_density = 0.0007168) |
Run the end-to-end ACM0010 estimator |
Workflow Overview
workflow <- tibble::tibble(
Step = c(
"Confirm applicability",
"Assemble monitoring dataset",
"Run equation helpers",
"Aggregate monitoring periods",
"Report emission reductions"
),
Description = c(
"Ensure feedstock mix and baseline system meet ACM0010 criteria",
"Collect COD, flow, methane recovery, and energy data",
"Transform monitoring data into emissions metrics",
"Summarise emissions by reporting period",
"Compile baseline, project, leakage, and net reductions"
)
)
knitr::kable(workflow)
#> Warning: 'xfun::attr()' is deprecated.
#> Use 'xfun::attr2()' instead.
#> See help("Deprecated")
#> Warning: 'xfun::attr()' is deprecated.
#> Use 'xfun::attr2()' instead.
#> See help("Deprecated")
| Confirm applicability |
Ensure feedstock mix and baseline system meet ACM0010
criteria |
| Assemble monitoring dataset |
Collect COD, flow, methane recovery, and energy
data |
| Run equation helpers |
Transform monitoring data into emissions metrics |
| Aggregate monitoring periods |
Summarise emissions by reporting period |
| Report emission reductions |
Compile baseline, project, leakage, and net
reductions |