Skip to main content

Python based tools for working with LCA foreground model disclosures

Project description

lca_disclosures

Python based tools for working with LCA foreground model disclosures

Disclosure framework based on "Disclosure of product system models in life cycle assessment: achieving Transparency and Privacy" by Brandon Kuczenski in J Ind Ecol. (doi: 10.1111/jiec12810)

This package was originally authored by James Joyce. Code and testing related to Brightway 2 have been branched into the lca_disclosures_bw2 repository so as to remove dependencies from the core program. The original repository lca_disclosures is still operational.

Supported software frameworks

The lca_disclosures repository supports the generation of a disclosure specification from the following software:

Support (and testing) for Brightway2 is available in the original repository lca_disclosures.

Usage

To use the disclosure framework, instantiate the appropriate Disclosure subclass and supply it with the software-specific input data. The disclosure object can be used to answer questions about the model:

  • listing foreground flows, background flows, and emissions;
  • identifying cutoff flows (flows that exit the model boundary with no impacts);
  • performing an aggregation of the model into a unit process

The disclosure object can also be serialized to JSON or saved as an Excel spreadsheet.

Requirements

  • pandas, to write to excel
  • scipy, to perform matrix operations

Contents of an LCA Disclosure

A disclosure has six parts, including three lists of flows:

  • i An ordered list of foreground flows, beginning with the functional unit of the system (length = p);
  • ii An ordered list of flows from background processes or activities (length = n);
  • iii An ordered list of environmental or social "emissions" (length = m).

And three sparse matrix specifications:

  • iv A list of nonzero entries in the p x p sparse matrix defining the foreground;
  • v A list of nonzero entries in the n x p sparse matrix defining the foreground's dependency on the background;
  • vi A list of nonzero entries in the m x p sparse matrix defining the foreground's direct emissions.

A visual representation of the disclosure is found in Figure 3 of the above paper:

Graphical depiction of an LCA disclosure

Development

The base Disclosure class is abstract, and a subclass must be created for each supported software type. A subclass must populate the following methods:

  • _prepare_efn() returns the evaluated filename used to store disclosure serializations.
  • _prepare_disclosure() returns a 6-tuple corresponding to the 6 disclosure elements, in the order listed above.
  • __init__() must be written to handle input data and then call the superclass __init__, which computes _prepare_disclosure() and stores the output.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lca_disclosures-0.2.0rc2.tar.gz (21.0 kB view hashes)

Uploaded Source

Built Distribution

lca_disclosures-0.2.0rc2-py3-none-any.whl (23.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page