catalyst-cooperative / pudl

The Public Utility Data Liberation Project provides analysis-ready energy system data to climate advocates, researchers, policymakers, and journalists.
https://catalyst.coop/pudl
MIT License
456 stars 105 forks source link

Integrate EIA-860 Multifuel table #3438

Open grgmiller opened 3 months ago

grgmiller commented 3 months ago

Overview

3_5_Multifuel_Y#### is a table in EIA-860 that includes detailed information about multifuel generators.

Why do you want it in PUDL?

Some of the columns in the multifuel table are in pudl from other EIA-860 tables, but there are columns in the multifuel table that are unique to that table (for example, the time to switch from oil to gas), and the data in this table seems more complete than the duplicate columns in other tables (for example, this table indicates that plant 10 can switch fuels while operating (operating_switch = "Y", but the data for this plant currently integrated into pudl has this as a missing value.

Logistics

This is public and published alongside all of the other EIA-860 tables. Integrating may require reconciling overlapping columns from other EIA-860 tables if they disagree with each other.

What do you know about it so far?

It would be great to have this to ensure that multiple_fuels, cofire_fuels, switch_oil_gas, and operating_switch are accurate and complete.

It would also be helpful to have some new data such as the specific breakout of different cofire energy sources (as distinct from energy_source_code and startup_source_code); the time to switch columns, and the factors that limit switching columns.

zaneselvans commented 3 months ago

I think we have concrete plans to get all of the other tables from schedule 3, but hadn't planned for this one yet. Would you be up for making a PR that compiles the necessary file/sheet/column mappings? And then maybe we could work on the transform alongside the other new EIA-860 tables.

zaneselvans commented 2 months ago

@grgmiller I'm going to flesh out this issue a bit in the hopes that we can make it accessible to an open source contributor.

grgmiller commented 2 months ago

I don't think this is a complete list, but here's some of the columns mappings that we've been parsing for our uses:

column_names = {
        "Plant Code": "plant_id_eia",
        "Generator ID": "generator_id",
        "Energy Source 1": "energy_source_code_1",
        "Energy Source 2": "energy_source_code_2",
        "Multiple Fuels?": "multiple_fuels",
        "Cofire Fuels?": "cofire_fuels",
        "Cofire Energy Source 1": "cofire_source_code_1",
        "Cofire Energy Source 2": "cofire_source_code_2",
        "Cofire Energy Source 3": "cofire_source_code_3",
        "Cofire Energy Source 4": "cofire_source_code_4",
        "Cofire Energy Source 5": "cofire_source_code_5",
        "Cofire Energy Source 6": "cofire_source_code_6",
        "Switch Between Oil and Natural Gas?": "switch_oil_gas",
        "Switch When Operating?": "operating_switch",
        "Time to Switch From Gas to Oil": "switch_gas_oil_time",
        "Time to Switch From Oil to Gas": "switch_oil_gas_time",
        "Factors that Limit Switching?": "switch_limits",
        "Air Permit Limits?": "air_permit_limit",
    }