Exemple #1
0
def get_upstream_process_df(eia_gen_year):
    """
    Automatically load all of the upstream emissions data from the various
    modules. Will return a dataframe with upstream emissions from
    coal, natural gas, petroleum, nuclear, and plant construction.
    """
    import electricitylci.coal_upstream as coal
    import electricitylci.natural_gas_upstream as ng
    import electricitylci.petroleum_upstream as petro
    import electricitylci.nuclear_upstream as nuke
    import electricitylci.power_plant_construction as const
    from electricitylci.combinator import concat_map_upstream_databases

    print("Generating upstream inventories...")
    coal_df = coal.generate_upstream_coal(eia_gen_year)
    ng_df = ng.generate_upstream_ng(eia_gen_year)
    petro_df = petro.generate_petroleum_upstream(eia_gen_year)
    nuke_df = nuke.generate_upstream_nuc(eia_gen_year)
    const = const.generate_power_plant_construction(eia_gen_year)
    #coal and ng already conform to mapping so no mapping needed
    upstream_df = concat_map_upstream_databases(eia_gen_year, petro_df,
                                                nuke_df, const)
    upstream_df = pd.concat([upstream_df, coal_df, ng_df],
                            sort=False,
                            ignore_index=True)
    return upstream_df
Exemple #2
0
def get_upstream_process_df():
    """
    Automatically load all of the upstream emissions data from the various
    modules. Will return a dataframe with upstream emissions from
    coal, natural gas, petroleum, and nuclear.
    """
    import electricitylci.coal_upstream as coal
    import electricitylci.natural_gas_upstream as ng
    import electricitylci.petroleum_upstream as petro
    import electricitylci.nuclear_upstream as nuke
    import electricitylci.power_plant_construction as const
    from electricitylci.combinator import concat_map_upstream_databases
    from electricitylci.model_config import eia_gen_year

    print("Generating upstream inventories...")
    coal_df = coal.generate_upstream_coal(eia_gen_year)
    ng_df = ng.generate_upstream_ng(eia_gen_year)
    petro_df = petro.generate_petroleum_upstream(eia_gen_year)
    nuke_df = nuke.generate_upstream_nuc(eia_gen_year)
    const = const.generate_power_plant_construction(eia_gen_year)
    upstream_df = concat_map_upstream_databases(coal_df, ng_df, petro_df,
                                                nuke_df, const)
    return upstream_df
Exemple #3
0
"""
Integration of emissions from data sources that were not included in stewi
"""

import pandas as pd
from electricitylci.coal_upstream import generate_upstream_coal
from electricitylci.model_config import eia_gen_year

# Import functions for other upstream fuels and include them in this list
# with the appropriate input parameters.
UPSTREAM_EMISSION_GENERATORS = [
    generate_upstream_coal(eia_gen_year),
]


def integrate_replace_emissions(new_emissions, stewi_emissions):
    """
    Replace and/or add emissions to those compiled in stewi. This is done by
    concatenating the two dataframe and dropping duplicates (keep the new values).

    For reference, the following FlowNames are used in stewi and should be used
    in the new_emissions dataframe:
    - Sulfur dioxide
    - Carbon dioxide
    - Methane
    - Nitrogen oxides
    - Nitrous oxide

    Parameters
    ----------
    new_emissions : dataframe
    )
    gen_plus_up_df = pd.concat([gen_df, fuel_df], ignore_index=True)
    gen_plus_up_df = fill_nans(gen_plus_up_df)
    return gen_plus_up_df


if __name__ == "__main__":
    import electricitylci.coal_upstream as coal
    import electricitylci.natural_gas_upstream as ng
    import electricitylci.petroleum_upstream as petro
    import electricitylci.geothermal as geo
    import electricitylci.solar_upstream as solar
    import electricitylci.wind_upstream as wind
    import electricitylci.nuclear_upstream as nuke

    coal_df = coal.generate_upstream_coal(2016)
    ng_df = ng.generate_upstream_ng(2016)
    petro_df = petro.generate_petroleum_upstream(2016)
    geo_df = geo.generate_upstream_geo(2016)
    solar_df = solar.generate_upstream_solar(2016)
    wind_df = wind.generate_upstream_wind(2016)
    nuke_df = nuke.generate_upstream_nuc(2016)
    upstream_df = concat_map_upstream_databases(
        coal_df, ng_df, petro_df, geo_df, nuke_df, solar_df, wind_df
    )
    plant_df = altg.create_generation_process_df()
    plant_df["stage_code"] = "Power plant"
    print(plant_df.columns)
    print(upstream_df.columns)
    combined_df = concat_clean_upstream_and_plant(plant_df, upstream_df)
    canadian_inventory = import_impacts.generate_canadian_mixes(combined_df)
#    ar["dataDocumentor"] = metadata["DataDocumentor"]
#    ar["dataGenerator"] = metadata["DataGenerator"]
#    ar["dataSetOwner"] = metadata["DatasetOwner"]
#    ar["intendedApplication"] = metadata["IntendedApplication"]
#    ar["projectDescription"] = metadata["ProjectDescription"]
#    ar["publication"] = ""
#    ar["geographyDescription"] = ""
#    ar["exchangeDqSystem"] = exchangeDqsystem()
#    ar["dqSystem"] = processDqsystem()
#    # Temp place holder for process DQ scores
#    ar["dqEntry"] = "(5;5)"
#    return ar

if __name__ == "__main__":
    import electricitylci.coal_upstream as coal
    import electricitylci.natural_gas_upstream as ng
    import electricitylci.petroleum_upstream as petro
    import electricitylci.nuclear_upstream as nuke
    from combinator import concat_map_upstream_databases

    year = 2016
    coal_df = coal.generate_upstream_coal(year)
    ng_df = ng.generate_upstream_ng(year)
    petro_df = petro.generate_petroleum_upstream(year)
    nuke_df = nuke.generate_upstream_nuc(year)
    merged = concat_map_upstream_databases(coal_df, ng_df, petro_df, nuke_df)
    merged.to_csv(f"{output_dir}/total_upstream_{year}.csv")
    upstream_process_dict = olcaschema_genupstream_processes(merged)
    upstream_olca_processes = write_process_dicts_to_jsonld(
        upstream_process_dict)