Search code examples
brightway

Accounting for parameter change in LCIA


I have parametrized exchanges in a brightway process. I want to see how changes in the parameters change the results of the LCA. I can see that updating the parameters worked as the amount entry in my exchanges are modified. However, redo_lci(a) do not seem to notice the change in the exchanges' amounts.

Is there an efficient way to redo the LCIA while recomputing the minimal amount of elements? Namely:

  • if I only modify exchanges with the biosphere, I think I don't need to recompute the demand and inventory
  • if I only modify technosphere exchanges, I think I don't need to recalculate the biosphere matrix
  • if I modify both, then I guess I just have to recompute everything, anyway, so I should redo the LCA from scratch

Is this correct, and would there be a way avoiding unnecessary calculations in brightway?

Incidentally, shouldn't brightway detect that parameter changes make the LCA outdated and warn about it when calling redo_lci(a)?


Solution

  • This is an excellent question, and reflects the poor documentation currently available for parameterization. My fault, sorry!

    There is a strong divide between the library that does the data management, including formulas and variables, and the LCA calculations. The LCA calculation library (bw2calc) has no idea that you have changed parameter values, and there is no easy way to change a parameter value and have that reflected in the LCA matrices other than creating a new LCA object each time.

    However, there is an add-on library which was designed for exactly this use case: presamples. It is well documented and should work.