ElectricityLCI
ElectricityLCI copied to clipboard
Addressing the Industrial Cogeneration Problem and Implementing the filter in model_config
This is in response to the placeholder found in eia923_generation.py where the industrial co-generation facilities are meant to be filtered from EIA Form 923 data because:
- These facilities typically produce two products: heat and electricity and no efforts are made to allocate the fuel demand to just the electricity (i.e., messes with efficiency).
- It is assumed that these facilities do not put electricity generated into the grid; therefore, it should not go into the generation mix for consumption
https://github.com/USEPA/ElectricityLCI/blob/2232c41f2cb4fd333ad59c8710aa55906e6a7ed3/electricitylci/eia923_generation.py#L413
A boolean parameter exists in the model_config YAML, filter_non_egrid_emission_on_NAICS
, but has not been implemented.
The suggested fix is to add the following to the build_generation_data
method where the other model_specs filters are located:
if model_specs.filter_non_egrid_emission_on_NAICS:
# NAICS Code 22 includes all commercial and industrial facilities.
# EIA Sector numbers 1 and 2 should be just the cogeneration plants.
final_gen_df = final_gen_df.loc[
(final_gen_df['NAICS Code'] == '22') & (final_gen_df['EIA Sector Number'].isin(['1','2'])) , :
]
The description line in the YAML should read something like the following:
To ensure consistency with eGRID, the model applies a filter to remove
industrial cogeneration facilities from the EIA Form 923 data based on
their NAICS code (i.e., code 22: Electricity Utilities and Independent
Power Producers) and by EIA Sector numbers 1 and 2. This filter is
designed to reproduce the same power plants that are listed in eGRID.
See also #190 and #191