Source code for bw2io.strategies.useeio

import random


[docs] def remove_useeio_products(data): """Remove products from US EEIO and collapse to only activities""" products = {ds["code"] for ds in data if ds["type"] == "product"} mapping = { exc["code"]: ds["code"] for ds in data for exc in ds["exchanges"] if ds["type"] == "process" and exc["type"] == "production" and exc["code"] in products } for ds in data: for exc in ds.get("exchanges", []): db_name, code = exc["input"] try: exc["input"] = (db_name, mapping[code]) except KeyError: pass data = [ds for ds in data if ds["type"] != "product"] return data
[docs] def remove_random_exchanges(data, fraction=0.9): """Remove most inputs to make the US EEIO have a structure more like other LCA databases""" for ds in data: cutoff = random.triangular(fraction * 0.8, 1, fraction) ds["exchanges"] = [ exc for exc in ds["exchanges"] if (exc.get("type") not in ("technosphere", "biosphere")) or (random.random() > cutoff) ] return data