0 votes
361 views

First of all, thanks for making a nice tool!yes

I have found an issue, I think might be of interest to You.

It seems that the uncertainty for any given process which is included in the model applies the calculation regardless of that process general value is set to "0" due to some switch.

As an example of some electricity, where the provider is dependent og a global parameter called "param1", where this issue happens (I removed irrelevant headers):

Flow | Amount | Unit | Uncertainty

Electricity, low voltage | If(param1=1;1;0) | kWh | lognormal: gmean=0.150 gsigma=1.02

Electricity, low voltage | If(param1=2;1;0) | kWh | lognormal: gmean=0.150 gsigma=1.02

^ ... This will result in one of the processes to have the value 1, and the other to be 0, depending of whatever "param1" is set to.

The problem here is, that when you simulate this process (or an entire model, using this process a lot) using Monte Carlo, the LCIA results could get insanely high, and even way outside a realistic range, compared to the "regular" LCIA results. This also accumulates if nested processes with intrincic uncertainty is made. which could be rather a large problem.

Evidently, this could lead a system with GWP results of 4 tonnes CO2e (from LCIA) to have a mean of 80 tonnes of CO2e, with a 5% percentile around 40 tonnes... Which is next to impossibleangry

I'm not sure if it is generally common to create switches within the same system to try out several scenarios with the same model, I know of no other feasible way to do it.

However, my suggestion is twofold;

- Consider enabling the possibility to have the "mean" setting in the Uncertainty field, to follow whatever input is in the Amount field. As example: if the amount is 20, and I want to use a triangular dist. then i tick a box to use the Amount value, and mark i.e: "+10" and "-10" in the max/min fields.. this could also work for the other distributions.

- Consider making a failsafe, which inhibits the uncertainty function to be applied if the Amount field is set to 0.... I see no scenario where a manual setting of 0 could potenitally be any other amount.

in openLCA by (790 points)

1 Answer

0 votes
by (14.0k points)
selected by
 
Best answer

This is a known (and expected) behavior. I think there is a simple solution for this: you would create a local process parameter with the uncertainty distribution attached in the process:

ParameterValueUncertainty
local_param1.0  lognormal: gmean=0.150 gsigma=1.02 

For the exchange formula, you would then write `if(param=1; local_param;0)` instead.

If an uncertainty distribution is present for an exchange, it will always take the distribution parameters for generating values in a Monte Carlo simulation; ignoring what is in the general amount field. But true, openLCA should show a warning when a formula and uncertainty distribution are both present for an exchange.

by (790 points)
Thank You for that Michael,
I agree, a warning, or a setting for whether value (deterministic input or mean/geomean/mode, etc.) to prioritize.
...