Emergy evaluation (EME) is an environmental assessment method which is
gaining international recognition and has increasingly been applied during the last
decade. Emergy represents the memory of the geobiosphere exergy
(environmental work) – measured in solar emjoules (seJ) – that has been
used in the past or accumulated over time to make a natural resource available. The
rationale behind the concept of Emergy is the consideration that all
different forms of energy can be sorted under a hierarchy and measured with the common
metric of the seJ, which is then the yardstick through which all energy inputs and outputs
can be compared with each other. For this reason EME is suggested to be a suitable method
of environmental accounting for a wide set of natural resources, and can be used to define
guidelines for sustainable consumption of resources. Despite those interesting features,
EME is still affected by several drawbacks in its calculation procedures and in its
general methodological background, which prevent it from being accepted by a wider
community. The main operational hurdle lays in the set of mathematical rules (known as
Emergy algebra rules) governing EME, which do not follow logic of
conservation and make their automatic implementation very difficult. This work presents an
open source code specifically created for allowing a rigorous Emergy
calculation (complying with all the Emergy algebra rules). We
modeled the Emergy values circulating in multi-component systems with an
oriented graph, formalized the problem in a matrix-based structure and developed a variant
of the well-known track summing algorithm to obtain the total
Emergy flow associated with the investigated product. The calculation
routine (written in C++) implements the Depth First Search (DFS) strategy for graph
searches. The most important features of the calculation routine are: (1) its ability to
read the input in matrix form without the need of drawing a graph; (2) its rigorous
implementation of the Emergy rules; (3) its low running time, which makes
the algorithm applicable to any system described at the level of detail nowadays made
possible by the use of the available life cycle inventory (LCI) databases. A version of
the Emergy calculation routine based on the DFS algorithm has been
completed and is being tested on case studies involving matrices of thousands of rows and
columns, describing real product production systems.