【问题标题】:AWARE method in ecoinvent through brightway2通过brightway2在ecoinvent中的AWARE方法
【发布时间】:2021-09-11 04:58:37
【问题描述】:

我正在尝试使用 Brightway 或 ab 将所有水输入提取到多个流程,但我无法从 inventory_matrix 获取这些值。我需要获取消耗的水量和水的来源(地表水、井水、未指定的自来水)及其地理位置。我正在使用 ecoinvent 3.7.1

我认为我可以做到的一种方法是为这些隔间创建一个带有 CF 的影响评估方法(每个隔间都是 1),然后将其应用于流程并分析基本流量贡献。

我不确定我是否能得到这样的地理信息。

为了清晰而编辑了大部分问题

好像我在尝试重新发明轮子!我的目标是实现 AWARE 方法并将其应用于相当多的流程。最好的结果是通过活动浏览器使用 AWARE,这样我就可以使用它的所有功能,这对我来说非常节省时间。

我刚刚看到有brightway2-regionalbw2_aware实现了上述方法。

所以我现在正在尝试在我的 brightway2 conda 环境中安装这些软件包。

设法通过 conda 获得 bw2regional,但如果不是通过 pip,我无法安装 bw2_aware。 通过使用 wheel 文件和 pip install --no-deps 设法安装 bw2_aware,然后调整源代码中的一行以进行 fiona 导入,现在我在运行时遇到错误

bwr.bw2regionalsetup()
bw2_aware.import_aware()
SSLError: HTTPSConnectionPool(host='pandarus.brightwaylca.org', port=443): Max retries exceeded with url: / (Caused by SSLError(CertificateError("hostname 'pandarus.brightwaylca.org' doesn't match either of '*.parkingcrew.net', 'parkingcrew.net'",),))

现在我正在尝试了解是否可以将其应用于生态发明,以及如何应用。我真的不确定我是否可以将不同的地理添加到数据库中的基本流中,以便我可以在 lca 中正确计算感知。 我已经看到导入 AWARE 允许在活动浏览器中选择它作为影响类别,但我看不到 Charaterization Factors 选项卡中显示的 CFS 中的地理区域。

然后我尝试使用 AWARE 方法和 2 个示例过程计算带有 AB 的 LCA:

diesel, burned in agricultural machinery | diesel, burned in agricultural machinery | GLO | megajoule | ECOINVENT3.7.1

electricity, high voltage | market for electricity, high voltage | IT | kilowatt hour | ECOINVENT3.7.1

我得到了这个结果(第一个是农业,另一个是非农业):

diesel, burned in agricultural machinery | GLO
    0.014757994762941706    0.00654978730728395
market for electricity, high voltage | IT 0.285207979534988 0.12657895834095712

我想知道这是否正确。

【问题讨论】:

    标签: brightway


    【解决方案1】:

    您的直觉是正确的 - 构建 LCIA 方法是一种简单的方法。这是因为这些流量背后有一些不言而喻的假设——它们大多是正数,但有些代表消费,而另一些代表释放。

    这是一个使用 Brightway 2.5 的示例,需要针对版本 2 进行调整:

    import bw2data as bd
    import bw2calc as bc
    import numpy as np
    
    bd.projects.set_current("ecoinvent 3.7.1")
    ecoinvent = bd.Database("ecoinvent 3.7.1")
    beet = ecoinvent.search("beet")[1]
    
    water_method = bd.Method(("Water", "raw"))
    water_method.register()
    water_method.write([(x, -1 if x['categories'][0] == 'natural resource' else 1) 
                        for x in bd.Database("biosphere3") 
                        if x['name'].startswith('Water')])
    
    demand, data_objs, _ = bd.prepare_lca_inputs(demand={beet: 1}, method=("Water", "raw"))
    
    lca = bc.LCA(demand=demand, data_objs=data_objs)
    lca.lci()
    lca.lcia()
    coo = lca.characterized_inventory.tocoo()
    
    results = sorted(zip(np.abs(coo.data), coo.data, coo.row, coo.col), reverse=True)
    for a, b, c, d in results[:10]:
        print("{:.6f}\t{}\n\t\t{}".format(
            float(b), 
            bd.get_activity(lca.dicts.biosphere.reversed[c]), 
            bd.get_activity(lca.dicts.activity.reversed[d])
        ))
    

    结果:

    0.009945    'Water' (cubic meter, None, ('water',))
                'electricity production, hydro, run-of-river' (kilowatt hour, CH, None)
    -0.009945   'Water, turbine use, unspecified natural origin' (cubic meter, None, ('natural resource', 'in water'))
                'electricity production, hydro, run-of-river' (kilowatt hour, CH, None)
    0.009514    'Water' (cubic meter, None, ('water',))
                'electricity production, hydro, run-of-river' (kilowatt hour, RoW, None)
    -0.009514   'Water, turbine use, unspecified natural origin' (cubic meter, None, ('natural resource', 'in water'))
                'electricity production, hydro, run-of-river' (kilowatt hour, RoW, None)
    0.007264    'Water' (cubic meter, None, ('water',))
                'electricity production, hydro, run-of-river' (kilowatt hour, FR, None)
    -0.007264   'Water, turbine use, unspecified natural origin' (cubic meter, None, ('natural resource', 'in water'))
                'electricity production, hydro, run-of-river' (kilowatt hour, FR, None)
    -0.003371   'Water, river' (cubic meter, None, ('natural resource', 'in water'))
                'irrigation, sprinkler' (cubic meter, CH, None)
    0.003069    'Water' (cubic meter, None, ('water', 'ground-'))
                'sugar beet production' (kilogram, CH, None)
    0.001935    'Water' (cubic meter, None, ('air',))
                'sugar beet production' (kilogram, CH, None)
    0.001440    'Water' (cubic meter, None, ('water',))
                'electricity production, hydro, run-of-river' (kilowatt hour, CN-SC, None)
    

    【讨论】:

    • 嗨,克里斯,感谢您的有用回复并确认了我的直觉。我想我的代码有点太深了,虽然没有看正确的方向,但我需要实现 AWARE 影响评估方法,但我刚刚在link 看到这已经实现了!不过我会留下这个问题,因为它可能对其他人有帮助
    • 嗨,克里斯,我更新了我的问题,因为我认为我已经找到了解决方案,请您检查一下吗?非常感谢!
    【解决方案2】:

    没有办法在活动浏览器中使用区域化计算,AWARE 方法(错误地)依赖于并非绝对必要的外部 Web 服务。所以简短的回答是,现在不可能,但由于您是一周内第二个提出这个问题的人,我们需要尽快让它工作。

    【讨论】:

    • 那很不幸,我会留意 bw2 和 AB 的更新。 Atm 进行这种计算的唯一方法是通过 SimaPro 或 OpenLCA,对吗?第一个您必须为它付费,对于后者,您需要为另一个许可证付费才能使用 ecoinvent,即使您已经拥有它的许可证(该软件使用不同的导入格式)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 2020-11-18
    • 2022-12-14
    相关资源
    最近更新 更多