bw2calc.method_config#

Classes#

MethodConfig

A class that stores the logical relationships between impact categories, normalization, and

Module Contents#

class bw2calc.method_config.MethodConfig[source]#

Bases: pydantic.BaseModel

A class that stores the logical relationships between impact categories, normalization, and weighting.

The basic object in all three categories is an identifying tuple, i.e. tuples of strings. These tuples have no length restrictions.

impact_categories is a list of tuples which identify each impact category (bw2data.Method).

normalizations link normalization factors to impact categories. They are optional. If provided, they take the form of a dictionary, with keys of tuples which identify each normalization (bw2data.Normalization), and values of lists of impact categories tuples.

If normalizations is defined, all impact categories must have a normalization.

weightings link weighting factors to either normalizations or impact categories. They are optional. If provided, they take the form of a dictionary, with keys of tuples which identify each weighting (bw2data.Weighting), and values of lists of normalizations or impact categories tuples. They keys identify the weighting data, and the values refer to either impact categories or normalizations - mixing impact categories and normalizations is not allowed.

If normalizations is defined, all impact categories or normalizations must have a weighting.

The identifying tuples for impact_categories, normalizations, and weightings must all be unique.

Example

```python {

“impact_categories”: [

(“climate change”, “100 years”), (“climate change”, “20 years”), (“eutrophication”,),

], “normalizations”: {

(“climate change”, “global normalization”): [

(“climate change”, “100 years”), (“climate change”, “20 years”),

], (“eut european reference”, “1990”): [

(“eutrophication”,),

]

}, “weightings”: {

(“climate change”, “bad”): [

(“how bad?”, “dead”, “people”)

], (“eutrophication”, “also bad”): [

(“how bad?”, “dead”, “fish”)

]

}

}#

normalizations_cover_all_impact_categories()[source]#
normalizations_reference_impact_categories()[source]#
normalizations_unique_from_impact_categories()[source]#
weightings_cant_have_mixed_references()[source]#
weightings_cover_all_impact_categories()[source]#
weightings_cover_all_normalizations()[source]#
weightings_reference_impact_categories_or_normalizations()[source]#
weightings_unique_from_impact_categories()[source]#
weightings_unique_from_normalizations()[source]#
impact_categories: Sequence[tuple[str, Ellipsis]][source]#
normalizations: dict[tuple[str, Ellipsis], list[tuple[str, Ellipsis]]] | None = None[source]#
weightings: dict[tuple[str, Ellipsis], list[tuple[str, Ellipsis]]] | None = None[source]#