The Activity Browser — An open source LCA software building on top of the brightway framework

The Activity Browser is an open source software for advanced Life Cycle Assessment (LCA). The Activity Browser provides a graphical user interface (GUI) to the brightway LCA framework and makes common tasks such as managing projects and databases, modeling life cycle inventories, and analyzing LCA results easier and more intuitive. In addition, it provides advanced features for LCA modeling and data analyses and thus facilitates state-of-the-art LCA research. It can be extended to implement novel LCA modeling approaches and analyses as needed.


Introduction
Life Cycle Assessment (LCA) is a method for assessing potential environmental impacts associated with products and services over their life cycle [1]. LCA is frequently used to inform decisions, for example in designing sustainable technology or policy making [2]. While different LCA software has been developed over the last two decades (e.g. SimaPro, GaBi, and OpenLCA), the research community has always developed their own software implementations that could be adapted and extended to build advanced, non-standard LCA models. Brightway version 2 has been developed since 2012 as an open source Python based LCA framework [3], and has seen wide use throughout the research community. and has led to many innovative LCA * Corresponding author. E-mail address: b.r.p.steubing@cml.leidenuniv.nl (B. Steubing). approaches, including fast dynamic LCA with custom convolution functions [4], regionalized LCA [5], linking parameterized LCA with building energy models [6], screening and global sensitivity testing with large LCA databases [7], and incorporating LCA into manufacturing process models [8].
The Activity Browser (AB) is an open source software for advanced LCA that builds upon brightway. It has two main purposes: (i) to provide a graphical user interface (GUI) to brightway and thus to act as a productivity tool for many standard LCA tasks (ii) to act as an open source LCA software that can be extended to include novel and advanced modeling approaches and related analyses wherever a GUI support is helpful. The development of the AB started soon after brightway version 2 was released, and the code can be roughly divided into two parts: (a) code that translates user commands into underlying brightway functions, e.g. writing data to a database or calculating LCA results; (b) code that is related to the user interface itself (windows, wizards, buttons, etc.) or to the display of information (figures, tables, etc.). To some extent, the AB also contains code that extends or introduces new functionality, such as data and calculation routines not available in brightway. However, the design philosophy is to keep such code at a minimum and implement changes or additional functionality where required directly in underlying brightway packages. The AB is mainly written in Python and makes use of the Qt framework, which is a cross platform framework for building GUIs. For certain elements, such as Sankey diagrams, Javascript and HTML are used as well.

Key features
The following provides an overview of some of the features of the Activity Browser.

Managing projects and databases
In brightway, each project is an independent set of inventory databases, life cycle impact assessment methods, and other data and metadata. Each inventory database can have an arbitrary number of activities. Activities represent human controlled processes, which typically transform a number of inputs (e.g. natural resources or man-made products) to a specific output(s), and include emissions to environment. Activities in inventory databases are thus interlinked through their inputs and outputs, which are also called exchanges. The AB includes an import and export wizard for local databases and an import wizard to directly download commonly used databases from online repositories (e.g. the ecoinvent database). As some LCI databases have thousands of activities, the AB includes convenience functions for searching and filtering activities (see left side of Fig. 1).

Modeling life cycle inventories
Detailed activity information can be displayed (see right side of Fig. 1) and the AB facilitates the modeling of life cycle inventories, i.e. creating new activities or modifying and deleting existing ones. A drag-and-drop philosophy is adopted here, i.e. additional product inputs or outputs of activities can be defined by dragging and dropping activities from the ''Activities'' table (left side) to the detailed activity view (right side).

Graph explorer
LCI databases represent many complex supply chains of our economies. With increasing model sophistication, graphical tools are helpful for understanding these supply chains. Therefore, the AB introduces a Graph Explorer, which provides a graphical way of exploring the supply chains in LCI databases (Fig. 2). One of the standard LCI databases, the ecoinvent database [9], distinguishes between transforming activities (which can be either production processes or treatment activities) and transferring activities (consumption mixes called markets and market groups). To facilitate the exploration of supply chains, the AB makes use of this classification to display the activities in the graph using a color code for production activities, treatment activities, markets, and market groups. A unique feature of the Graph Explorer is that the user can start the exploration from an activity of interest and then expand the view up and down the supply chain, while removing activities that are not of interest, until a result is reached that supports the understanding of a particular supply chain or product lifecycle.

Parametrization
Activities can be fully parameterized, i.e. instead of using fixed numbers for the inputs and outputs, variables can be defined at the project or at the activity level to model any sort of physical relation that better represents the real nature (and potential non-linearity) of processes.

Scenario modeling
Scenario modeling is an important discipline within LCA [10,11]. The AB supports scenario modeling based on alternative values for parameters, i.e. each parameter can be associated with a range of values representing different scenarios and LCA results for these scenarios can be calculated and compared.

LCA calculation and result analysis
Brightway comes with a fast LCA calculation engine that can perform several LCA calculations per second. Users can calculate LCA results for several functional units and impact categories at once using so-called calculation setups. Once LCA results are calculated, several types of results are presented (Fig. 3): life cycle inventory, technosphere flows, and LCA results for all functional units and impact categories. In addition, contribution analysis results are presented for elementary flow and process contributions. Results can be either compared by functional unit or by impact categories. Further aggregations of the results are possible as well, e.g., by product, geographical location, or environmental compartment of emissions. All figures and tables can be exported to graphical or spreadsheet files. A Sankey diagram can be calculated to provide a visualization of the origins of environmental impacts across the lifecycle of products, which provides an intuitive and complementary perspective to the other means of analysis. Finally, the inputs and outputs of activities (exchanges) can be associated with uncertainty information. In order to shed light on the uncertainties associated with LCA results, Monte Carlo simulation can be performed within the AB.

Impact
Although the precise productivity impact of the AB is hard to quantify, the authors are aware of numerous LCA practitioners that use the AB in parallel to brightway, and in some cases also as a standalone GUI, i.e. without making use of brightway directly.
As a software framework for advanced LCA modeling, the AB has been used for implementing a modular LCA framework [12]. Within this framework, supply chains can be split into individual modules based on definitions by the user, which can comprise any number of activities. In cases, where alternative modules can be defined that deliver the same function, alternative supply chains may be derived. This provides an efficient way of modeling and screening scenarios wherever multiple alternatives exist in several parts of a supply chain. A graphical user interface has proven to be very valuable for defining individual modules. The modular LCA approach has been applied in several research applications, such as Suter et al. [13] to model the life cycle benefits of using wood products across the wood value chain and Mehr et al. [14] to identify optimal wood use cascades. Further applications of this approach are to use LCA modules as representations of life cycle stages, as input to an optimization problem, or in parallel to a Material Flow Analysis [12,15,16].
As the scientific community continues to develop better and increasingly sophisticated LCA models, there is a clear need for open software that can facilitate the implementation of new modeling approaches. While there are many possible directions for improvements, two features have recently been implemented in the AB in the MIN-TEA project [17] with the aim of improving the tools available to conduct  prospective LCA [18]: parameterized inventory models, which allow for better model fidelity than classic assumptions of purely linear systems, and semi-automated scenario analyses. These tools can help LCA practitioners to identify optimal design parameters in technological processes under uncertainty. Work is currently going on to further improve the way large-scale societal developments can be considered in prospective LCA, based on pioneer work by Mendoza Beltran et al. [19], and to implement approaches for quantifying global sensitivities of the input variables to an LCA.

When to use the activity browser?
Brightway and the Activity Browser can together be seen as two complementary layers to enhance productivity and innovation in life cycle assessment. LCA practitioners may chose at which layer to work  according to their needs. While this is true for both the modeling and the analysis of LCA results, both layers have distinctive advantages and disadvantages. For tasks that can be standardized, such as managing projects and databases, modeling life cycle inventories or calculating and analyzing LCA results, the use of brightway may not be the most productive choice, while the AB can significantly speed up these tasks, and thus represent a productivity tool for brightway users (Fig. 4). More importantly perhaps, the AB as an open and extendable software framework provides a means to practically implement innovations in LCA and make these available to the wider LCA community. Such innovations may include, but are certainly not limited to new scenario modeling approaches, uncertainty analyses, and global sensitivity analyses. This is where the AB can act as a true enabler for novel research and the further development of the LCA methodology. For LCA tasks that are difficult to standardize, on the other hand, such as modifying many activities according to specific rules or modeling entire LCI databases from other, potentially temporally and geographically explicit data sources, it is impractical to develop a dedicated GUI. For these situations, the use of brightway's functionality at the Python level is clearly recommended. However, even in these situations, the parallel use of the AB may prove to be useful by providing a means to analyze the data that has been modified at the brightway level and calculate and interpret corresponding LCA results.

Declaration of competing interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.