pudl icon indicating copy to clipboard operation
pudl copied to clipboard

Make analysis module for CEMS by generation fuel

Open aesharpe opened this issue 1 year ago • 2 comments

This module will take the gen_fuel_by_generator_eia923 and gen_fuel_by_generator_energy_source_eia923 output tables and assign CEMS emissions using the epacamd-eia crosswalk and known emissions intensity factors for weighted fuel-based allocation.

We need to determine:

  • What are the weighted allocation factors for each of the fuel types (CO2, SO2, NOx) --> maybe we can piggy back off of what Open Grid Emissions is using for NOx and SO2.
  • How much flexibility to work into the output (i.e., should we have one output table that allocates just to the generator level and another that allocates to the generator-fuel level or the ability to choose which level of aggregation is desired as an argument).

It's important to note that in order to get accurate emissions aggregates we still need to:

  • Fill in the gaps in CEMS
  • Estimate emissions for entities not reporting to CEMS

I think we can use some of the methodology employed by the OGE for this. But this is outside the scope of this issue.

aesharpe avatar Sep 12 '22 17:09 aesharpe

QUESTION: This issue entails merging CEMS data with an output table. To my knowledge, we've never included CEMS in an output table before. How should we go about doing this?

One potential place to start is creating the CEMS table I need (CEMS aggregated by year, plant, and emissions_unit_id) in the current pudl.output.epacems module and then importing it directly into the pudl.analysis.allocate_cems_to_eia_gens module I'm creating.

aesharpe avatar Sep 14 '22 23:09 aesharpe

Do you think this aggregated CEMS data would be useful for many people's analysis or is it more specific to some particular work? I interpret output modules as being for reusable outputs that are common building blocks for many people's analysis. If the CEMS data you need is specific to this analysis, I'd just make it in the analysis module rather than making a new output.

TrentonBush avatar Sep 15 '22 18:09 TrentonBush