关于Brightway2对我的LCA结果进行后处理分析时遇到一些问题。运行LCA计算后,例如,如果我键入top_activities(),我将获得一堆活动及其关联分数的列表,但是,没有一个活动/分数是与我的功能单元直接相关的(它们看起来像是我的交流中的一些交流...)。
在构建职能部门时,如何获得我定义的交易所(技术圈和生物圈)的LCA分数?
谢谢!
答案 0 :(得分:3)
我发现在Brightway中为前景模型获取汇总结果的最佳方法是使用bw2analyzer.traverse_tagged_databases()
函数而不是top_activities()
。文档中的详细信息为here。
它旨在计算前景模型元素的上游影响,然后基于在活动中找到的tag
汇总影响。例如如果将'tag':'use phase'
或'tag':'processing'
添加到活动中,则可以按生命周期阶段汇总影响结果。
但是您可以更改其查找的默认标签,因此您可以让它代替tag
来查找name
-这将为您提供各个活动的汇总上游影响您的前景模型。它返回一个字典,其中标签的名称为键,而影响为值。它还会返回您的前景系统的图形,可用于创建一些很酷的树形/ bullseye图表-有关格式,请参见docs。
这是您需要的功能:
results, graph = recurse_tagged_databases(functional_unit, method, label='name')
以下是使用数据recurse_tagged_databases
为您提供的各种可视化示例:
答案 1 :(得分:1)
手动遍历供应链非常容易,而且每个人都想以一种略有不同的方式来做,因此还没有内置到Brightway中。这是一个简单的示例:
from brightway2 import *
func_unit = Database("ecoinvent 3.4 cutoff").random()
lca = LCA({func_unit: 1}, methods.random())
lca.lci()
lca.lcia()
print(func_unit)
for exc in func_unit.technosphere():
lca.redo_lcia({exc.input: exc['amount']})
print(exc.input, exc['amount'], lca.score)