Как найти новых поставщиков техносферы и изменить ее местоположение в Brightway2

Я хочу создать новый набор данных по производству меди в 'CH' на основе текущего набора данных 'производство меди в AU'. Я пытался применить следующие функции, но последняя функция вернула "Не удается найти это местоположение". Кто-нибудь может помочь? Заранее спасибо!

data = w.extract_brightway2_databases(["ecoinvent 3.4 cutoff"])
copper_production = w.contains("name", "copper production")
musuizi=w.get_one(data,w.equals('location','AU'),copper_production)
musuizi2=w.transformations.geo.copy_to_new_location(musuizi, 'CH')
w.transformations.geo.relink_technosphere_exchanges(musuizi2,data,exclusive=True, drop_invalid=False, biggest_first=False, contained=False)

1 ответ

(Примечание: на самом деле этот вопрос касается библиотеки Wurst, а не Brightway)

Похоже, что есть некоторые ошибки из-за проблем синхронизации между базой данных ecoinvent и географическими определениями. В настоящее время вы можете сделать следующее:

import wurst as w
data = w.extract_brightway2_databases(["ecoinvent 3.4 cutoff"])

mapping = {
    "ASCC": "US-ASCC",
    "CSG": "CN-CSG",
    "FRCC": "US-FRCC",
    "HICC": "US-HICC",
    "IAI Area, Africa": 'IAI Area 1, Africa',
    "IAI Area, Asia, without China and GCC": 'IAI Area 4&5, without China',
    "IAI Area, Gulf Cooperation Council": 'IAI Area 8, Gulf',
    "IAI Area, North America, without Quebec": 'IAI Area 2, without Quebec',
    "IAI Area, Russia & RER w/o EU27 & EFTA": 'IAI Area, Europe outside EU & EFTA',
    "IAI Area, South America": 'IAI Area 3, South America',
    "MRO, US only": "US-MRO",
    "NPCC, US only": "US-NPCC",
    "RFC": "US-RFC",
    "SERC": "US-SERC",
    "SGCC": "CN-SGCC",
    "SPP": "US-SPP",
    "TRE": "US-TRE",
    "WECC, US only": "US-WECC",
}


def update_all_locations(data):
    for ds in data:
        ds['location'] = mapping.get(ds['location'], ds['location'])


update_all_locations(data)
copper_in_au = w.get_one(data, w.equals('location','AU'), w.contains("name", "copper production"))
copper_in_ch = w.transformations.geo.copy_to_new_location(copper_in_au, 'CH')
data.append(copper_in_ch)
w.transformations.geo.relink_technosphere_exchanges(
    copper_in_ch,
    data,
    contained=False
)
Другие вопросы по тегам