Я сделал несколько изменений в моей базе данных lci, используя пакет python Wurst.Затем я переписал свою базу данных, используя write_brightway2_database()
.
Получение 16718 наборов данных, 462812 обменов и 0 несвязанных обменов.
Затем один раз, когда я пытаюсь вычислить оценку LCA с измененной базой данных, я получаю матрицу техносферы, которая не является квадратной, со следующимизмерение: 16718 действий (столбцы) и 16717 продуктов (строки).
Вот как я пытаюсь вычислить оценку LCA:
lca = LCA({db.random(): 1}, method=lcia_methods['CC'])
lca.lci()
lca.lcia()
print(lca.score)
Полученное сообщение об ошибке:
Неквадратная Техносфера: матрица Техносферы не квадратная: 16718 действий (столбцы) и 16717 товаров (строки).Используйте LeastSquaresLCA для решения этой системы или исправьте входные данные
Затем я попробовал следующее, плюс некоторые варианты, как рекомендовано здесь :
for a in Database("database"):
assert len(a.production()) == 1
Но нет всплывающего набора данных.
Я также пытался перед перезаписью своей базы данных из Wurst в формате BW2 сделать следующее:
producion = {}
for ds in db:
key = ds['code']
producion[key] = []
for exc in ds['exchanges']:
if exc['type'] == 'production':
producion[key].append(exc['name'])
for v in producion.values():
if len(v) != 1:
print(v)
Но, опять же, я не могу определить какой-либо проблемный набор данных, делающий это.
Существует ли простой способ определить, какое действие или какой продукт приводит к неквадратной матрице техносферы для исправления моих входных данных?