You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Brightway 2.5中导入LCIA层级的cradle-to-gate汇总得分?

Brightway 2.5 把汇总LCIA得分导入清单的实现方法

Brightway 2.5没有直接替代bw2agg的官方工具,但完全可以用原生API手动实现相同功能——把LCIA汇总得分做成自定义生物圈流,再整合到活动清单里,逻辑和bw2agg一致。具体步骤如下:

1. 计算目标活动的LCIA得分

先完成常规LCIA计算,拿到对应影响类别的总分:

import brightway2 as bw

# 切换到你的项目
bw.projects.set_current("你的项目名称")
# 加载目标数据库和LCIA方法
db = bw.Database("你的数据库名")
method = bw.Method(('ReCiPe Midpoint (H) V1.13', 'freshwater eutrophication', 'FEP'))

# 选中要处理的活动
target_activity = db.get("活动的唯一代码")

# 计算LCIA得分
lca = bw.LCA({target_activity: 1}, method)
lca.lci()
lca.lcia()
total_score = lca.score  # 得到类似0.00140 kg P-Eq的数值

2. 创建自定义生物圈流

把LCIA得分定义成新的生物圈流,方便后续添加到清单:

# 定义流的基础信息
lcia_flow_data = {
    'name': 'ReCiPe H V1.13 - 淡水富营养化(FEP)得分',
    'categories': ('LCIA汇总得分', '淡水富营养化'),  # 自定义分类,方便识别
    'unit': 'kg P-Eq',
    'type': 'biosphere',
    'exchanges': []
}

# 写入默认生物圈数据库(也可自建专用生物圈库)
bw.Database("biosphere3").write({('biosphere3', 'lcia_fep_score'): lcia_flow_data})

3. 将LCIA得分添加到活动清单

把刚创建的生物圈流作为输入交换,加到目标活动里:

# 获取刚创建的LCIA得分流
lcia_flow = bw.Database("biosphere3").get('lcia_fep_score')

# 给目标活动添加交换
target_activity.new_exchange(
    input=lcia_flow,
    amount=total_score,
    unit='kg P-Eq',
    type='biosphere'
).save()

# 保存数据库修改
db.save()

额外提示

  • 批量处理多个活动时,写循环遍历活动列表即可,重复计算得分和添加交换的步骤
  • 自定义流的名称、分类可按需调整,只要能和其他流区分开就行
  • 若要保留LCIA方法元数据,可在流的comment字段补充相关说明

内容的提问来源于stack exchange,提问作者Laurent Vandepaer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 18:43:17