0 votes
69 views
I have a problem: I create a model inside Ecoinvent and then I want create the database as library.

Inside the model I use global and process parameters. When I add the library to a database parameters are not inside the library they are not saved.

Why? Is it a bug?

Is there a method to create the library and parameters toghether?
ago in openLCA by (1.2k points)

1 Answer

0 votes
ago by (13.4k points)

A library is an immutable database tha can be even pre-calculated (but don't has to) to speed up calculation. For example, input-output databases like PSILCA or exiobase get massive reductions in the calculation durations, whereas for ecoinvent, the non-library database or the non-precalculated libraries in openLCA are already so fast in calculation speed that the speed advantage from pre-calculated libraries is not needed here.

But even if not pre-calculated, a library is an immutable database, meaning that it cannot be changed anymore. Because of this immutable nature, there is no possibility that modifiable parameters exist inside the library itself. Of course, parameters can still be used in the foreground processes that do not belong to the library, parameters can also be used in the foreground to vary inputs from the "background" library, but inside the library itself everything is fixed.

So when the library is created with openLCA, the set values of the parameters are "frozen" in and the parameter results are written into the exchange amount values. So the parameters do not exist anymore, but they are applied as set in the moment when the library is created. You will also see that, for example, different cost values inside a process are calculated for that process and put into the quantitative reference, or that units are changed to the reference unit of the specific unit group (and adapting the exchange amounts accordingly). So the library is kind of writing everything "in stone", but keeping the calculation results unchanged to the non-library database.

Do you have a use case when to use a library together with parameters inside that library? Why not using the non-library database for such cases?

ago by (1.2k points)
Thank you very much for the answer, everything is clear.
But I would like to use the library as background data that no one can modify and have the model in the foreground so that I can perform simulations and sensitivity analyses of some parameters.
Furthermore, I can create custom parameter sets for various clients/products without having an endless, hard-to-manage list.
I create a model as template and then personalize it with parameters.
How can I do that?

I coud create models inside a database but the problem is that all global paramenters become an infinite list and use of process parameters is difficult because you must remember where they are.
I think I’ve found a way, and this is what I do:
1. I create an empty database
2. I add the Ecoinvent 3.12 library downloaded from Nexsus
3. I import the model exported as JSON
This way, I have the parametric model and the Ecoinvent datasets running in the background.
There’s still one problem: I’m missing the custom methods (e.g. IPCC ISO 14067 downloaded from Nexsus or ISO 14064, which I created myself).
How can I sort this out?
This way, I use the original datasets without modifying them, and then I vary the parameters in the production system.

Thank you
ago by (13.4k points)
You can create and use parameters in your foreground. You can also connect provider from the library, but the exchange (belonging to the foreground and not the library) can have parameters and equations in it. If the parameter is inside the library, the library can be modified, so this is against the concept of the library.

When you create a product system, you can have parameter lists that you can save and also export and import via copy/paste. Also in the parameter list, you will see all processes that have paramters, listed and sorted by process. So you don't need to remember which process has internal paramters.

The way you describe is the standard way, that's good. Your foreground model can be in JSON, that's the easiest way to import, export, sharing it. And the library can be simply connected to a completely empty database.

The custom methods that you downloaded from Nexus or that you created yourself, you can also simply put into your foreground JSON model. When you export your model into JSON, you can select all processes that you created, and you can select all the methods that you created or that you want to have inside this JSON. When you later import the foreground JSON into your empty database with a library, the methods will be also there.

You can import and export any existing database element that you want into JSON.
ago by (1.2k points)
Thanks.
After I posted my comment I did in this way and it works exactly as I want!!!
It's interesting this solution, it could be used to develop a tool for systematic approach.
ask.openLCA is a question-and-answer (Q&A) website on Life Cycle Assessment (LCA).

It is also the public support platform for openLCA, openLCA Nexus and the LCA Collaboration Server.

Before asking questions please also consult our online manuals for openLCA and the LCA Collaboration Server.

Receive guaranteed and prioritised professional support via GreenDelta's help desk.

ask.openLCA is run by GreenDelta, the creators of openLCA.

openLCA

LCA Collaboration Server
...