Antelope LCAAn API for Life Cycle Assessment Modelsand LCIA resultsISSST 2015Dearborn, MI May 18-20
Brandon Kuczenski and Sabina Beraha – UCSB – ISBER Supported by CalRecycle #DRR 13026
spirit-animals.com
So you’ve done an LCA…
How do you share it with the world?
LCA Reports are “extensive”• Long, information-dense, accessible only to
experts• Static: reports results generated from a
snapshot (or a few) of the model– Only includes the authors’ view
• Unstructured: requires heroic interpretation and data adaptation efforts to re-use data or results– Not to mention, a lot of copy-paste– Makes transparency hard
• Good for ISO review panels (to have something to pore over) and institutional funders (to show that a lot of work was done)
Bad for data users, policy makers, and the general public
What would a data user want to do?• Understand model structure, system boundary,
assumptions, data sources• Validate results• Reproduce results; Parameterize results• Perform independent Sensitivity and Scenario
analysis• Extract data, adapt data, test hypotheses
Don’t you want your data users to be happy?
Take my word for it…
0.01
0.1
1
10
100
1000
ratio
of i
ndic
ator
res
ults
(G
aBi/
Sim
aPro
)
ILCD recommended methods
Q2
Q3
Mean
Sign inversions, due to metal uptake
2 7
Factor 1000 error in GaBi for flow Radon 222 long-term to air
Preliminary diagnosis - Results overview – ILCD recommended methods
Speck et al (2015) J. Ind Ecol DOI: 10.1111/jiec.12245 Lesage et al, unpublished
• Most LCAs are made with standard data, at least in the background (Ecoinvent, GREET, US LCI, etc.)
• LCIA Methods should all be standard• Reproducing a study should be easy, but in practice nothing
is straightforward • This is a crisis of provenance
A Web Service for LCA Publishing• Provide a mechanism for LCA study authors to
reproduce their models and study results on the web for data users to access and validate
• Provide a structured representation of the product system model
• Provide the exact LCIA factors used to compute results• Provide static web addresses to obtain LCIA results for
model components• Allow users to adjust the model by specifying custom
scenarios and parameters• Allow access to the source LCI data in XML formats
(ILCD)• Nicknamed “Antelope” for swiftness and agility
ILCD Format• Provides “almost” all entity
types involved in LCA• (Product system models are
the major exception)• Nice schemas and
stylesheets for formatting and data validation
Wolf, Düpmeier, Kusche (2011) EnviroInfo
Life Cycle Inventory Fragments
• Inventory models describe industrial processes• Fragments describe inventory models as trees• Inventory data are referenced to external data sets (ILCD)
Fragments are Workflow models
• Preparing an LCI model is like building a workflow for a physical product• Acyclic foreground model is kept distinct from background (with loops)• Background LCI results are pre-computed
FragmentFlow Model• Fragment Definition:
– FragmentFlowID sequential key– ParentFragmentFlowID (null for reference flow)– FlowUUID– Direction relative to parent– Name– Stage for aggregation– NodeType “activity” or “exchange”– TargetUUID for activities: how to terminate
• Computed during traversal:– ProcessID or FragmentID– NodeWeight– FlowMagnitude (1 for reference flow)– isBackground
Tool Design and Data flow
REST APIREST = “REpresentational State Transfer” has two main principles:• The back-end of the tool is “stateless,” meaning the same
request will always provide the same information– User-generated parameters weaken this provision, but the use of
a computation cache reinforces it. – The cache is recomputed before the request is answered, so the
back-end is never “out-of-state”• Resources returned by the tool should link to other relevant
resources– This is not commonly done in practice– In place, allows a user with no knowledge of the data structure to
explore and to discover resources
Why use a web service?• Web-based resources can encapsulate LCI
computations • A static URI provides a provenance framework for the
results (“says who?” “says me, right here!”)• Data user can determine the level of trust• Web resources can be linked semantically
But especially:• Separates the task of data delivery from data
presentation
Sample QueryQuery: http://localhost:60393/api/processes/1Response:[{ "processID": 1, "referenceYear": "2013", "geography": "US", "referenceTypeID": 1, "dataSource": "Full UO LCA Flat Export BK", "hasElementaryFlows": true, "name": "Metal Emissions, DK MDO", "uuid": "01c96a9f-aeb1-4c5f-bc36-5de9638799f9", "version": "00.00.000", "links": [ { "rel": "reference", "href": "http://localhost:60393/xml/01c96a9f-aeb1-4c5f-bc36-5de9638799f9?version=00.00.000", "title": "Link to ILCD Data Set" }, { "rel": "self", "href": "http://localhost:60393/api/processes/1", "title": "Metal Emissions, DK MDO" }, { "rel": "process flows", "href": "http://localhost:60393/api/processes/1/processflows", "title": "Exchanges for Process"}, { "rel": "cumulative scores", "href": "http://localhost:60393/api/processes/1/lciaresults", "title": "Cumulative LCIA results for all LCIA methods" }, { "rel": "detailed scores", "href": "http://publictest.calrecycle.ca.gov/lcatoolapi/api/processes/1/lciamethods/{x}/lciaresults", "title": "Detailed LCIA results for a single LCIA method" } ], "resourceType": "Process", "isPrivate": false }]
Data Resources• Standard LCA Data Types (from ILCD):– Processes, Flows, Flow Properties, LCIA Methods
• Formal descriptions of an inventory model– “Fragments” and FragmentFlows
• LCIA Computational results– Direct LCIA results for processes and fragments– Sensitivity analysis – Full list of resources at $URL/Help
LCIA Interpretive Support• Contribution Analysis
– Contributions of different nodes or stages in a fragment– Contribution of elementary flows to LCIA results
• Scenario Analysis– Scenarios are defined as deviations from the base scenario model– Several different parameter types:
• Dependency Params modify FragmentFlows• Flow property params (e.g. calorific value)• Flow composition params (special case of flow property params)• Composition-based dissipation factors• Ordinary ProcessFlow emission factors• LCIA Factors
– process / fragment substitution• for modeling different versions of the same process (e.g. 2012 vs 2013 data
year)
• Sensitivity analysis of LCIA results to parameter variations
Live beta test currently running
http://publictest.calrecycle.ca.gov/lcatoolfrontend/
• Slideshows of front-end application:– Top-level fragment; sankey– Sub-fragment– Process node – traversal details– LCIA Waterfalls– Process LCIA – emissions
• All information displayed is obtained via the API
View ControlSankey Diagram(Fragment)
Nodes
Processes
Sub-fragments
Flows
Fragment Navigation
LCIA Results
Reference flow determines activity level
Quantities from data set
Flow Magnitude = Quantity x Activity level
Balance flow magnitude determined from other flows with same unit
Link to data set
Fragment Navigation Go Back
Go Lower
Click for LCIA Method Info
Click to dismiss LCIA method
Emission Contribution Analysis
Click for DetailsMore LCIA Methods…
Conclusions and Future Work• Antelope API provides a provenance framework for LCA
models and results• User-specified scenario and sensitivity analysis• Access to source data sets• (Uncertainty analysis in the future?)• (User-driven fragment construction in the future?)• Acknowledgments:
– Sabina Beraha – front-end developer– Rachel Scanlon – supporting back-end developer– Robert Carlson – CalRecycle project manager– The lubricating oil consuming citizens of California– NSF #1539816 (CBET) – Travel to ISSST