A scalable implementation of the track summing algorithm for Emergy calculation with Life Cycle Inventory databases

Emergy analysis is an environmental accounting approach that links thermodynamics and systems ecology to evaluate the work made by both natural processes and human activities to make a product or service available. Emergy is a measure of the energy used in the past and thus “memorized“ in the product, including also the energy spent by natural processes up to the main source (the sun). In order to compute this amount of solar energy (called solar energy equivalent) Emergy Evaluation (EME) uses conversion factors called transformities or Unit Emergy Values (UEVs), which express the amount of Emergy required per unit of a given product or service. This work aims to develop an operational tool for allowing the calculation of the Emergy associated to each of the commodities involved in a given product‟s life cycle along with its related inventoried resources. More specifically, the Emergy was calculated starting from a Life Cycle Inventory (LCI), which represents a list of environmental inputs and outputs (resource extractions and pollutant emissions) related to the production of a specific product. The motivation for our work is linked first of all to the consideration that, while Life Cycle Assessment (LCA) can nowadays avail itself of large LCI databases (such as Ecoinvent) which are constantly updated and extended, consistent libraries of UEVs for Emergy calculations do not exist. As a consequence, a methodology able to link LCI databases and emergy calculations and formalize the latter ones in a matrix form would represent an important step forward for Emergy-based environmental accounting. The case study tackled here deals with a simplified version of the production system of flat glass. We formalized the problem in a matrix-based structure which comes directly from the LCA framework and developed a variant of the track summing algorithm originally due to Tennenbaum (Tennenbaum 1988). Two versions of the algorithm were implemented: one in Scala (a general purpose programming language that smoothly integrates features of object-oriented and functional languages) and one in C++. The former is a multi-threaded breadth first search (BFS), the latter follows a depth first search (DFS) and is more efficient in terms of memory usage. The algorithm consisted in calculating Emergy flows separately per Emergy independent sources, then summing the results. Solving the problem at stake took an operation time of 1.37 seconds on a 2.4 GHz Intel Core 2 Duo laptop running Mac OS X. The results were validated using the software Emsim, a free-share Emergy simulator that can work with lifecycle systems using a graph instead of a matrix. However, Emsim does not allow a direct link to automatic calculation routines, since it requires the system‟s diagram to be drawn by the operator. The promising result obtained will enable us to scale-up the method, possibly using the whole Ecoinvent database. This would allow the achievement of a reproducible, consistent, and transparent calculation of Emergy values for thousands of products of a LCI database. Furthermore, the algorithm could be applied case by case to specific product‟s life cycles modelled using conventional LCA software tools like Simapro, allowing an exact calculation of the Emergy associated to the studied products and therefore a complete combination of LCA and Emergy perspectives in environmental assessment.