singularity-energy / open-grid-emissions

Tools for producing high-quality hourly generation and emissions data for U.S. electric grids
MIT License
76 stars 5 forks source link

Handle plant startup consistently #155

Open gailin-p opened 2 years ago

gailin-p commented 2 years ago

Fossil fuel power plants have a startup period between between a period of inactivity and the start of normal operations. During these startup periods, there are differences in plant operations and data handling that impact our estimated plant-level emission rate data. For very small BAs (eg DEAA), this can also impact BA-level emission rate estimates.

Differences in plant operations during startup include:

Differences in data during startup include:

Other data describing start-up includes:

(Identified by @grgmiller )

Action items related to start-up

Examples

CO2 emissions vs. gross generation for two plants: 51 (coal plant) and 55282 (peak-y natural gas plant). Periods where emissions rise before generation represent plant start-up. Note that start-up is longer for the coal plant, but that during startup the coal plant is burning a relatively clean fuel.

Coal

NG

References

EPA rule changes relating to start-up, 2014: https://www.federalregister.gov/documents/2014/11/19/2014-27125/reconsideration-of-certain-startupshutdown-issues-national-emission-standards-for-hazardous-air#citation-3-p68779 EPA research on start-up related to above rule change: https://www3.epa.gov/airtoxics/utility/matsssfinalruletsd110414.pdf EPA Rule 75 (describes all CEMS rules): https://www.ecfr.gov/current/title-40/chapter-I/subchapter-C/part-75

grgmiller commented 2 years ago

the CEMS data reported through AMPD and the FTP site didn't explicitly include this data column (which I understand to be a flag column of whether the hour was a startup or shutdown hour), but the version of the data that exists in their FACT API does include this

Specifically, according to the FACT API documentation, we'd be interested in the following endpoint:

"MATS_FLAG_CODE": {  
        "D": "Shutdown hour",  
        "U": "Startup hour"  
      },

The easiest way to integrate FACT API data might be through PUDL. See https://github.com/catalyst-cooperative/pudl/issues/617