如何在 brightway2 中使用 transverse_tagged_databases 函数

how to use the transverse_tagged_databases function in brightway2

我想知道如何在 brightway2 中使用 transverse_tagged_database 方法。从文档中我并不完全清楚。例如,我们可以使用产品系统模型中活动的 isic 代码汇总影响吗?

简短的回答是肯定的,在您的前台产品系统模型中汇总 ISIC 代码的影响正是您可以使用 traverse_tagged_databases.

做的事情

traverse_tagged_databases 函数利用了以下事实:您可以向 brightway 中的活动添加任意 key:value 对,让您可以根据需要对前景模型中的活动进行分类。

例如,假设您的活动如下所示:

('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(其他食品的制造 n.e.c。)

面包: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')

函数returns两个对象(在上一行中指定为resulttree

对于此分析,您的 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 千克二氧化碳当量的总影响,烘焙产品具有 0.1875 千克二氧化碳当量的总影响。

通过一些 post 处理,您可以将此数据转换为饼图、堆叠条形图等。

你还会得到一个 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': []}]}]

起初看起来有点难以解析,但本质上是一组嵌套字典,从根 activity(功能单元 = Sandwich)开始,显示 techosphere 交换到其他活动,以及 biosphere 排放交换。

这里的树看起来像这样(每个产品的 amount 都在括号中)

Bread +----(0.75 kg)----------+ | | | | Cheese +----(0.20 kg)----------+------(1.00 kg)--------> Sandwich | | | | Butter +----(0.05 kg)----------+

同样,通过一些 post 处理,您可以将此数据转换为桑基图之类的东西,或者您在 SimaPro 中获得的那种影响树图。