brightway-lca / brightway2-data

Tools for the management of inventory databases and impact assessment methods. Part of the Brightway LCA framework.
https://docs.brightway.dev/
BSD 3-Clause "New" or "Revised" License
8 stars 21 forks source link

Design support for LCIA method families and complete methods #84

Open cmutel opened 3 years ago

cmutel commented 3 years ago

It is currently harder than it needs to be do a "complete" LCIA:

We need it to be easy to users to get a more complete LCIA picture. Specifically, we need:

  1. Input arguments to the LCA class that allow for labelled sectional inputs. Essentially, though the form will be different, it would be something like:
lca = bw2calc.MultiLCA([({functional unit}, data_objs, label), ...])

It might also make sense to have this input spec support multiple labelled functional units as well?

Key questions:

  1. Specification of how data is stored in the MultiLCA class

If the input arguments are lists, than we can store the supply_array, inventory, and characterized_inventory matrices as lists as well. Maybe we no longer need to store the characterized_inventory at all if we are running into memory problems, could calculate it dynamically (matrix multiplication is fast). To be complete, we should also have a solution for normalization and weighting as well.

  1. How do we store information about method families in bw2data?

We need to be explicit about assumptions, e.g. do we require normalization and weighting to be consistently there or not? Do we automatically traverse all "sub-methods", or require them to be manually added?

Do we need a new metadata store, similar to methods, normalizations, and weightings? The alternative is to add extra data to methods, but this seems suboptimal even when typing this sentence.

@StpdFox @bsteubing @dgdekoning I know you have thought about this for the AB, please provide some input!

@tngTUDOR You know about things, maybe you also have some inputs