问题标签 [brightway]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-3.x - 导入 ecoinvent v.3.2 或 3.3 后续版本的未关联交易所
我正在尝试导入旧版本的 ecoinvent(3.2 和 3.3),但出现与未链接交换相关的错误。做的时候:
有一条消息说两个交易所无法链接并被删除(残留木材、干燥和氮气、液体的排放)这导致 123 个未链接的交易所和无法写入数据库。
我在 3.2 版本中得到了类似的结果(这次删除了 4 个交换和 205 个未链接的交换)。
我尝试了 3.4 版,删除交易所并没有导致未链接的交易所,所以它工作正常。用3.3截止也没有问题。
运行函数
没有添加任何生物圈流量。
现在我知道 v3.4 可以正常工作,这对我来说很好,但如果出于某种原因我们尝试使用旧版本可能会出现问题。
brightway - 最重要的是,如何删除活动中的交换并添加新的交换
我创建了一个新活动“alu_in_no”,代码如下:
新活动有以下交换:
我想在这个活动中删除这个交换并替换一个新的,例如:
换句话说,我想取消链接之前的活动并链接另一个活动?我相信wurst中一定有一些功能可以做到,但我找不到。提前致谢!
activity-lifecycle - 更改活动中的生产交换
我们如何才能用该活动中已经存在的技术圈交换来代替活动中的生产交换?
在一个活动act
中,我尝试通过删除现有的生产交换existing_prod_exc
然后使用创建一个新的生产交换来做到这一点,new_prod_exc=act.new_exchange(input=act.key,output=act.key,type='production')
但我不知道如何将现有交换的所有交换特征“复制”techno_exc
到new_prod_exc
.
谢谢你帮助我。
brightway - Brightway2 对现有生态发明活动的修改
这里有一个以前的问题,但它没有帮助我解决我的问题:
当我尝试使用 .amount = myamount 更改交换金额时,我总是收到“无法设置属性错误”。
这是我所做的:
和
接着
这是我得到错误的地方。感谢你们对我的帮助。
brightway - 错误更新brightway (database_parameters)
尝试更新 Brightway 时出现错误。
做完之后
我收到警告,因为有两种可能的包分辨率,但更新为 bw2data 3.1 和 bw2io 0.5.11
现在,如果我尝试导入 Brightway,我会收到一条导入错误消息
无法导入名称“database_parameters”
已解决:我更新了 conda,然后我可以将 bw2io 更新到版本 0.6.RC3,现在我在导入 Brightway 时没有任何错误消息。
brightway - 将 Ecoinvent 2.2 Ecospold 文件导入 Brightway
我试图使用以下代码(图1)将 Ecoinvent v2.2 导入 Brightway。我遵循以下代码:https ://github.com/PoutineAndRosti/Brightway-Seminar-2017/blob/master/Day%201%20AM/2%20-%20BW%20structure%20and%20first%20LCAs.ipynb
我获得了从 Simapro(连接到 ecoinvent 数据库)下载的所有 XML(ecospold 文件),并将所有数据文件保存到文件夹:C:\bw2-python\ecoSpold1。
但是,当我运行下一步时,我遇到了以下错误: 图2
我不确定这里有什么问题。任何建议都会非常有帮助!
import - SingleOutputEcospold1Importer 返回“NameError: name 'filename' is not defined”
我正在尝试导入 ecoinvent 3.4 截止数据库,所以我写道:
[...]
我得到答案:
NameError:名称“文件名”未定义。
它还表明问题出现在使用的线路上SingleOutputEcospold1Importer
。
您知道我犯了什么错误以及如何安排代码吗?
brightway - 在用户定义的目录上使用项目目录运行 Brightway
Brightway 存储项目和所有相关组件的默认目录由appdirs
. 确实,在 中bw2data.projects
,项目目录设置为:
data_dir = appdirs.user_data_dir(LABEL, "pylca")
例如,对于我的 Windows 安装,这是 C:\users\me\AppData\Local\pylca\Brightway3。
我希望我的一个项目位于基于外部网络的磁盘上。这是一个二手项目,而不仅仅是冷藏。Brightway 中是否有更改项目位置的功能?
brightway - 在 Brightway 中有效保存采样矩阵值
我想为技术圈和生物圈矩阵堆叠和存储采样值,以便有效地重用(例如用于敏感性分析)。现在专注于技术领域矩阵,这就是我所拥有的:
- 保存的 CSR 稀疏矩阵,每个 Monte Carlo 迭代一个
- 和
activity_dict
(product_dict
范围=LCA 对象) mapping
字典(范围=项目)
我最终想要的是:
(1) 一个数组,其中行是我的技术领域矩阵中的非零元素,列是不同的蒙特卡罗迭代;和
(2) 确定第i行所指内容的某种方式。
我知道我可以简单地:
将我的 CSR 稀疏矩阵转换为 COO(即
coo_matrix = mc.technosphere_matrix.tocoo()
)并 hstack 生成的 COO 矩阵data
将一个 coo_matrix的
row
and存储col
为数组(例如coo_rows=coo_matrix.row
andcoo_cols=coo_matrix.col
)。这些索引对于我的所有矩阵都是相同的。使用
product_dict
and的反面activity_dict
来确定每个元素所指的内容。例如,要知道我的 hstacked 数据中的第i行指的是什么,我可以使用reverse_activity_dict[coo_cols[i]]
获取我的
活动名称reverse_product_dict[coo_rows[i]]
来获取我的产品。
然而,这并没有利用已经优化的brightway功能......我只是看不到如何使用这些功能。
答案可能就在这里,但遥不可及……
作为奖励:我的 MC 迭代可能来自具有不同mapping
s 的不同项目(但具有相同的数据库名称)。