在 ecoinvent v.3.5 中调用生物圈流 activity 时出错

Error when calling biosphere flows an activity in ecoinvent v.3.5

我尝试调用activity的生物圈流时碰巧遇到错误。当我为不同的活动调用技术圈时,它工作正常。

然而,对于生物圈:

[in] clinker_bio_exchange = [exc for exc in clinker.biosphere()]
clinker_bio_exchange

错误:

        ActivityDatasetDoesNotExist: <Model: ActivityDataset> instance matching query does not exist:
        SQL: SELECT "t1"."id", "t1"."data", "t1"."code", "t1"."database", "t1"."location", "t1"."name", "t1"."product", "t1"."type" FROM "activitydataset" AS "t1" WHERE (("t1"."database" = ?) AND ("t1"."code" = ?)) ORDER BY Random() LIMIT ? OFFSET ?
        Params: ['biosphere3', 'fc1c42ce-a759-49fa-b987-f1ec5e503db1', 1, 0]

我应该更新任何部分还是遗漏了什么?谢谢。

您的 biosphere3 数据库有问题 - 您的 clinker 对象与生物圈流交换 (activity) ('biosphere3', 'fc1c42ce-a759-49fa-b987-f1ec5e503db1')(即 Water, cooling, unspecified natural origin 在我的机器上)。但是,您要么完全缺少 biosphere3 数据库,要么删除或以其他方式修改了此特定流程。

解决此问题的最简单方法是重新安装它:

import bw2io
bw2io.create_default_biosphere3()