Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add column mapping for proposed multifuel table #3988

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/release_notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ v2024.XX.x (2024-MM-DD)
New Data Coverage
^^^^^^^^^^^^^^^^^

EIA 860
~~~~~~~
* Added EIA 860 Multifuel data. See :issue:`3438` and :pr:`3946`.

Bug Fixes
^^^^^^^^^

Expand Down
1 change: 1 addition & 0 deletions src/pudl/extract/eia860.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ def get_dtypes(page, **partition):
"raw_eia860__generator_wind_existing",
"raw_eia860__generator_wind_retired",
"raw_eia860__multifuel_existing",
"raw_eia860__multifuel_proposed",
"raw_eia860__multifuel_retired",
"raw_eia860__ownership",
"raw_eia860__plant",
Expand Down
123 changes: 122 additions & 1 deletion src/pudl/metadata/fields.py
Original file line number Diff line number Diff line change
Expand Up @@ -449,6 +449,22 @@
),
"unit": "min",
},
"can_cofire_100_oil": {
"type": "boolean",
"description": "Can the generator co-fire 100 oil?",
},
"can_cofire_oil_and_gas": {
"type": "boolean",
"description": "Can the generator co-fire oil and gas?",
},
"can_fuel_switch": {
"type": "boolean",
"description": "TK",
},
"can_switch_when_operating": {
"type": "boolean",
"description": "Indicates whether the generator switches fuel while operating.",
},
"capacity_eoy_mw": {
"type": "number",
"description": "Total end of year installed (nameplate) capacity for a plant part, in megawatts.",
Expand Down Expand Up @@ -731,7 +747,31 @@
},
"cofire_fuels": {
"type": "boolean",
"description": "Can the generator co-fire fuels?.",
"description": "Can the generator co-fire fuels?",
},
"cofire_energy_source_1": {
"type": "string",
"description": "Type of fuel.",
},
"cofire_energy_source_2": {
"type": "string",
"description": "Type of fuel.",
},
"cofire_energy_source_3": {
"type": "string",
"description": "Type of fuel.",
},
"cofire_energy_source_4": {
"type": "string",
"description": "Type of fuel.",
},
"cofire_energy_source_5": {
"type": "string",
"description": "Type of fuel.",
},
"cofire_energy_source_6": {
"type": "string",
"description": "Type of fuel.",
},
"coincident_peak_demand_mw": {
"type": "number",
Expand Down Expand Up @@ -927,6 +967,14 @@
"type": "date",
"description": "The most recently updated effective date on which the generator is scheduled to start operation",
},
"current_planned_generator_operating_month": {
"type": "integer",
"description": "The most recently updated effective month on which the generator is scheduled to start operation",
},
"current_planned_generator_operating_year": {
"type": "integer",
"description": "The most recently updated effective year on which the generator is scheduled to start operation",
},
"customer_class": {
"type": "string",
"description": f"High level categorization of customer type: {CUSTOMER_CLASSES}.",
Expand Down Expand Up @@ -1071,10 +1119,26 @@
"description": "Annual demand per km2 of a given service territory.",
"unit": "MWh/km2",
},
"has_air_permit_limits": {
"type": "boolean",
"description": "True if there are air permit limits",
},
"has_demand_side_management": {
"type": "boolean",
"description": "Whether there were strategies or measures used to control electricity demand by customers",
},
"has_factors_that_limit_switching": {
"type": "boolean",
"description": "True if there are factors that limit switching.",
},
"has_other_limits": {
"type": "boolean",
"description": "True if there are other limits on the generator.",
},
"has_storage_limits": {
"type": "boolean",
"description": "True if there are storage limits",
},
"depreciation_type": {
"type": "string",
"description": (
Expand Down Expand Up @@ -1859,6 +1923,30 @@
"type": "number",
"description": "Quanity of fuel received in tons, barrel, or Mcf.",
},
"fuel_switch_energy_source_1": {
"type": "string",
"description": "TK",
},
"fuel_switch_energy_source_2": {
"type": "string",
"description": "TK",
},
"fuel_switch_energy_source_3": {
"type": "string",
"description": "TK",
},
"fuel_switch_energy_source_4": {
"type": "string",
"description": "TK",
},
"fuel_switch_energy_source_5": {
"type": "string",
"description": "TK",
},
"fuel_switch_energy_source_6": {
"type": "string",
"description": "TK",
},
"fuel_type": {
"type": "string",
"description": "Type of fuel.",
Expand Down Expand Up @@ -2491,6 +2579,14 @@
"description": "Maximum heat content per physical unit of fuel in MMBtu.",
"unit": "MMBtu",
},
"max_oil_heat_input": {
"type": "number",
"description": "TK",
},
"max_oil_output_mw": {
"type": "number",
"description": "MW",
},
"max_steam_flow_1000_lbs_per_hour": {
"type": "number",
"unit": "1000_lbs_per_hour",
Expand Down Expand Up @@ -2816,6 +2912,26 @@
),
"unit": "MWh",
},
"net_summer_capacity_with_natural_gas_mw": {
"type": "number",
"description": "Summer capacity with natural gas.",
"unit": "MWh",
},
"net_summer_capacity_with_oil_mw": {
"type": "number",
"description": "Summer capacity with oil.",
"unit": "MWh",
},
"net_winter_capacity_with_natural_gas_mw": {
"type": "number",
"description": "Winter capacity with natural gas.",
"unit": "MWh",
},
"net_winter_capacity_with_oil_mw": {
"type": "number",
"description": "Winter capacity with oil",
"unit": "MWh",
},
"net_wheeled_power_mwh": {
"type": "number",
"description": (
Expand Down Expand Up @@ -3684,6 +3800,7 @@
"type": "string",
"description": "Human-readable name of a US Census region.",
},
"regulatory_limits": {"type": "string", "description": "TK"},
"regulation_mercury": {
"type": "string",
"description": "Most stringent type of statute or regulation code under which the boiler is operating for mercury control standards.",
Expand Down Expand Up @@ -4478,6 +4595,10 @@
"rate programs."
),
},
"time_to_switch": {
"type": "string",
"description": "Time needed to switch between fuel sources",
},
"timezone": {
"type": "string",
"description": "IANA timezone name",
Expand Down
68 changes: 68 additions & 0 deletions src/pudl/metadata/resources/eia860.py
Original file line number Diff line number Diff line change
Expand Up @@ -906,6 +906,74 @@
"sources": ["eia860"],
"etl_group": "eia860",
},
"core_eia860__scd_generators_multifuel": {
"description": (
"Annually reported information about energy storage from EIA-860 Schedule 3. "
"Contains data on fuel-switching and the use of multiple fuels by surveyed generators."
),
"schema": {
"fields": [
"utility_id_eia",
"utility_name_eia",
"plant_id_eia",
"plant_name_eia",
"state",
"county",
"generator_id",
"operational_status_code",
"technology_description",
"prime_mover_code",
"sector_name_eia",
"sector_id_eia",
"capacity_mw",
"summer_capacity_mw",
"winter_capacity_mw",
"current_planned_generator_operating_month",
"current_planned_generator_operating_year",
"energy_source_code_1",
"energy_source_code_2",
"multiple_fuels",
"cofire_fuels",
"cofire_energy_source_1",
"cofire_energy_source_2",
"cofire_energy_source_3",
"cofire_energy_source_4",
"cofire_energy_source_5",
"cofire_energy_source_6",
"switch_oil_gas",
"can_switch_when_operating",
"net_summer_capacity_with_natural_gas_mw",
"net_summer_capacity_with_oil_mw",
"net_winter_capacity_with_natural_gas_mw",
"net_winter_capacity_with_oil_mw",
"has_factors_that_limit_switching",
"has_storage_limits",
"has_air_permit_limits",
"has_other_limits",
"can_cofire_oil_and_gas",
"can_cofire_100_oil",
"max_oil_heat_input",
"max_oil_output_mw",
"can_fuel_switch",
"time_to_switch",
"regulatory_limits",
"fuel_switch_energy_source_1",
"fuel_switch_energy_source_2",
"fuel_switch_energy_source_3",
"fuel_switch_energy_source_4",
"fuel_switch_energy_source_5",
"fuel_switch_energy_source_6",
],
"primary_key": [
"utility_id_eia",
"generator_id",
jmelot marked this conversation as resolved.
Show resolved Hide resolved
"plant_id_eia",
],
},
"field_namespace": "eia",
"sources": ["eia860"],
"etl_group": "eia860",
},
}
"""EIA-860 resource attributes organized by PUDL identifier (``resource.name``).

Expand Down
16 changes: 8 additions & 8 deletions src/pudl/package_data/eia860/column_maps/multifuel_existing.csv
Original file line number Diff line number Diff line change
Expand Up @@ -27,22 +27,22 @@ cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_ener
cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5,cofire_energy_source_5
cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6,cofire_energy_source_6
switch_oil_gas,fuel_switch_oil_gas,fuel_switch_oil_gas,fuel_switch_oil_gas,fuel_switch_oil_gas,fuel_switch_oil_gas,fuel_switch_oil_gas,fuel_switch_oil_gas,fuel_switch_oil_gas,fuel_switch_oil_gas,switch_between_oil_and_natural_gas,switch_between_oil_and_natural_gas,switch_between_oil_and_natural_gas,switch_between_oil_and_natural_gas,switch_between_oil_and_natural_gas,switch_between_oil_and_natural_gas,switch_between_oil_and_natural_gas,switch_between_oil_and_natural_gas,switch_between_oil_and_natural_gas,switch_between_oil_and_natural_gas,switch_between_oil_and_natural_gas
switch_when_operating,,,,,,operating_switch,operating_switch,operating_switch,operating_switch,switch_when_operating,switch_when_operating,switch_when_operating,switch_when_operating,switch_when_operating,switch_when_operating,switch_when_operating,switch_when_operating,switch_when_operating,switch_when_operating,switch_when_operating
can_switch_when_operating,,,,,,operating_switch,operating_switch,operating_switch,operating_switch,switch_when_operating,switch_when_operating,switch_when_operating,switch_when_operating,switch_when_operating,switch_when_operating,switch_when_operating,switch_when_operating,switch_when_operating,switch_when_operating,switch_when_operating
net_summer_capacity_with_natural_gas_mw,net_summer_capacity_ng,net_summer_capacity_ng,net_summer_capacity_ng,net_summer_capacity_ng,net_summer_capacity_ng,net_summer_capacity_ng,net_summer_capacity_ng,net_summer_capacity_ng,net_summer_capacity_with_natural_gas_mw,net_summer_capacity_with_natural_gas_mw,net_summer_capacity_with_natural_gas_mw,net_summer_capacity_with_natural_gas_mw,net_summer_capacity_with_natural_gas_mw,net_summer_capacity_with_natural_gas_mw,net_summer_capacity_with_natural_gas_mw,net_summer_capacity_with_natural_gas_mw,net_summer_capacity_with_natural_gas_mw,net_summer_capacity_with_natural_gas_mw,net_summer_capacity_with_natural_gas_mw,net_summer_capacity_with_natural_gas_mw
net_winter_capacity_with_natural_gas_mw,,,,,,,,,,net_winter_capacity_with_natural_gas_mw,net_winter_capacity_with_natural_gas_mw,net_winter_capacity_with_natural_gas_mw,net_winter_capacity_with_natural_gas_mw,net_winter_capacity_with_natural_gas_mw,net_winter_capacity_with_natural_gas_mw,net_winter_capacity_with_natural_gas_mw,net_winter_capacity_with_natural_gas_mw,net_winter_capacity_with_natural_gas_mw,net_winter_capacity_with_natural_gas_mw,net_winter_capacity_with_natural_gas_mw
net_summer_capacity_with_oil_mw,net_summer_capacity_oil,net_summer_capacity_oil,net_summer_capacity_oil,net_summer_capacity_oil,net_summer_capacity_oil,net_summer_capacity_oil,net_summer_capacity_oil,net_summer_capacity_oil,net_summer_capacity_with_oil_mw,net_summer_capacity_with_oil_mw,net_summer_capacity_with_oil_mw,net_summer_capacity_with_oil_mw,net_summer_capacity_with_oil_mw,net_summer_capacity_with_oil_mw,net_summer_capacity_with_oil_mw,net_summer_capacity_with_oil_mw,net_summer_capacity_with_oil_mw,net_summer_capacity_with_oil_mw,net_summer_capacity_with_oil_mw,net_summer_capacity_with_oil_mw
net_winter_capacity_with_oil_mw,,,,,,,,,,net_winter_capacity_with_oil_mw,net_winter_capacity_with_oil_mw,net_winter_capacity_with_oil_mw,net_winter_capacity_with_oil_mw,net_winter_capacity_with_oil_mw,net_winter_capacity_with_oil_mw,net_winter_capacity_with_oil_mw,net_winter_capacity_with_oil_mw,net_winter_capacity_with_oil_mw,net_winter_capacity_with_oil_mw,net_winter_capacity_with_oil_mw
time_to_switch_from_gas_to_oil,,,,,,,,,,time_to_switch_from_gas_to_oil,time_to_switch_from_gas_to_oil,time_to_switch_from_gas_to_oil,time_to_switch_from_gas_to_oil,time_to_switch_from_gas_to_oil,time_to_switch_from_gas_to_oil,time_to_switch_from_gas_to_oil,time_to_switch_from_gas_to_oil,time_to_switch_from_gas_to_oil,time_to_switch_from_gas_to_oil,time_to_switch_from_gas_to_oil
time_to_switch_from_oil_to_gas,,,,,,,,,,time_to_switch_from_oil_to_gas,time_to_switch_from_oil_to_gas,time_to_switch_from_oil_to_gas,time_to_switch_from_oil_to_gas,time_to_switch_from_oil_to_gas,time_to_switch_from_oil_to_gas,time_to_switch_from_oil_to_gas,time_to_switch_from_oil_to_gas,time_to_switch_from_oil_to_gas,time_to_switch_from_oil_to_gas,time_to_switch_from_oil_to_gas
factors_that_limit_switching,,,,factors_that_limit,factors_that_limit,,,,,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching
storage_limits,,,,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits
air_permit_limits,,,,airpermit_limits,airpermit_limits,airpermit_limits,airpermit_limits,airpermit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits
other_limits,,,,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits
cofire_oil_and_gas,cofire_oil_gas,cofire_oil_gas,cofire_oil_gas,cofire_oil_gas,cofire_oil_gas,cofire_oil_gas,cofire_oil_gas,cofire_oil_gas,cofire_oil_and_gas,,,,,,,,,,,
cofire_100_oil,cofire_100_oil,cofire_100_oil,cofire_100_oil,cofire_100_oil,cofire_100_oil,cofire_100_oil,cofire_100_oil,cofire_100_oil,cofire_100_oil,,,,,,,,,,,
has_factors_that_limit_switching,,,,factors_that_limit,factors_that_limit,,,,,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching,factors_that_limit_switching
has_storage_limits,,,,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits,storage_limits
has_air_permit_limits,,,,airpermit_limits,airpermit_limits,airpermit_limits,airpermit_limits,airpermit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits,air_permit_limits
has_other_limits,,,,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits,other_limits
can_cofire_oil_and_gas,cofire_oil_gas,cofire_oil_gas,cofire_oil_gas,cofire_oil_gas,cofire_oil_gas,cofire_oil_gas,cofire_oil_gas,cofire_oil_gas,cofire_oil_and_gas,,,,,,,,,,,
can_cofire_100_oil,cofire_100_oil,cofire_100_oil,cofire_100_oil,cofire_100_oil,cofire_100_oil,cofire_100_oil,cofire_100_oil,cofire_100_oil,cofire_100_oil,,,,,,,,,,,
max_oil_heat_input,max_oil_heat,max_oil_heat,max_oil_heat,max_oil_heat,max_oil_heat,max_oil_heat,max_oil_heat,max_oil_heat,max_oil_heat_input,,,,,,,,,,,
max_oil_output_mw,max_oil_output,max_oil_output,max_oil_output,max_oil_output,max_oil_output,max_oil_output,max_oil_output,max_oil_output,max_oil_output_mw,,,,,,,,,,,
fuel_switch,fuel_switch,fuel_switch,fuel_switch,fuel_switch,fuel_switch,fuel_switch,fuel_switch,fuel_switch,fuel_switch,,,,,,,,,,,
can_fuel_switch,fuel_switch,fuel_switch,fuel_switch,fuel_switch,fuel_switch,fuel_switch,fuel_switch,fuel_switch,fuel_switch,,,,,,,,,,,
time_to_switch,time_to_switch,time_to_switch,time_to_switch,time_to_switch,time_to_switch,time_to_switch,time_to_switch,time_to_switch,time_to_switch,,,,,,,,,,,
regulatory_limits,regulatory_limits,regulatory_limits,regulatory_limits,,,regulatory_limits,regulatory_limits,regulatory_limits,regulatory_limits,,,,,,,,,,,
fuel_switch_energy_source_1,fuel_switch_energy_source_1,fuel_switch_energy_source_1,fuel_switch_energy_source_1,fuel_switch_energy_source_1,fuel_switch_energy_source_1,fuel_switch_energy_source_1,fuel_switch_energy_source_1,fuel_switch_energy_source_1,fuel_switch_energy_source_1,,,,,,,,,,,
Expand Down
Loading