BAAQMD / charting-annual-data

Charting Annual Data: An Inventory Cookbook
0 stars 0 forks source link

BY2011 report vs. BY2011 inventory data in R-Studio #3

Closed songbai-BAAQMD closed 4 years ago

songbai-BAAQMD commented 4 years ago

We recently received a request to provide on-road mobile source emissions and total District-wide emissions for NOx and ROG. I used our R-package to retrieve the annual emissions data, as shown below; however, they seemed different from what's presented in the BY2011 public report (Table 5 of District total by source sectors). The BY2011 public report showed lower total annual emissions of NOx and ROG for calendar year 2011. What is causing this difference?

Here is what I used in R-Studio to retrieve the data:

QA_POLLUTANTS <- c("ROG", "NOx")
QA_emission_data <-
    BY2011_annual_emission_data %>%
    filter_pollutants(
        QA_POLLUTANTS)
QA_emission_data %>%
    filter_years(
        CY(2011:2019)) %>%
    tabulate_emissions_by(
        pol_abbr,
        year)

Data from R-Studio query:

pol_abbr  CY2011  CY2012  CY2013  CY2014  CY2015  CY2016  CY2017  CY2018  CY2019 ems_unit
  <chr>      <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl> <chr>   
1 NOx      129100. 125903. 120770. 115076. 109229. 106438. 101916.  97625.  94120. ton/yr  
2 ROG      138757. 135996. 133361. 131037. 129351. 127916. 126697. 125657. 125012. ton/yr 

Data from BY2011 public report (Table 5, with a note saying biogenic emissions not included):

NOx = 316 tpd = 115340 ton/yr
ROG = 273 tpd = 99645 ton/yr
dholstius commented 4 years ago

@songbai-BAAQMD Could you please edit the issue text (above) to include the R code you ran? Thanks!

dholstius commented 4 years ago

I think it's about more than just biogenic/non-biogenic. I can come pretty close. Here, try the following:

library(inventory)
library(BY2011)

QA_POLLUTANTS <- 
  c("ROG", "NOx")

QA_emission_data <-
  BY2011_annual_emission_data %>%
  filter_pollutants(
    QA_POLLUTANTS)

#
# dholstius: I was once provided the categories that are enumerated in 
# `BY2011_sets$Unreported`, but I don't know why the set is what it is.
# 
# Essentially, it's "biogenic" plus some "ships in transit" and commerical 
# harbor craft (CHC) categories. But why exclude CHC between 3-24 nautical 
# miles? I don't know.
#
pivot_table_data <-
  QA_emission_data %>%
  filter_years(
    CY(2011:2019)) %>%
  with_hierarchy(
    BY2011_category_hierarchy,
    verbose = TRUE) %>%
  mutate(
    cat_unreported = (cat_id %in% BY2011_sets$Unreported))

#
# Note: in the call to `pivot_table(...)`, `inclusions` and `exclusions` 
# only determine what is initially *displayed*. All of the other data 
# (e.g. for other pollutants) remain available for interactive use.
#
pivot_table_object <-
  pivot_table_data %>%
  filter(
    cat_id %not_in% BY2011_sets$Unreported) %>%
  pivot_table(
    rows = c("cat_h1"),
    inclusions = list(
      pol_abbr = list("ROG")),
    exclusions = list(
      cat_biogenic = list("true")),
    aggregator = "Integer Sum")

show(pivot_table_object)

The key is what's in BY2011_sets$Unreported. That's not just biogenic categories.

I was once provided the categories that are enumerated in BY2011_sets$Unreported, but I don't know why the set is what it is.

Essentially, it's "biogenic" plus some "ships in transit" and commercial harbor craft (CHC) categories. But why exclude CHC between 3-24 nautical miles? I don't know. (I would like to!)

Let's have a look:

BY2011_category_hierarchy %>%
  filter(
    cat_id %in% BY2011_sets$Unreported) %>%
  View()

Would you please check with Michael and Tan that my logic is correct, and that the categories in BY2011_sets$Unreported are as they expect them to be (nothing extra, nothing missing)?

songbai-BAAQMD commented 4 years ago

@dholstius This is great help and thanks very much for your quick response - let me double-check with Michael and Tan, and will let you know.

songbai-BAAQMD commented 4 years ago

Michael's response: We should continue to estimate Biogenic (TOG) emissions for BY2015, but the Biogenic emissions might be not included in the BY2015 Summary Report (similar to BY2011). If Abhinav would like to include the biogenic emissions in BY2015, that would be his call.

Tan's response: For ships categories, at the time when I pulled the emissions to complete the BY11 inventory, the categories were not reported in CARB's database. Later, when I went back to recheck the emissions, some of the shipping categories were added to CARB's inventory. So, in the BY11 inventory, it was not included. However, in the BY15 inventory these emissions will be included.

My comment: I got Michael’s point and I saw the footnote in BY2011 public report Table 5, saying that biogenic emissions were not included. However, my thought is that, except for certain “pollutant-specific” categories (e.g., those for GHG pollutants only), we should include all these categories in BY2015 reporting as long as they have criteria pollutant emissions. The story we are telling is what the emission inventory is in the bay area; we do need to clarify which part is anthropogenic, and which part is not. Biogenic emissions are also used by the Modeling team in their regional ozone modeling. Tan confirmed that ship emissions would be included in BY2015, which makes sense.

dholstius commented 4 years ago

@songbai-BAAQMD Can we close this issue?