diff --git a/migrations/versions/3b65c445d4b4_add_multifuel_table.py b/migrations/versions/3b65c445d4b4_add_multifuel_table.py new file mode 100644 index 000000000..6ec4aca93 --- /dev/null +++ b/migrations/versions/3b65c445d4b4_add_multifuel_table.py @@ -0,0 +1,152 @@ +"""Add multifuel table + +Revision ID: 3b65c445d4b4 +Revises: 450d100cd30b +Create Date: 2025-01-28 18:38:52.927885 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '3b65c445d4b4' +down_revision = '450d100cd30b' +branch_labels = None +depends_on = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('core_eia860__scd_generators_multifuel', + sa.Column('report_date', sa.Date(), nullable=False, comment='Date reported.'), + sa.Column('utility_id_eia', sa.Integer(), nullable=False, comment='The EIA Utility Identification number.'), + sa.Column('utility_name_eia', sa.Text(), nullable=True, comment='The name of the utility.'), + sa.Column('plant_id_eia', sa.Integer(), nullable=False, comment='The unique six-digit facility identification number, also called an ORISPL, assigned by the Energy Information Administration.'), + sa.Column('plant_name_eia', sa.Text(), nullable=True, comment='Plant name.'), + sa.Column('state', sa.Text(), nullable=True, comment='Two letter US state abbreviation.'), + sa.Column('county', sa.Text(), nullable=True, comment='County name.'), + sa.Column('generator_id', sa.Text(), nullable=False, comment='Generator ID is usually numeric, but sometimes includes letters. Make sure you treat it as a string!'), + sa.Column('operational_status_code', sa.Text(), nullable=True, comment='The operating status of the asset.'), + sa.Column('technology_description', sa.Text(), nullable=True, comment='High level description of the technology used by the generator to produce electricity.'), + sa.Column('prime_mover_code', sa.Text(), nullable=True, comment='Code for the type of prime mover (e.g. CT, CG)'), + sa.Column('sector_name_eia', sa.Text(), nullable=True, comment='EIA assigned sector name, corresponding to high level NAICS sector, designated by the primary purpose, regulatory status and plant-level combined heat and power status'), + sa.Column('sector_id_eia', sa.Integer(), nullable=True, comment='EIA assigned sector ID, corresponding to high level NAICS sector, designated by the primary purpose, regulatory status and plant-level combined heat and power status'), + sa.Column('capacity_mw', sa.Float(), nullable=True, comment='Total installed (nameplate) capacity, in megawatts.'), + sa.Column('summer_capacity_mw', sa.Float(), nullable=True, comment='The net summer capacity.'), + sa.Column('winter_capacity_mw', sa.Float(), nullable=True, comment='The net winter capacity.'), + sa.Column('current_planned_generator_operating_date', sa.Date(), nullable=True, comment='The most recently updated effective date on which the generator is scheduled to start operation'), + sa.Column('energy_source_code_1', sa.Text(), nullable=True, comment='The code representing the most predominant type of energy that fuels the generator.'), + sa.Column('energy_source_code_2', sa.Text(), nullable=True, comment='The code representing the second most predominant type of energy that fuels the generator'), + sa.Column('can_burn_multiple_fuels', sa.Boolean(), nullable=True, comment='Whether the generator can burn multiple fuels.'), + sa.Column('can_cofire_fuels', sa.Boolean(), nullable=True, comment='Whether the generator can co-fire fuels.'), + sa.Column('cofire_energy_source_1', sa.Text(), nullable=True, comment='The codes representing the type of fuel that will be co-fired.'), + sa.Column('cofire_energy_source_2', sa.Text(), nullable=True, comment='The codes representing the type of fuel that will be co-fired.'), + sa.Column('cofire_energy_source_3', sa.Text(), nullable=True, comment='The codes representing the type of fuel that will be co-fired.'), + sa.Column('cofire_energy_source_4', sa.Text(), nullable=True, comment='The codes representing the type of fuel that will be co-fired.'), + sa.Column('cofire_energy_source_5', sa.Text(), nullable=True, comment='The codes representing the type of fuel that will be co-fired.'), + sa.Column('cofire_energy_source_6', sa.Text(), nullable=True, comment='The codes representing the type of fuel that will be co-fired.'), + sa.Column('can_switch_oil_gas', sa.Boolean(), nullable=True, comment='Whether the generator can switch between oil and natural gas.'), + sa.Column('time_to_switch_oil_to_gas', sa.Text(), nullable=True, comment='The time required to switch the generator from running 100 percent oil to running 100 percent natural gas.'), + sa.Column('time_to_switch_gas_to_oil', sa.Text(), nullable=True, comment='The time required to switch the generator from running 100 percent natural gas to running 100 percent oil.'), + sa.Column('can_switch_when_operating', sa.Boolean(), nullable=True, comment='Whether the generator can switch fuel while operating.'), + sa.Column('net_summer_capacity_natural_gas_mw', sa.Float(), nullable=True, comment='The maximum net summer output achievable when running on natural gas.'), + sa.Column('net_summer_capacity_oil_mw', sa.Float(), nullable=True, comment='The maximum net summer output achievable when running on oil.'), + sa.Column('net_winter_capacity_natural_gas_mw', sa.Float(), nullable=True, comment='The maximum net winter output achievable when running on natural gas.'), + sa.Column('net_winter_capacity_oil_mw', sa.Float(), nullable=True, comment='The maximum net summer output achievable when running on oil.'), + sa.Column('has_factors_that_limit_switching', sa.Boolean(), nullable=True, comment="Whether there are factors that limit the generator's ability to switch between oil and natural gas."), + sa.Column('has_storage_limits', sa.Boolean(), nullable=True, comment="Whether limited on-site fuel storage is a factor that limits the generator's ability to switch between oil and natural gas."), + sa.Column('has_air_permit_limits', sa.Boolean(), nullable=True, comment='Whether air permit limits are a factor that limits the operation of the generator when running on 100 percent oil.'), + sa.Column('has_other_factors_that_limit_switching', sa.Boolean(), nullable=True, comment="Whether there are factors other than air permit limits and storage that limit the generator's ability to switch between oil and natural gas."), + sa.Column('can_cofire_oil_and_gas', sa.Boolean(), nullable=True, comment='Whether the generator can co-fire oil and gas.'), + sa.Column('can_cofire_100_oil', sa.Boolean(), nullable=True, comment='Whether the generator can co-fire 100 oil.'), + sa.Column('max_oil_heat_input', sa.Float(), nullable=True, comment='The maximum oil heat input (percent of MMBtus) expected for proposed unit when co-firing with natural gas'), + sa.Column('max_oil_output_mw', sa.Float(), nullable=True, comment='The maximum output (net MW) expected for proposed unit, when making the maximum use of oil and co-firing natural gas.'), + sa.Column('can_fuel_switch', sa.Boolean(), nullable=True, comment='Whether a unit is able to switch fuels.'), + sa.Column('has_regulatory_limits', sa.Boolean(), nullable=True, comment='Whether there are factors that limit the operation of the generator when running on 100 percent oil'), + sa.Column('fuel_switch_energy_source_1', sa.Text(), nullable=True, comment='The codes representing the type of fuel that will be able to be used as a sole source of fuel for this unit.'), + sa.Column('fuel_switch_energy_source_2', sa.Text(), nullable=True, comment='The codes representing the type of fuel that will be able to be used as a sole source of fuel for this unit.'), + sa.Column('fuel_switch_energy_source_3', sa.Text(), nullable=True, comment='The codes representing the type of fuel that will be able to be used as a sole source of fuel for this unit.'), + sa.Column('fuel_switch_energy_source_4', sa.Text(), nullable=True, comment='The codes representing the type of fuel that will be able to be used as a sole source of fuel for this unit.'), + sa.Column('fuel_switch_energy_source_5', sa.Text(), nullable=True, comment='The codes representing the type of fuel that will be able to be used as a sole source of fuel for this unit.'), + sa.Column('fuel_switch_energy_source_6', sa.Text(), nullable=True, comment='The codes representing the type of fuel that will be able to be used as a sole source of fuel for this unit.'), + sa.ForeignKeyConstraint(['energy_source_code_1'], ['core_eia__codes_energy_sources.code'], name=op.f('fk_core_eia860__scd_generators_multifuel_energy_source_code_1_core_eia__codes_energy_sources')), + sa.ForeignKeyConstraint(['energy_source_code_2'], ['core_eia__codes_energy_sources.code'], name=op.f('fk_core_eia860__scd_generators_multifuel_energy_source_code_2_core_eia__codes_energy_sources')), + sa.ForeignKeyConstraint(['operational_status_code'], ['core_eia__codes_operational_status.code'], name=op.f('fk_core_eia860__scd_generators_multifuel_operational_status_code_core_eia__codes_operational_status')), + sa.ForeignKeyConstraint(['plant_id_eia', 'generator_id', 'report_date'], ['core_eia860__scd_generators.plant_id_eia', 'core_eia860__scd_generators.generator_id', 'core_eia860__scd_generators.report_date'], name=op.f('fk_core_eia860__scd_generators_multifuel_plant_id_eia_core_eia860__scd_generators')), + sa.ForeignKeyConstraint(['prime_mover_code'], ['core_eia__codes_prime_movers.code'], name=op.f('fk_core_eia860__scd_generators_multifuel_prime_mover_code_core_eia__codes_prime_movers')), + sa.ForeignKeyConstraint(['sector_id_eia'], ['core_eia__codes_sector_consolidated.code'], name=op.f('fk_core_eia860__scd_generators_multifuel_sector_id_eia_core_eia__codes_sector_consolidated')), + sa.ForeignKeyConstraint(['utility_id_eia', 'report_date'], ['core_eia860__scd_utilities.utility_id_eia', 'core_eia860__scd_utilities.report_date'], name=op.f('fk_core_eia860__scd_generators_multifuel_utility_id_eia_core_eia860__scd_utilities')), + sa.PrimaryKeyConstraint('report_date', 'utility_id_eia', 'generator_id', 'plant_id_eia', name=op.f('pk_core_eia860__scd_generators_multifuel')) + ) + with op.batch_alter_table('_out_eia__yearly_generators', schema=None) as batch_op: + batch_op.add_column(sa.Column('can_cofire_fuels', sa.Boolean(), nullable=True, comment='Whether the generator can co-fire fuels.')) + batch_op.add_column(sa.Column('can_burn_multiple_fuels', sa.Boolean(), nullable=True, comment='Whether the generator can burn multiple fuels.')) + batch_op.add_column(sa.Column('can_switch_oil_gas', sa.Boolean(), nullable=True, comment='Whether the generator can switch between oil and natural gas.')) + batch_op.drop_column('multiple_fuels') + batch_op.drop_column('cofire_fuels') + batch_op.drop_column('switch_oil_gas') + + with op.batch_alter_table('core_eia860__scd_generators', schema=None) as batch_op: + batch_op.add_column(sa.Column('can_burn_multiple_fuels', sa.Boolean(), nullable=True, comment='Whether the generator can burn multiple fuels.')) + batch_op.add_column(sa.Column('can_cofire_fuels', sa.Boolean(), nullable=True, comment='Whether the generator can co-fire fuels.')) + batch_op.add_column(sa.Column('can_switch_oil_gas', sa.Boolean(), nullable=True, comment='Whether the generator can switch between oil and natural gas.')) + batch_op.drop_column('multiple_fuels') + batch_op.drop_column('cofire_fuels') + batch_op.drop_column('switch_oil_gas') + + with op.batch_alter_table('out_eia__monthly_generators', schema=None) as batch_op: + batch_op.add_column(sa.Column('can_cofire_fuels', sa.Boolean(), nullable=True, comment='Whether the generator can co-fire fuels.')) + batch_op.add_column(sa.Column('can_burn_multiple_fuels', sa.Boolean(), nullable=True, comment='Whether the generator can burn multiple fuels.')) + batch_op.add_column(sa.Column('can_switch_oil_gas', sa.Boolean(), nullable=True, comment='Whether the generator can switch between oil and natural gas.')) + batch_op.drop_column('multiple_fuels') + batch_op.drop_column('cofire_fuels') + batch_op.drop_column('switch_oil_gas') + + with op.batch_alter_table('out_eia__yearly_generators', schema=None) as batch_op: + batch_op.add_column(sa.Column('can_cofire_fuels', sa.Boolean(), nullable=True, comment='Whether the generator can co-fire fuels.')) + batch_op.add_column(sa.Column('can_burn_multiple_fuels', sa.Boolean(), nullable=True, comment='Whether the generator can burn multiple fuels.')) + batch_op.add_column(sa.Column('can_switch_oil_gas', sa.Boolean(), nullable=True, comment='Whether the generator can switch between oil and natural gas.')) + batch_op.drop_column('multiple_fuels') + batch_op.drop_column('cofire_fuels') + batch_op.drop_column('switch_oil_gas') + + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table('out_eia__yearly_generators', schema=None) as batch_op: + batch_op.add_column(sa.Column('switch_oil_gas', sa.BOOLEAN(), nullable=True)) + batch_op.add_column(sa.Column('cofire_fuels', sa.BOOLEAN(), nullable=True)) + batch_op.add_column(sa.Column('multiple_fuels', sa.BOOLEAN(), nullable=True)) + batch_op.drop_column('can_switch_oil_gas') + batch_op.drop_column('can_burn_multiple_fuels') + batch_op.drop_column('can_cofire_fuels') + + with op.batch_alter_table('out_eia__monthly_generators', schema=None) as batch_op: + batch_op.add_column(sa.Column('switch_oil_gas', sa.BOOLEAN(), nullable=True)) + batch_op.add_column(sa.Column('cofire_fuels', sa.BOOLEAN(), nullable=True)) + batch_op.add_column(sa.Column('multiple_fuels', sa.BOOLEAN(), nullable=True)) + batch_op.drop_column('can_switch_oil_gas') + batch_op.drop_column('can_burn_multiple_fuels') + batch_op.drop_column('can_cofire_fuels') + + with op.batch_alter_table('core_eia860__scd_generators', schema=None) as batch_op: + batch_op.add_column(sa.Column('switch_oil_gas', sa.BOOLEAN(), nullable=True)) + batch_op.add_column(sa.Column('cofire_fuels', sa.BOOLEAN(), nullable=True)) + batch_op.add_column(sa.Column('multiple_fuels', sa.BOOLEAN(), nullable=True)) + batch_op.drop_column('can_switch_oil_gas') + batch_op.drop_column('can_cofire_fuels') + batch_op.drop_column('can_burn_multiple_fuels') + + with op.batch_alter_table('_out_eia__yearly_generators', schema=None) as batch_op: + batch_op.add_column(sa.Column('switch_oil_gas', sa.BOOLEAN(), nullable=True)) + batch_op.add_column(sa.Column('cofire_fuels', sa.BOOLEAN(), nullable=True)) + batch_op.add_column(sa.Column('multiple_fuels', sa.BOOLEAN(), nullable=True)) + batch_op.drop_column('can_switch_oil_gas') + batch_op.drop_column('can_burn_multiple_fuels') + batch_op.drop_column('can_cofire_fuels') + + op.drop_table('core_eia860__scd_generators_multifuel') + # ### end Alembic commands ### diff --git a/migrations/versions/bbd829448c4b_add_multifuel_table.py b/migrations/versions/bbd829448c4b_add_multifuel_table.py deleted file mode 100644 index 442bb7950..000000000 --- a/migrations/versions/bbd829448c4b_add_multifuel_table.py +++ /dev/null @@ -1,87 +0,0 @@ -"""Add multifuel table - -Revision ID: bbd829448c4b -Revises: 450d100cd30b -Create Date: 2025-01-17 14:36:41.966480 - -""" -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision = 'bbd829448c4b' -down_revision = '450d100cd30b' -branch_labels = None -depends_on = None - - -def upgrade() -> None: - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('core_eia860__scd_generators_multifuel', - sa.Column('report_date', sa.Date(), nullable=False, comment='Date reported.'), - sa.Column('utility_id_eia', sa.Integer(), nullable=False, comment='The EIA Utility Identification number.'), - sa.Column('utility_name_eia', sa.Text(), nullable=True, comment='The name of the utility.'), - sa.Column('plant_id_eia', sa.Integer(), nullable=False, comment='The unique six-digit facility identification number, also called an ORISPL, assigned by the Energy Information Administration.'), - sa.Column('plant_name_eia', sa.Text(), nullable=True, comment='Plant name.'), - sa.Column('state', sa.Text(), nullable=True, comment='Two letter US state abbreviation.'), - sa.Column('county', sa.Text(), nullable=True, comment='County name.'), - sa.Column('generator_id', sa.Text(), nullable=False, comment='Generator ID is usually numeric, but sometimes includes letters. Make sure you treat it as a string!'), - sa.Column('operational_status_code', sa.Text(), nullable=True, comment='The operating status of the asset.'), - sa.Column('technology_description', sa.Text(), nullable=True, comment='High level description of the technology used by the generator to produce electricity.'), - sa.Column('prime_mover_code', sa.Text(), nullable=True, comment='Code for the type of prime mover (e.g. CT, CG)'), - sa.Column('sector_name_eia', sa.Text(), nullable=True, comment='EIA assigned sector name, corresponding to high level NAICS sector, designated by the primary purpose, regulatory status and plant-level combined heat and power status'), - sa.Column('sector_id_eia', sa.Integer(), nullable=True, comment='EIA assigned sector ID, corresponding to high level NAICS sector, designated by the primary purpose, regulatory status and plant-level combined heat and power status'), - sa.Column('capacity_mw', sa.Float(), nullable=True, comment='Total installed (nameplate) capacity, in megawatts.'), - sa.Column('summer_capacity_mw', sa.Float(), nullable=True, comment='The net summer capacity.'), - sa.Column('winter_capacity_mw', sa.Float(), nullable=True, comment='The net winter capacity.'), - sa.Column('current_planned_generator_operating_date', sa.Date(), nullable=True, comment='The most recently updated effective date on which the generator is scheduled to start operation'), - sa.Column('energy_source_code_1', sa.Text(), nullable=True, comment='The code representing the most predominant type of energy that fuels the generator.'), - sa.Column('energy_source_code_2', sa.Text(), nullable=True, comment='The code representing the second most predominant type of energy that fuels the generator'), - sa.Column('multiple_fuels', sa.Boolean(), nullable=True, comment='Can the generator burn multiple fuels?'), - sa.Column('cofire_fuels', sa.Boolean(), nullable=True, comment='Can the generator co-fire fuels?'), - sa.Column('cofire_energy_source_1', sa.Text(), nullable=True, comment='Type of fuel.'), - sa.Column('cofire_energy_source_2', sa.Text(), nullable=True, comment='Type of fuel.'), - sa.Column('cofire_energy_source_3', sa.Text(), nullable=True, comment='Type of fuel.'), - sa.Column('cofire_energy_source_4', sa.Text(), nullable=True, comment='Type of fuel.'), - sa.Column('cofire_energy_source_5', sa.Text(), nullable=True, comment='Type of fuel.'), - sa.Column('cofire_energy_source_6', sa.Text(), nullable=True, comment='Type of fuel.'), - sa.Column('switch_oil_gas', sa.Boolean(), nullable=True, comment='Indicates whether the generator switch between oil and natural gas.'), - sa.Column('can_switch_when_operating', sa.Boolean(), nullable=True, comment='Indicates whether the generator switches fuel while operating.'), - sa.Column('net_summer_capacity_with_natural_gas_mw', sa.Float(), nullable=True, comment='Summer capacity with natural gas.'), - sa.Column('net_summer_capacity_with_oil_mw', sa.Float(), nullable=True, comment='Summer capacity with oil.'), - sa.Column('net_winter_capacity_with_natural_gas_mw', sa.Float(), nullable=True, comment='Winter capacity with natural gas.'), - sa.Column('net_winter_capacity_with_oil_mw', sa.Float(), nullable=True, comment='Winter capacity with oil'), - sa.Column('has_factors_that_limit_switching', sa.Boolean(), nullable=True, comment='True if there are factors that limit switching.'), - sa.Column('has_storage_limits', sa.Boolean(), nullable=True, comment='True if there are storage limits'), - sa.Column('has_air_permit_limits', sa.Boolean(), nullable=True, comment='True if there are air permit limits'), - sa.Column('has_other_limits', sa.Boolean(), nullable=True, comment='True if there are other limits on the generator.'), - sa.Column('can_cofire_oil_and_gas', sa.Boolean(), nullable=True, comment='Can the generator co-fire oil and gas?'), - sa.Column('can_cofire_100_oil', sa.Boolean(), nullable=True, comment='Can the generator co-fire 100 oil?'), - sa.Column('max_oil_heat_input', sa.Float(), nullable=True, comment='TK'), - sa.Column('max_oil_output_mw', sa.Float(), nullable=True, comment='MW'), - sa.Column('can_fuel_switch', sa.Boolean(), nullable=True, comment='TK'), - sa.Column('time_to_switch', sa.Text(), nullable=True, comment='Time needed to switch between fuel sources'), - sa.Column('regulatory_limits', sa.Text(), nullable=True, comment='TK'), - sa.Column('fuel_switch_energy_source_1', sa.Text(), nullable=True, comment='TK'), - sa.Column('fuel_switch_energy_source_2', sa.Text(), nullable=True, comment='TK'), - sa.Column('fuel_switch_energy_source_3', sa.Text(), nullable=True, comment='TK'), - sa.Column('fuel_switch_energy_source_4', sa.Text(), nullable=True, comment='TK'), - sa.Column('fuel_switch_energy_source_5', sa.Text(), nullable=True, comment='TK'), - sa.Column('fuel_switch_energy_source_6', sa.Text(), nullable=True, comment='TK'), - sa.ForeignKeyConstraint(['energy_source_code_1'], ['core_eia__codes_energy_sources.code'], name=op.f('fk_core_eia860__scd_generators_multifuel_energy_source_code_1_core_eia__codes_energy_sources')), - sa.ForeignKeyConstraint(['energy_source_code_2'], ['core_eia__codes_energy_sources.code'], name=op.f('fk_core_eia860__scd_generators_multifuel_energy_source_code_2_core_eia__codes_energy_sources')), - sa.ForeignKeyConstraint(['operational_status_code'], ['core_eia__codes_operational_status.code'], name=op.f('fk_core_eia860__scd_generators_multifuel_operational_status_code_core_eia__codes_operational_status')), - sa.ForeignKeyConstraint(['plant_id_eia', 'generator_id', 'report_date'], ['core_eia860__scd_generators.plant_id_eia', 'core_eia860__scd_generators.generator_id', 'core_eia860__scd_generators.report_date'], name=op.f('fk_core_eia860__scd_generators_multifuel_plant_id_eia_core_eia860__scd_generators')), - sa.ForeignKeyConstraint(['prime_mover_code'], ['core_eia__codes_prime_movers.code'], name=op.f('fk_core_eia860__scd_generators_multifuel_prime_mover_code_core_eia__codes_prime_movers')), - sa.ForeignKeyConstraint(['sector_id_eia'], ['core_eia__codes_sector_consolidated.code'], name=op.f('fk_core_eia860__scd_generators_multifuel_sector_id_eia_core_eia__codes_sector_consolidated')), - sa.ForeignKeyConstraint(['utility_id_eia', 'report_date'], ['core_eia860__scd_utilities.utility_id_eia', 'core_eia860__scd_utilities.report_date'], name=op.f('fk_core_eia860__scd_generators_multifuel_utility_id_eia_core_eia860__scd_utilities')), - sa.PrimaryKeyConstraint('report_date', 'utility_id_eia', 'generator_id', 'plant_id_eia', name=op.f('pk_core_eia860__scd_generators_multifuel')) - ) - # ### end Alembic commands ### - - -def downgrade() -> None: - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('core_eia860__scd_generators_multifuel') - # ### end Alembic commands ### diff --git a/src/pudl/metadata/fields.py b/src/pudl/metadata/fields.py index bb7d683e0..1ad2e97a6 100644 --- a/src/pudl/metadata/fields.py +++ b/src/pudl/metadata/fields.py @@ -463,7 +463,7 @@ }, "can_switch_when_operating": { "type": "boolean", - "description": "Whether the generator switches fuel while operating.", + "description": "Whether the generator can switch fuel while operating.", }, "capacity_eoy_mw": { "type": "number", @@ -745,9 +745,9 @@ "type": "string", "description": "Originally reported short code.", }, - "cofire_fuels": { + "can_cofire_fuels": { "type": "boolean", - "description": "Can the generator co-fire fuels?", + "description": "Whether the generator can co-fire fuels.", }, "cofire_energy_source_1": { "type": "string", @@ -1123,7 +1123,7 @@ "type": "boolean", "description": "Whether there are factors that limit the generator's ability to switch between oil and natural gas.", }, - "has_other_limits": { + "has_other_factors_that_limit_switching": { "type": "boolean", "description": "Whether there are factors other than air permit limits and storage that limit the generator's ability to switch between oil and natural gas.", }, @@ -2774,9 +2774,9 @@ "type": "number", "unit": "gal", }, - "multiple_fuels": { + "can_burn_multiple_fuels": { "type": "boolean", - "description": "Can the generator burn multiple fuels?", + "description": "Whether the generator can burn multiple fuels.", }, "nameplate_power_factor": { "type": "number", @@ -2906,22 +2906,22 @@ ), "unit": "MWh", }, - "net_summer_capacity_with_natural_gas_mw": { + "net_summer_capacity_natural_gas_mw": { "type": "number", "description": "The maximum net summer output achievable when running on natural gas.", "unit": "MW", }, - "net_summer_capacity_with_oil_mw": { + "net_summer_capacity_oil_mw": { "type": "number", "description": "The maximum net summer output achievable when running on oil.", "unit": "MW", }, - "net_winter_capacity_with_natural_gas_mw": { + "net_winter_capacity_natural_gas_mw": { "type": "number", "description": "The maximum net winter output achievable when running on natural gas.", "unit": "MW", }, - "net_winter_capacity_with_oil_mw": { + "net_winter_capacity_oil_mw": { "type": "number", "description": "The maximum net summer output achievable when running on oil.", "unit": "MW", @@ -3794,8 +3794,8 @@ "type": "string", "description": "Human-readable name of a US Census region.", }, - "regulatory_limits": { - "type": "string", + "has_regulatory_limits": { + "type": "boolean", "description": "Whether there are factors that limit the operation of the generator when running on 100 percent oil", }, "regulation_mercury": { @@ -4512,9 +4512,9 @@ "type": "string", "description": "Supporting structure of the transmission line.", }, - "switch_oil_gas": { + "can_switch_oil_gas": { "type": "boolean", - "description": "Indicates whether the generator switch between oil and natural gas.", + "description": "Whether the generator can switch between oil and natural gas.", }, "syncronized_transmission_grid": { "type": "boolean", @@ -4577,6 +4577,14 @@ "and predefined, based on season, day of week, and time of day." ), }, + "time_to_switch_gas_to_oil": { + "type": "string", + "description": "The time required to switch the generator from running 100 percent natural gas to running 100 percent oil.", + }, + "time_to_switch_oil_to_gas": { + "type": "string", + "description": "The time required to switch the generator from running 100 percent oil to running 100 percent natural gas.", + }, "has_time_responsive_programs": { "type": "boolean", "description": ( @@ -4592,10 +4600,6 @@ "rate programs." ), }, - "time_to_switch": { - "type": "string", - "description": "Time needed to switch between fuel sources", - }, "timezone": { "type": "string", "description": "IANA timezone name", diff --git a/src/pudl/metadata/resources/__init__.py b/src/pudl/metadata/resources/__init__.py index 1055536da..2295be56c 100644 --- a/src/pudl/metadata/resources/__init__.py +++ b/src/pudl/metadata/resources/__init__.py @@ -152,7 +152,7 @@ "other_modifications_date", "planned_generator_retirement_date", "carbon_capture", - "cofire_fuels", + "can_cofire_fuels", "switch_oil_gas", "turbines_inverters_hydrokinetics", "nameplate_power_factor", diff --git a/src/pudl/metadata/resources/eia.py b/src/pudl/metadata/resources/eia.py index 2cf4a6290..4bc6973aa 100644 --- a/src/pudl/metadata/resources/eia.py +++ b/src/pudl/metadata/resources/eia.py @@ -1040,7 +1040,7 @@ "capacity_mw", "carbon_capture", "city", - "cofire_fuels", + "can_cofire_fuels", "county", "current_planned_generator_operating_date", "data_maturity", @@ -1069,7 +1069,7 @@ "latitude", "longitude", "minimum_load_mw", - "multiple_fuels", + "can_burn_multiple_fuels", "nameplate_power_factor", "net_capacity_mwdc", "operating_switch", @@ -1112,7 +1112,7 @@ "summer_capacity_mw", "summer_estimated_capability_mw", "supercritical_tech", - "switch_oil_gas", + "can_switch_oil_gas", "syncronized_transmission_grid", "technology_description", "time_cold_shutdown_full_load_code", diff --git a/src/pudl/metadata/resources/eia860.py b/src/pudl/metadata/resources/eia860.py index 536c1df8c..4c5585bf9 100644 --- a/src/pudl/metadata/resources/eia860.py +++ b/src/pudl/metadata/resources/eia860.py @@ -179,7 +179,7 @@ "energy_source_2_transport_2", "energy_source_2_transport_3", "fuel_type_code_pudl", - "multiple_fuels", + "can_burn_multiple_fuels", "deliver_power_transgrid", "distributed_generation", "syncronized_transmission_grid", @@ -206,8 +206,8 @@ "turbines_inverters_hydrokinetics", "time_cold_shutdown_full_load_code", "planned_new_capacity_mw", - "cofire_fuels", - "switch_oil_gas", + "can_cofire_fuels", + "can_switch_oil_gas", "nameplate_power_factor", "minimum_load_mw", "uprate_derate_during_year", @@ -932,31 +932,32 @@ "current_planned_generator_operating_date", "energy_source_code_1", "energy_source_code_2", - "multiple_fuels", - "cofire_fuels", + "can_burn_multiple_fuels", + "can_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_oil_gas", + "time_to_switch_oil_to_gas", + "time_to_switch_gas_to_oil", "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", + "net_summer_capacity_natural_gas_mw", + "net_summer_capacity_oil_mw", + "net_winter_capacity_natural_gas_mw", + "net_winter_capacity_oil_mw", "has_factors_that_limit_switching", "has_storage_limits", "has_air_permit_limits", - "has_other_limits", + "has_other_factors_that_limit_switching", "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", + "has_regulatory_limits", "fuel_switch_energy_source_1", "fuel_switch_energy_source_2", "fuel_switch_energy_source_3", diff --git a/src/pudl/metadata/resources/mcoe.py b/src/pudl/metadata/resources/mcoe.py index 9a2340da7..e7c2cdaa8 100644 --- a/src/pudl/metadata/resources/mcoe.py +++ b/src/pudl/metadata/resources/mcoe.py @@ -222,7 +222,7 @@ "bypass_heat_recovery", "carbon_capture", "city", - "cofire_fuels", + "can_cofire_fuels", "county", "current_planned_generator_operating_date", "data_maturity", @@ -247,7 +247,7 @@ "latitude", "longitude", "minimum_load_mw", - "multiple_fuels", + "can_burn_multiple_fuels", "nameplate_power_factor", "net_capacity_mwdc", "operating_switch", @@ -287,7 +287,7 @@ "summer_capacity_mw", "summer_estimated_capability_mw", "supercritical_tech", - "switch_oil_gas", + "can_switch_oil_gas", "syncronized_transmission_grid", "time_cold_shutdown_full_load_code", "timezone", diff --git a/src/pudl/package_data/eia860/column_maps/generator.csv b/src/pudl/package_data/eia860/column_maps/generator.csv index 6c50ab6e4..9c5f2118b 100644 --- a/src/pudl/package_data/eia860/column_maps/generator.csv +++ b/src/pudl/package_data/eia860/column_maps/generator.csv @@ -41,7 +41,7 @@ energy_source_2_transport_1,transmode2,transmode2,transmode2,es2trans_1,es2trans energy_source_2_transport_2,,,,es2trans_2,es2trans_2,es2trans_2,, energy_source_2_transport_3,,,,es2trans_3,es2trans_3,es2trans_3,, turbines_num,wind,wind,wind,windturbines,windturbines,windturbines,turbines,turbines -multiple_fuels,,,,,,multifuels,multiple_fuels,multiple_fuels +can_burn_multiple_fuels,,,,,,multifuels,multiple_fuels,multiple_fuels planned_modifications,,,,,,,planned_modifications,planned_modifications planned_net_summer_capacity_uprate_mw,,,,,,,planned_uprates_net_summer_cap,planned_uprates_net_summer_cap planned_net_winter_capacity_uprate_mw,,,,,,,planned_uprates_net_winter_cap,planned_uprates_net_winter_cap diff --git a/src/pudl/package_data/eia860/column_maps/generator_existing.csv b/src/pudl/package_data/eia860/column_maps/generator_existing.csv index c92064de5..731505a42 100644 --- a/src/pudl/package_data/eia860/column_maps/generator_existing.csv +++ b/src/pudl/package_data/eia860/column_maps/generator_existing.csv @@ -22,7 +22,7 @@ energy_source_code_3,energy_source_3,energy_source_3,energy_source_3,energy_sour energy_source_code_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4 energy_source_code_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5 energy_source_code_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6 -multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,,,,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels +can_burn_multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,,,,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels deliver_power_transgrid,deliver_power_transgrid,deliver_power_transgrid,deliver_power_transgrid,deliver_power_to_transmission_grid,,,,,,,,,,, syncronized_transmission_grid,synchronized_grid,synchronized_grid,synchronized_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid turbines_num,turbines,turbines,turbines,turbines,,,,,,,,,,, @@ -65,7 +65,7 @@ time_cold_shutdown_full_load_code,,,,,time_from_cold_shutdown_to_full_load,time_ stoker_tech,,,,,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology other_combustion_tech,,,,,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology planned_new_capacity_mw,,,,,planned_new_nameplate_capacity_mw,planned_new_nameplate_capacity_mw,planned_new_nameplate_capacity_mw,planned_new_nameplate_capacity_mw,planned_new_nameplate_capacity_mw,planned_new_nameplate_capacity_mw,planned_new_nameplate_capacity_mw,planned_new_nameplate_capacity_mw,planned_new_nameplate_capacity_mw,planned_new_nameplate_capacity_mw,planned_new_nameplate_capacity_mw -cofire_fuels,,,,,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels +can_cofire_fuels,,,,,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels 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 bypass_heat_recovery,,,,,can_bypass_heat_recovery_steam_generator,can_bypass_heat_recovery_steam_generator,can_bypass_heat_recovery_steam_generator,can_bypass_heat_recovery_steam_generator,can_bypass_heat_recovery_steam_generator,can_bypass_heat_recovery_steam_generator,can_bypass_heat_recovery_steam_generator,can_bypass_heat_recovery_steam_generator,can_bypass_heat_recovery_steam_generator,can_bypass_heat_recovery_steam_generator,can_bypass_heat_recovery_steam_generator rto_iso_lmp_node_id,,,,,rto_iso_lmp_node_designation,rto_iso_lmp_node_designation,rto_iso_lmp_node_designation,rto_iso_lmp_node_designation,rto_iso_lmp_node_designation,rto_iso_lmp_node_designation,rto_iso_lmp_node_designation,rto_iso_lmp_node_designation,rto_iso_lmp_node_designation,rto_iso_lmp_node_designation,rto_iso_lmp_node_designation diff --git a/src/pudl/package_data/eia860/column_maps/generator_proposed.csv b/src/pudl/package_data/eia860/column_maps/generator_proposed.csv index f20c4b9e6..7c56f8936 100644 --- a/src/pudl/package_data/eia860/column_maps/generator_proposed.csv +++ b/src/pudl/package_data/eia860/column_maps/generator_proposed.csv @@ -29,7 +29,7 @@ energy_source_1_transport_3,,,,proposed_transportation_1c,proposed_transportatio energy_source_2_transport_1,transmode2,transmode2,transmode2,proposed_transportation_2a,proposed_transportation_2a,proposed_transportation_2a,,,,,,,,,,,,,,,,, energy_source_2_transport_2,,,,proposed_transportation_2b,proposed_transportation_2b,proposed_transportation_2b,,,,,,,,,,,,,,,,, energy_source_2_transport_3,,,,proposed_transportation_2c,proposed_transportation_2c,proposed_transportation_2c,,,,,,,,,,,,,,,,, -multiple_fuels,,,,,,,,,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,,,,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels +can_burn_multiple_fuels,,,,,,,,,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,,,,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels ownership_code,owner,owner,owner,owner,owner,owner,ownership,ownership,ownership,ownership,ownership,ownership,ownership,ownership,ownership,ownership,ownership,ownership,ownership,ownership,ownership,ownership,ownership turbines_num,propwind,propwind,propwind,proposed_turbines,proposed_turbines,proposed_turbines,turbines,turbines,turbines,turbines,turbines,turbines,,,,,,,,,,, associated_combined_heat_power,cogen,cogen,cogen,proposed_cogenerator,proposed_cogenerator,proposed_cogenerator,cogenerator,cogenerator,cogenerator,cogenerator,cogenerator,cogenerator,associated_with_combined_heat_and_power_system,associated_with_combined_heat_and_power_system,associated_with_combined_heat_and_power_system,associated_with_combined_heat_and_power_system,associated_with_combined_heat_and_power_system,associated_with_combined_heat_and_power_system,associated_with_combined_heat_and_power_system,associated_with_combined_heat_and_power_system,associated_with_combined_heat_and_power_system,associated_with_combined_heat_and_power_system,associated_with_combined_heat_and_power_system @@ -59,5 +59,5 @@ turbines_inverters_hydrokinetics,,,,,,,,,,,,,turbines_inverters_or_hydrokinetic_ stoker_tech,,,,,,,,,,,,,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology other_combustion_tech,,,,,,,,,,,,,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology 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 -cofire_fuels,,,,,,,,,,,,,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels +can_cofire_fuels,,,,,,,,,,,,,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels previously_canceled,,,,,,,,,,,,,previously_canceled,previously_canceled,previously_canceled,previously_canceled,previously_canceled,previously_canceled,previously_canceled,previously_canceled,previously_canceled,previously_canceled,previously_canceled diff --git a/src/pudl/package_data/eia860/column_maps/generator_retired.csv b/src/pudl/package_data/eia860/column_maps/generator_retired.csv index c03aac821..076221ad4 100644 --- a/src/pudl/package_data/eia860/column_maps/generator_retired.csv +++ b/src/pudl/package_data/eia860/column_maps/generator_retired.csv @@ -24,7 +24,7 @@ energy_source_code_3,energy_source_3,energy_source_3,energy_source_3,energy_sour energy_source_code_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4,energy_source_4 energy_source_code_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5,energy_source_5 energy_source_code_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6,energy_source_6 -multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,,,,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels +can_burn_multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,,,,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels deliver_power_transgrid,deliver_power_transgrid,deliver_power_transgrid,deliver_power_transgrid,deliver_power_to_transmission_grid,,,,,,,,,,, syncronized_transmission_grid,synchronized_grid,synchronized_grid,synchronized_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid,synchronized_to_transmission_grid turbines_num,turbines,turbines,turbines,turbines,,,,,,,,,,, @@ -72,7 +72,7 @@ turbines_inverters_hydrokinetics,,,,,turbines_inverters_or_hydrokinetic_buoys,tu time_cold_shutdown_full_load_code,,,,,time_from_cold_shutdown_to_full_load,time_from_cold_shutdown_to_full_load,time_from_cold_shutdown_to_full_load,time_from_cold_shutdown_to_full_load,time_from_cold_shutdown_to_full_load,time_from_cold_shutdown_to_full_load,time_from_cold_shutdown_to_full_load,time_from_cold_shutdown_to_full_load,time_from_cold_shutdown_to_full_load,time_from_cold_shutdown_to_full_load,time_from_cold_shutdown_to_full_load stoker_tech,,,,,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology,stoker_technology other_combustion_tech,,,,,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology,other_combustion_technology -cofire_fuels,,,,,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels +can_cofire_fuels,,,,,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels 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 energy_storage_capacity_mwh,,,,,,,,,,,,,,, net_capacity_mwdc,,,,,,,,,,,,,,, diff --git a/src/pudl/package_data/eia860/column_maps/multifuel_existing.csv b/src/pudl/package_data/eia860/column_maps/multifuel_existing.csv index e75e5ea14..d2f1635ef 100644 --- a/src/pudl/package_data/eia860/column_maps/multifuel_existing.csv +++ b/src/pudl/package_data/eia860/column_maps/multifuel_existing.csv @@ -18,33 +18,32 @@ generator_operating_month,,,,,,,,,,,,,,operating_month,operating_month,operating generator_operating_year,,,,,,,,,,,,,,operating_year,operating_year,operating_year,operating_year,operating_year,operating_year,operating_year energy_source_code_1,,,,,,,,,,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1 energy_source_code_2,,,,,,,,,,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2 -multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,,,,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels -cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels +can_burn_multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,,,,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels +can_cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1 cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2 cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3 cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4 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 +can_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 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 +net_summer_capacity_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_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_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_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_gas_to_oil,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_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_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 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 +has_other_factors_that_limit_switching,,,,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,,,,,,,,,,, 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,,,,,,,,,,, +has_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,,,,,,,,,,, fuel_switch_energy_source_2,fuel_switch_energy_source_2,fuel_switch_energy_source_2,fuel_switch_energy_source_2,fuel_switch_energy_source_2,fuel_switch_energy_source_2,fuel_switch_energy_source_2,fuel_switch_energy_source_2,fuel_switch_energy_source_2,fuel_switch_energy_source_2,,,,,,,,,,, fuel_switch_energy_source_3,fuel_switch_energy_source_3,fuel_switch_energy_source_3,fuel_switch_energy_source_3,fuel_switch_energy_source_3,fuel_switch_energy_source_3,fuel_switch_energy_source_3,fuel_switch_energy_source_3,fuel_switch_energy_source_3,fuel_switch_energy_source_3,,,,,,,,,,, diff --git a/src/pudl/package_data/eia860/column_maps/multifuel_proposed.csv b/src/pudl/package_data/eia860/column_maps/multifuel_proposed.csv index c5e5a5d52..69d467685 100644 --- a/src/pudl/package_data/eia860/column_maps/multifuel_proposed.csv +++ b/src/pudl/package_data/eia860/column_maps/multifuel_proposed.csv @@ -18,15 +18,15 @@ current_planned_generator_operating_month,,,,,,,,,,,,,,current_month,current_mon current_planned_generator_operating_year,,,,,,,,,,,,,,current_year,current_year,current_year,current_year,current_year,current_year,current_year energy_source_code_1,,,,,,,,,,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1 energy_source_code_2,,,,,,,,,,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2 -multiple_fuels,pro_multiple_fuels,pro_multiple_fuels,pro_multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,,,,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels -cofire_fuels,pro_cofire_fuels,pro_cofire_fuels,pro_cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels +can_burn_multiple_fuels,pro_multiple_fuels,pro_multiple_fuels,pro_multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,,,,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels +can_cofire_fuels,pro_cofire_fuels,pro_cofire_fuels,pro_cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels cofire_energy_source_1,prop_cofire_energy_source_1,prop_cofire_energy_source_1,prop_cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1 cofire_energy_source_2,prop_cofire_energy_source_2,prop_cofire_energy_source_2,prop_cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2 cofire_energy_source_3,prop_cofire_energy_source_3,prop_cofire_energy_source_3,prop_cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3 cofire_energy_source_4,prop_cofire_energy_source_4,prop_cofire_energy_source_4,prop_cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4 cofire_energy_source_5,prop_cofire_energy_source_5,prop_cofire_energy_source_5,prop_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,prop_cofire_energy_source_6,prop_cofire_energy_source_6,prop_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,prop_fuel_switch_oil_gas,prop_fuel_switch_oil_gas,prop_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 +can_switch_oil_gas,prop_fuel_switch_oil_gas,prop_fuel_switch_oil_gas,prop_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 can_switch_when_operating,,,,,,operating_switch,operating_switch,operating_switch,operating_switch,,,,,,,,,,, net_summer_capacity_with_natural_gas_mw,prop_net_summer_capacity_ng,prop_net_summer_capacity_ng,prop_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_oil_mw,prop_net_summer_capacity_oil,prop_net_summer_capacity_oil,prop_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,,,,,,,,,,, diff --git a/src/pudl/package_data/eia860/column_maps/multifuel_retired.csv b/src/pudl/package_data/eia860/column_maps/multifuel_retired.csv index 7269b23a0..24e6e4bd5 100644 --- a/src/pudl/package_data/eia860/column_maps/multifuel_retired.csv +++ b/src/pudl/package_data/eia860/column_maps/multifuel_retired.csv @@ -20,15 +20,15 @@ generator_retirement_month,,,,,,,,,,,,,,retirement_month,retirement_month,retire generator_retirement_year,,,,,,,,,,,,,,retirement_year,retirement_year,retirement_year,retirement_year,retirement_year,retirement_year,retirement_year energy_source_code_1,,,,,,,,,,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1,energy_source_1 energy_source_code_2,,,,,,,,,,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2,energy_source_2 -multiple_fuels,,,,,,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,,,,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels -cofire_fuels,,,,,,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels +can_burn_multiple_fuels,,,,,,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,,,,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels,multiple_fuels +can_cofire_fuels,,,,,,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels,cofire_fuels cofire_energy_source_1,,,,,,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1,cofire_energy_source_1 cofire_energy_source_2,,,,,,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2,cofire_energy_source_2 cofire_energy_source_3,,,,,,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3,cofire_energy_source_3 cofire_energy_source_4,,,,,,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4,cofire_energy_source_4 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 -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 +can_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 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_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 diff --git a/src/pudl/transform/eia860.py b/src/pudl/transform/eia860.py index 73c58e67b..9e64bcee6 100644 --- a/src/pudl/transform/eia860.py +++ b/src/pudl/transform/eia860.py @@ -246,7 +246,7 @@ def _core_eia860__generators( } boolean_columns_to_fix = [ "duct_burners", - "multiple_fuels", + "can_burn_multiple_fuels", "deliver_power_transgrid", "syncronized_transmission_grid", "solid_fuel_gasification", @@ -258,8 +258,8 @@ def _core_eia860__generators( "carbon_capture", "stoker_tech", "other_combustion_tech", - "cofire_fuels", - "switch_oil_gas", + "can_cofire_fuels", + "can_switch_oil_gas", "bypass_heat_recovery", "associated_combined_heat_power", "planned_modifications", @@ -484,8 +484,8 @@ def _core_eia860__generators_multifuel( "can_cofire_100_oil", "can_cofire_fuels", "has_factors_that_limit_switching", - "multiple_fuels", - "has_other_limits", + "can_burn_multiple_fuels", + "has_other_factors_that_limit_switching", "has_storage_limits", "can_switch_oil_gas", "can_switch_when_operating",