+1 vote

When there a co-products in a process and “none” is chosen for allocation, the process is double counted in the Tec-matrix (all flows exempt the product and coproduct of the process are double counted). Is this by purpose? Wouldn’t it be more coherent to automatically allocate 0 impact to the co-product?

+1 vote

Best answer

When we say no allocation in openLCA, it means "pull in the processes into the technology matrix A and intervention matrix B according their product demand without applying any allocation factors".

Here is a small example: suppose we have a process `p1` that has an output of 0.5 units of product `p11`, 1.5 units of product `p12`, and 2.0 units of emission `e1`. Then there are two processes `p2` and `p3` that consume one unit of `p11` and `p12` respectively. Finally, there is a process `p4` that consumes one unit of `p2` and `p3`. Here is the product system graph of that example:

and the model in a tiny syntax (`->` means output, `<-` means input):

p1 -> 0.5 p11

p1 -> 1.5 p12

p1 -> 2.0 e1

p2 <- 1.0 p11

p3 <- 1.0 p12

p4 <- 1.0 p2

p4 <- 1.0 p3

For the example the technology matrix then looks like this:

A = [ 0.5 0.0 -1.0 0.0 0.0 ; *# p11*

0.0 1.5 0.0 -1.0 0.0 ; *# p12*

0.0 0.0 1.0 0.0 -1.0 ; *# p2*

0.0 0.0 0.0 1.0 -1.0 ; *# p3*

0.0 0.0 0.0 0.0 1.0 ] *# p4*

The intervention matrix B then looks like this when allocation is set to `none` (no allocation factor is applied for `p11` and `p12`):

B = [ 2.0 2.0 0.0 0.0 0.0]

Now, when we want to calculate the system for one unit of `p4`, so we have a demand vector:

d = [ 0.0 ; *# p11*

0.0 ; *# p12*

0.0 ; *# p2*

0.0 ; *# p3*

1.0 ] *# p4*

we get the result `g = B * (A \ d)` of `5.333` units of `e1` (note that openLCA also reports the unlinked product amounts in this case).

When we apply allocation factors in process `p1` based on the product amounts we get a factor of `0.25` for `pp1` and 0.75 for product pp2. In the example above, only the intervention matrix changes:

B = [ 0.5 1.5 0.0 0.0 0.0]

... and we get the result of 2.0 units of `e1`.

0 votes

Hello Tim! I mean the technology matrix, which can be exported from OpenLCA to a CSV. as far as I understood, results are calculated from the technology matrix. It reflects basically the model graph. However, I have doubts about how co-products are treated in this technology matrix.

Dear Susanne,

now I see what you mean. Could you maybe provide a screenshot of the matrix, and highlight the areas you're referring to?

now I see what you mean. Could you maybe provide a screenshot of the matrix, and highlight the areas you're referring to?

Hello Tim!

Unfortunately I don't know how to add a screenshot here. However, I will try to better explain my doubt in words: lets suppose we model a process internal recycling, where a co-product is redirected to another process of our product system. For such a product system the process which produces the co-product appears two times in the technology matrix. If I use allocation factors (physical, economic or causal), the results are calculated correctly. However, if I choose “no allocation”, the multifunctional process is counted two times, showing misleading results.

When a started using OpenLCA, I thought that “no allocation” would mean that all burden would be automatically allocated to the main product (the quantitative reference). This is why I was surprised when I found out about the double counting, and I am curious to find out if this happens by purpose or if this is a point which could be improved in the program.

I’d be happy to provide screenshots, if I just found the function on the site

Thank you very much for your attention.

Unfortunately I don't know how to add a screenshot here. However, I will try to better explain my doubt in words: lets suppose we model a process internal recycling, where a co-product is redirected to another process of our product system. For such a product system the process which produces the co-product appears two times in the technology matrix. If I use allocation factors (physical, economic or causal), the results are calculated correctly. However, if I choose “no allocation”, the multifunctional process is counted two times, showing misleading results.

When a started using OpenLCA, I thought that “no allocation” would mean that all burden would be automatically allocated to the main product (the quantitative reference). This is why I was surprised when I found out about the double counting, and I am curious to find out if this happens by purpose or if this is a point which could be improved in the program.

I’d be happy to provide screenshots, if I just found the function on the site

Thank you very much for your attention.