bw2regional.lca.extension_tables

Module Contents

Classes

ExtensionTablesLCA

Perform regionalized LCA calculation, using biosphere flow- and activity-specific extension tables.

class bw2regional.lca.extension_tables.ExtensionTablesLCA(*args, **kwargs)[source]

Bases: bw2regional.lca.base_class.RegionalizationBase

Perform regionalized LCA calculation, using biosphere flow- and activity-specific extension tables.

The calculation formula is:

\[h_{r} = \left[ \textbf{MN}_{dx} \textbf{DXN}_{g} \textbf{GR} \right]^{T} \circ [ \textbf{B} \cdot (\textbf{A}^{-1}f) ]\]

Extension tables provide detailed information on the spatial pattern of occurrence for one, some, or all activities, and one, some, or all of their environmental flows. In contrast with background loadings, which are on the spatial scale of impact assessment, extension tables provide data on a new spatial scale which is linked to inventory activities. This third spatial scale (inventory, impact assessment, and extension table) makes the calculation formula more complicated, and makes two normalization steps necessary.

Foo

X is the extension table mapping matrix, a diagonal matrix that indicates the relative importance of each extension table spatial unit. It has dimensions of extension spatial scale by extension spatial scale.

\(N_{x}\) is the extension

L is the extension table

The idea of extension tables is rather flexible, and this class supports limiting activities and flows with the limitations object:

limitations = {
    'activities': list of activities to include/exclude,
    'activities mode': 'exclude',  # or 'include',
    'flows': list of flows to include/exclude,
    'flows mode': 'exclude',  # or 'include'

}

The limitations object can have activities, flows, or both. An exclude mode means that these activities or flows are removed from the regionalized matrices; an include mode means that only the specified activities and flows are kept. The default mode is include.

matrix_labels = ['biosphere_mm', 'distribution_mm', 'geo_transform_mm', 'inv_mapping_mm', 'reg_cf_mm',...[source]
after_matrix_iteration()[source]
apply_cf_matrix_limitations()[source]
apply_inv_mappinig_limitations()[source]
build_distribution_normalization_matrix()[source]

Get normalization matrix for inventory-xtable mapping. Normalizes to

\[( \textbf{N}_{dx} )_{i, i} = \left[ \sum_{j} \textbf{DX}_{i, j} \right]^{-1}\]
build_geo_transform_normalization_matrix()[source]

Get normalization value for areas in each IA spatial unit:

\[( \textbf{N}_{g} )_{i, i} = \left[ \sum_{j} \textbf{G}_{i, j} \right]^{-1}\]
check_geocollection_intersections()[source]
create_distribution_matrix()[source]

Get distribution matrix, D, which provides the area of inventory spatial units in each extension table spatial unit. Rows are inventory spatial units and columns are extension table spatial units.

create_geo_transform_matrix()[source]

Get geographic transform matrix G, which gives the intersecting areas of inventory and impact assessment spatial units. Rows are inventory spatial units, and columns are impact assessment spatial units.

Uses self.inv_spatial_dict and self.ia_spatial_dict.

Returns:

Parameter array with row/col of inventory and IA locations * geo_transform_matrix: The matrix G

Return type:

  • geo_transform_params

create_xtable_matrix()[source]

Diagonal extension table matrix that indicates the extension table density value in each extension table spatial unit.

get_xtable_geodata()[source]
lcia_calculation()[source]

Do regionalized LCA calculation.

Creates self.characterized_inventory.

load_lcia_data()[source]
needed_inv_xtable_intersections()[source]
needed_xtable_ia_intersections()[source]
results_ia_spatial_scale()[source]
results_inv_spatial_scale()[source]
results_xtable_spatial_scale()[source]