Problem analysing a product system - Formula evaluation failed (original ecoinvent files)

Post Reply
CBreton
Posts: 2
Joined: 11 Apr 2017 16:12

Problem analysing a product system - Formula evaluation failed (original ecoinvent files)

Post by CBreton » 11 Apr 2017 16:26

Hi,

I am currently having problems analysing a product system using OpenLCA 1.5.0 and the EcoInvent_3_3_cutoff_u database. At first, the analysis wouldn't complete at all. I then increased the maximal memory usage from 3072MB to 5000MB, which solved the problem.

However, now the analysis returns a long list of zeros for nearly every item in the LCI. I tried using TRACI2.1 and Recipe Endpoint (H) and received similar results. I get several error messages saying "Formula evaluation failed, exchange #######". Most errors seem to be related to "lexical errors", but some are also related to "Unknown variable inputs".

Has anyone faced this problem before and if so, what did you do to solve it? I copied two examples from the log file below, if that helps.

Thank you,

Charles

***
org.openlca.expressions.InterpreterException: Evaluation of expression LiveLink('\\Fs01\Gabe\_LCA\Ecoinvent\v3\v3 data\Livelink data for ecoeditor\Passenger_car_exhaust_emissions.xls','CNG','E42','', 'Automatic') failed: Lexical error at line 1, column 10. Encountered: "\'" (39), after : ""
at org.openlca.expressions.Scope.eval(Scope.java:60)
at org.openlca.core.matrix.ExchangeCell.tryEval(ExchangeCell.java:39)
at org.openlca.core.matrix.ExchangeCell.eval(ExchangeCell.java:29)
at org.openlca.core.matrix.ExchangeMatrix.lambda$1(ExchangeMatrix.java:83)
at org.openlca.core.matrix.ExchangeMatrix$$Lambda$26/1340551858.apply(Unknown Source)
at org.openlca.core.matrix.ExchangeMatrix.iterate(ExchangeMatrix.java:115)
at org.openlca.core.matrix.ExchangeMatrix.eval(ExchangeMatrix.java:82)
at org.openlca.core.matrix.Inventory.evalFormulas(Inventory.java:71)
at org.openlca.core.matrix.Inventory.createMatrix(Inventory.java:39)
at org.openlca.core.math.SystemCalculator.calculator(SystemCalculator.java:50)
at org.openlca.core.math.SystemCalculator.calculateFull(SystemCalculator.java:41)
at org.openlca.app.editors.systems.CalculationWizard$Calculation.analyse(Unknown Source)
at org.openlca.app.editors.systems.CalculationWizard$Calculation.run(Unknown Source)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Caused by: org.openlca.expressions.TokenMgrError: Lexical error at line 1, column 10. Encountered: "\'" (39), after : ""
at org.openlca.expressions.FormulaParserTokenManager.getNextToken(FormulaParserTokenManager.java:590)
at org.openlca.expressions.FormulaParser.jj_ntk(FormulaParser.java:596)
at org.openlca.expressions.FormulaParser.function(FormulaParser.java:366)
at org.openlca.expressions.FormulaParser.element(FormulaParser.java:335)
at org.openlca.expressions.FormulaParser.unary(FormulaParser.java:305)
at org.openlca.expressions.FormulaParser.power(FormulaParser.java:257)
at org.openlca.expressions.FormulaParser.term(FormulaParser.java:209)
at org.openlca.expressions.FormulaParser.realsum(FormulaParser.java:173)
at org.openlca.expressions.FormulaParser.compare(FormulaParser.java:110)
at org.openlca.expressions.FormulaParser.logicalAnd(FormulaParser.java:90)
at org.openlca.expressions.FormulaParser.logicalXor(FormulaParser.java:70)
at org.openlca.expressions.FormulaParser.logicalOr(FormulaParser.java:50)
at org.openlca.expressions.FormulaParser.expand(FormulaParser.java:44)
at org.openlca.expressions.FormulaParser.parse(FormulaParser.java:39)
at org.openlca.expressions.Scope.tryEval(Scope.java:68)
at org.openlca.expressions.Scope.eval(Scope.java:58)
... 13 more

***
org.openlca.expressions.InterpreterException: Evaluation of expression carbon_dioxide failed: Evaluation of variable carbon_dioxide failed: Unknown variable bagasse_input at line 1, column 12 at line 1, column 1
at org.openlca.expressions.Scope.eval(Scope.java:60)
at org.openlca.core.matrix.ExchangeCell.tryEval(ExchangeCell.java:39)
at org.openlca.core.matrix.ExchangeCell.eval(ExchangeCell.java:29)
at org.openlca.core.matrix.ExchangeMatrix.lambda$1(ExchangeMatrix.java:83)
at org.openlca.core.matrix.ExchangeMatrix$$Lambda$26/1340551858.apply(Unknown Source)
at org.openlca.core.matrix.ExchangeMatrix.iterate(ExchangeMatrix.java:115)
at org.openlca.core.matrix.ExchangeMatrix.eval(ExchangeMatrix.java:82)
at org.openlca.core.matrix.Inventory.evalFormulas(Inventory.java:71)
at org.openlca.core.matrix.Inventory.createMatrix(Inventory.java:39)
at org.openlca.core.math.SystemCalculator.calculator(SystemCalculator.java:50)
at org.openlca.core.math.SystemCalculator.calculateFull(SystemCalculator.java:41)
at org.openlca.app.editors.systems.CalculationWizard$Calculation.analyse(Unknown Source)
at org.openlca.app.editors.systems.CalculationWizard$Calculation.run(Unknown Source)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Caused by: org.openlca.expressions.ExpressionException: Evaluation of variable carbon_dioxide failed: Unknown variable bagasse_input at line 1, column 12 at line 1, column 1
at org.openlca.expressions.VariableFunction.evaluate(VariableFunction.java:34)
at org.openlca.expressions.Scope.tryEval(Scope.java:71)
at org.openlca.expressions.Scope.eval(Scope.java:58)
... 13 more

aciroth
Posts: 750
Joined: 09 May 2010 23:28

Re: Problem analysing a product system - Formula evaluation failed

Post by aciroth » 11 Apr 2017 21:08

Hello Charles,
this is one reason why we recommend using the ecoinvent databases from openLCA Nexus and not from ecoinvent directly, i.e. not the original ecoinvent files; in these, many parameters are incorrectly specified, or contain links to harddrives of persons involved in the editing and creation of the datasets (as e.g. the first one "'\\Fs01\Gabe\_LCA\Ecoinvent\v3\v3 data\Livelink data for ecoeditor\Passenger_car_exhaust_emissions.xls". This is a topic in the forum since the release of ecoinvent 3.
Best wishes,
Andreas

p.s.: I took the liberty to add the brackets to your post title, I hope this is ok

CBreton
Posts: 2
Joined: 11 Apr 2017 16:12

Re: Problem analysing a product system - Formula evaluation failed (original ecoinvent files)

Post by CBreton » 16 Apr 2017 14:06

Hi Andreas,

I see, thank you for your answer - I wasn't aware of this problem, I only recently started to work with EcoInvent 3.3. I'll then update my database with the EcoInvent files from the Nexus.

This raises another question. I have not modified the original EcoInvent files, but I do use them as back-end data as "provider" for several fluxes in my front-end modelling. Is there a way I can simply replace the original files currently in my database by the ones available on OpenLCA Nexus? Would importing the 'new' database override the existing files that share identical names, or would that cause errors?

If I put this another way, since 'providers' refer to a process by its name, would this link stay true in the event that the database from OpenLCA overrides the problematic original one?

Many thanks,

Charles

aciroth
Posts: 750
Joined: 09 May 2010 23:28

Re: Problem analysing a product system - Formula evaluation failed (original ecoinvent files)

Post by aciroth » 17 Apr 2017 13:44

Hi Charles,
if this is not too many providers, you can use the "bulk replace" option now in openLCA 1.6.2:
2017-04-17 13_33_40-openLCA 1.6.2.png
2017-04-17 13_33_40-openLCA 1.6.2.png (8.35 KiB) Viewed 8977 times
Import the Nexus packs into the database you are working with, and perform the replacement. Afterwards you can export your product systems from that database, import the Nexus packs into a "fresh" openLCA database, and import there also your product systems, to get rid of the old ecoinvent files.
For many different providers, I would recommend a script, see here for possible starting points:
https://github.com/GreenDelta/openlca-python-tutorial. We could also support you if you like.
Best wishes,
Andreas

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest