Короткий ответ - да, агрегирование воздействий по коду ISIC в вашей модели системы продуктов переднего плана - это именно то, что вы можете сделать, используя traverse_tagged_databases
.
Функция traverse_tagged_databases использует тот факт, что выМожно добавить произвольные пары key:value
к действиям в Brightway, чтобы позволить вам классифицировать ваши действия в модели переднего плана так, как вам нравится.
Например, скажем, что ваши действия выглядят так:
('example_database', 'code_for_bread'):{
'name': 'Bread',
'code': 'code_for_bread',
'categories':[],
'exchanges':[...],
'location':'GLO'
'unit':'kg',
'database':'example_database',
'isic_code':'1071'
'isic_classifier':'Manufacture of bakery products'
},
Вы можете указать traverse_tagged_databases
, чтобы пройтись по вашей базе данных в поисках заданного ключа (тега)Например, 'isic_code'
или 'isic_classifier'
и агрегирование воздействия на основе этих тегов.
Допустим, вы моделировали бутерброд с сыром, в вашей модели могут быть следующие коды ISIC:
Сэндвич: 1079 (Производство прочих пищевых продуктов, не включенных в другие категории)
Хлеб: 1071 (Производство хлебобулочных изделий)
Сыр: 1050 (Производство молочных продуктов)
Масло сливочное:1050 (Производство молочных продуктов)
Вы можете использовать traverse_tagged_databases
, чтобы увидеть общее влияние молочных продуктов (сыра и масла) на хлебобулочные изделия (хлеб).
Вы используете его аналогично функции LCA
, указав функциональную единицу как dict
и метод как tuple
с дополнительным аргументом tag
.Например:
fu = {('example_database', 'code_for_sandwich'):1}
m = ('IPCC 2013', 'climate change', 'GWP 100a')
result, tree = traverse_tagged_databases(fu, m, 'isic_classifier')
Функция возвращает два объекта (обозначенные result
и tree
в строке выше)
Для этого анализаваш result
будет выглядеть примерно так:
defaultdict(int,
{'Manufacture of other food products n.e.c.': 0,
'Manufacture of bakery products': 0.1875,
'Manufacture of dairy products': 0.55})
Это говорит о том, что молочные продукты в модели переднего плана имеют совокупное воздействие 0,55 кг CO2-экв, а хлебобулочные изделия имеютсуммарное воздействие составляет 0,1875 кг. СО2-экв.
С помощью небольшой последующей обработки вы можете превратить эти данные в круговые диаграммы, гистограммы с накоплением и т. д.
Вы также получите tree
, который выглядит следующим образом:
[{'activity': 'Sandwich' (kg, GLO, []),
'amount': 1,
'tag': 'Manufacture of other food products n.e.c.',
'impact': 0,
'biosphere': [],
'technosphere': [{'activity': 'Bread' (kg, GLO, []),
'amount': 0.75,
'tag': 'Manufacture of bakery products',
'impact': 0,
'biosphere': [{'amount': 0.1875,
'impact': 0.1875,
'tag': 'Manufacture of bakery products'}],
'technosphere': []},
{'activity': 'Butter' (kg, GLO, []),
'amount': 0.05,
'tag': 'Manufacture of dairy products',
'impact': 0,
'biosphere': [{'amount': 0.05,
'impact': 0.05,
'tag': 'Manufacture of dairy products'}],
'technosphere': []},
{'activity': 'Cheese' (kg, GLO, []),
'amount': 0.25,
'tag': 'Manufacture of dairy products',
'impact': 0,
'biosphere': [{'amount': 0.5,
'impact': 0.5,
'tag': 'Manufacture of dairy products'}],
'technosphere': []}]}]
Поначалу это может показаться немного сложным, но по сути это набор вложенных словарей, начиная с корневого действия (функциональной единицы= Сэндвич), показывая techosphere
обмены на другие виды деятельности и biosphere
обмены на выбросы.
Дерево здесь выглядит следующим образом (с amount
каждого продукта в скобках)
Bread +----(0.75 kg)----------+
|
|
|
|
Cheese +----(0.20 kg)----------+------(1.00 kg)--------> Sandwich
|
|
|
|
Butter +----(0.05 kg)----------+
Опять же, немного пост-обработкиКроме того, вы можете превратить эти данные в такие вещи, как диаграммы Санки или в диаграмму дерева воздействий, которую вы получаете в SimaPro.