diff --git a/bw2io/strategies/locations.py b/bw2io/strategies/locations.py index 611133c..b615a6e 100644 --- a/bw2io/strategies/locations.py +++ b/bw2io/strategies/locations.py @@ -29,7 +29,44 @@ def update_ecoinvent_locations(db): - """Update old ecoinvent location codes""" + """ + Update location names in ecoinvent database to fix inconsistencies and standardize naming. + + Maps the old location names to the updated ones based on a predefined dictionary (GEO_UPDATE). + + Parameters + ---------- + db : list + A list of dictionaries representing ecoinvent processes with exchanges. + + Returns + ------- + list + A list of dictionaries representing the ecoinvent processes with updated location names. + + Examples + -------- + >>> db = [ + ... { + ... "name": "Process 1", + ... "location": "IAI Area 2, North America", + ... "exchanges": [{"name": "Flow 1", "location": "IAI Area 2, North America"}], + ... } + ... ] + >>> update_ecoinvent_locations(db) + [ + { + "name": "Process 1", + "location": "IAI Area, North America", + "exchanges": [{"name": "Flow 1", "location": "IAI Area, North America"}], + } + ] + + Notes + ----- + Includes a hardcoded mapping (GEO_UPDATE) to fix known inconsistencies in location names. This may not + cover all possible inconsistencies and might need to be updated in the future. + """ for ds in db: if "location" in ds: ds["location"] = GEO_UPDATE.get(ds["location"], ds["location"])