cdmAcm0018-methodology.RmdACM0018 covers grid-connected power plants that generate electricity
using biomass feedstocks in a power-only configuration. This vignette
illustrates the core helpers in cdmAcm0018 for checking
applicability, simulating monitoring data, walking through the emissions
equations, and aggregating monitoring periods.
The methodology requires renewable biomass feedstock, a power-only plant configuration, and biomass to supply the dominant share of fuel input.
check_applicability_biomass_feedstock_acm0018(
c("agricultural residues", "coal", "forest residues")
)
#> [1] TRUE FALSE TRUE
check_applicability_power_only_acm0018(
exports_heat = c(FALSE, TRUE),
generates_electricity = c(TRUE, TRUE)
)
#> [1] TRUE FALSE
check_applicability_biomass_fraction_acm0018(c(0.85, 0.72, 0.9))
#> [1] TRUE FALSE TRUEsimulate_acm0018_dataset() generates tidy monitoring
data with electricity output, auxiliary fossil fuel use, onsite fossil
generation, biomass transport activity, and leakage assumptions.
set.seed(2024)
monitoring <- simulate_acm0018_dataset(3)
knitr::kable(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")| period | electricity_output_mwh | baseline_emission_factor | auxiliary_fossil_tj | auxiliary_fossil_ef | onsite_generation_mwh | onsite_emission_factor | biomass_transport_tkm | transport_emission_factor | leakage_fraction |
|---|---|---|---|---|---|---|---|---|---|
| Period 01 | 51436.89 | 0.8093561 | 0.2013859 | 74 | 43.17973 | 0.7 | 611.5409 | 0.00012 | 0.0385189 |
| Period 02 | 49640.50 | 0.8779049 | 0.1749186 | 74 | 34.92112 | 0.7 | 552.2324 | 0.00012 | 0.0307006 |
| Period 03 | 47622.10 | 0.8846177 | 0.1310050 | 74 | 67.03377 | 0.7 | 159.8286 | 0.00012 | 0.0445421 |
The equation helpers mirror the ACM0018 calculation sequence. Baseline emissions are driven by net electricity exported to the grid and the combined margin emission factor. Project emissions capture auxiliary fossil firing, onsite fossil generation, and biomass transport. Leakage is modelled as a fraction of baseline emissions.
baseline <- calculate_baseline_emissions_acm0018(
monitoring$electricity_output_mwh,
monitoring$baseline_emission_factor
)
project <- calculate_project_emissions_acm0018(
monitoring$auxiliary_fossil_tj,
monitoring$auxiliary_fossil_ef,
monitoring$onsite_generation_mwh,
monitoring$onsite_emission_factor,
monitoring$biomass_transport_tkm,
monitoring$transport_emission_factor
)
leakage <- calculate_leakage_emissions_acm0018(
monitoring$leakage_fraction,
baseline
)
emission_reductions <- calculate_emission_reductions_acm0018(
baseline,
project,
leakage
)
dplyr::tibble(
period = monitoring$period,
baseline,
project,
leakage,
emission_reductions
)
#> # A tibble: 3 × 5
#> period baseline project leakage emission_reductions
#> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 Period 01 41631. 45.2 1604. 39982.
#> 2 Period 02 43580. 37.5 1338. 42204.
#> 3 Period 03 42127. 56.6 1876. 40194.aggregate_monitoring_periods_acm0018() summarises
monitoring observations into period-level totals following the same
calculation chain.
aggregated <- aggregate_monitoring_periods_acm0018(monitoring)
aggregated
#> # A tibble: 3 × 14
#> period electricity_output_mwh baseline_emission_factor auxiliary_fossil_tj
#> <chr> <dbl> <dbl> <dbl>
#> 1 Period 01 51437. 0.809 0.201
#> 2 Period 02 49641. 0.878 0.175
#> 3 Period 03 47622. 0.885 0.131
#> # ℹ 10 more variables: auxiliary_fossil_ef <dbl>, onsite_generation_mwh <dbl>,
#> # onsite_emission_factor <dbl>, biomass_transport_tkm <dbl>,
#> # transport_emission_factor <dbl>, leakage_fraction <dbl>,
#> # baseline_emissions <dbl>, project_emissions <dbl>, leakage_emissions <dbl>,
#> # emission_reductions <dbl>For design documents or verification summaries, the portfolio helper provides total generation, emissions, and emission reductions.
estimate_emission_reductions_acm0018(monitoring)
#> # A tibble: 1 × 5
#> total_electricity_output_mwh total_baseline_emissions total_project_emissions
#> <dbl> <dbl> <dbl>
#> 1 148699. 127338. 139.
#> # ℹ 2 more variables: total_leakage_emissions <dbl>,
#> # total_emission_reductions <dbl>