pudl.output.eia923#

Denormalized, aggregated, and filled versions of the basic EIA-923 tables.

Module Contents#

Functions#

denorm_by_plant(→ pandas.DataFrame)

Denormalize a table that is reported on a per-plant basis.

denorm_by_gen(→ pandas.DataFrame)

Denormalize a table that is reported on a per-generator basis.

denorm_by_boil(→ pandas.DataFrame)

Denormalize a table that is reported on a per-boiler basis.

_fill_fuel_costs_by_state(→ pandas.DataFrame)

Fill in missing fuel costs with state-level averages.

denorm_generation_eia923(→ pandas.DataFrame)

Denormalize the generation_eia923 table.

denorm_generation_fuel_combined_eia923(→ pandas.DataFrame)

Denormalize the generation_fuel_combined_eia923 table.

denorm_boiler_fuel_eia923(→ pandas.DataFrame)

Denormalize the boiler_fuel_eia923 table.

denorm_fuel_receipts_costs_eia923(→ pandas.DataFrame)

Denormalize the fuel_receipts_costs_eia923 table.

time_aggregated_eia923_asset_factory(...)

Build EIA-923 asset definitions, aggregated by year or month.

Attributes#

pudl.output.eia923.logger[source]#
pudl.output.eia923.FIRST_COLS = ['report_date', 'plant_id_eia', 'plant_id_pudl', 'plant_name_eia', 'utility_id_eia',...[source]#
pudl.output.eia923.denorm_by_plant(df: pandas.DataFrame, pu: pandas.DataFrame, first_cols: list[str] | None = None) pandas.DataFrame[source]#

Denormalize a table that is reported on a per-plant basis.

pudl.output.eia923.denorm_by_gen(df: pandas.DataFrame, pu: pandas.DataFrame, bga: pandas.DataFrame, first_cols: list[str] | None = None) pandas.DataFrame[source]#

Denormalize a table that is reported on a per-generator basis.

pudl.output.eia923.denorm_by_boil(df: pandas.DataFrame, pu: pandas.DataFrame, bga: pandas.DataFrame, first_cols: list[str] | None = None) pandas.DataFrame[source]#

Denormalize a table that is reported on a per-boiler basis.

pudl.output.eia923._fill_fuel_costs_by_state(frc_df: pandas.DataFrame, fuel_costs: pandas.DataFrame) pandas.DataFrame[source]#

Fill in missing fuel costs with state-level averages.

pudl.output.eia923.denorm_generation_eia923(generation_eia923: pandas.DataFrame, denorm_plants_utilities_eia: pandas.DataFrame, boiler_generator_assn_eia860: pandas.DataFrame) pandas.DataFrame[source]#

Denormalize the generation_eia923 table.

pudl.output.eia923.denorm_generation_fuel_combined_eia923(generation_fuel_eia923: pandas.DataFrame, generation_fuel_nuclear_eia923: pandas.DataFrame, denorm_plants_utilities_eia: pandas.DataFrame) pandas.DataFrame[source]#

Denormalize the generation_fuel_combined_eia923 table.

This asset first combines the generation_fuel_eia923 and generation_fuel_nuclear_eia923 into a single table with a uniform primary key (consolidating multiple nuclear unit IDs into a single plant record) and then denormalizes it by merging in some addition plant and utility level columns.

This table contains the records at their originally reported temporal resolution, so it’s outside of time_aggregated_eia923_asset_factory().

pudl.output.eia923.denorm_boiler_fuel_eia923(boiler_fuel_eia923: pandas.DataFrame, denorm_plants_utilities_eia: pandas.DataFrame, boiler_generator_assn_eia860: pandas.DataFrame) pandas.DataFrame[source]#

Denormalize the boiler_fuel_eia923 table.

The total heat content is also calculated as it’s useful in its own right and required later to calculate average heat content per unit of fuel.

pudl.output.eia923.denorm_fuel_receipts_costs_eia923(context, fuel_receipts_costs_eia923: pandas.DataFrame, coalmine_eia923: pandas.DataFrame, denorm_plants_utilities_eia: pandas.DataFrame, state_average_fuel_costs_eia: pandas.DataFrame, plants_entity_eia: pandas.DataFrame) pandas.DataFrame[source]#

Denormalize the fuel_receipts_costs_eia923 table.

pudl.output.eia923.time_aggregated_eia923_asset_factory(freq: Literal[AS, MS], io_manager_key: str | None = None) list[dagster.AssetsDefinition][source]#

Build EIA-923 asset definitions, aggregated by year or month.

pudl.output.eia923.generation_fuel_agg_eia923_assets[source]#