Weighted results

This method returns the weighted impact assessment result of the calculated product system. Mathematically, it is the impact assessment result \(h\) devided by the respective normalization values \(nv\) and multiplied with the respective weighting factors \(w\):

$$ diag(w) * diag(nv)^{-1} * h $$

RESTGET result/{result-id}/total-impacts/weighted
IPCresult/total-impacts/weighted
Python IPCResult.get_total_impacts_weighted
Return typeList[ImpactValue]

Examples

JSON-RPC via Fetch API

The example below shows the usage of this method using the JSON-RPC protocol via the Fetch API which is available in modern web-browsers or platforms like Deno.

  let resp = await fetch("http://localhost:8080", {
    method: "POST",
    body: JSON.stringify({
      jsonrpc: "2.0",
      id: 1,
      method: "result/total-impacts/weighted",
      params: {
        "@id": "546a1d13-3cae-4c9b-82d0-a18204b0c6eb",
      }
    })
  });
  let v = await resp.json();
  console.log(v);
  //{
  //  jsonrpc: "2.0",
  //  result: [
  //    {
  //      {
  //        impactCategory: {
  //          "@type": "ImpactCategory",
  //          "@id": "3bc1c67f-d3e3-3891-9fea-4512107d88ef",
  //          name: "Climate change",
  //          category: "EF 3.0 Method (adapted)",
  //          refUnit: "kg CO2 eq"
  //        },
  //        amount: 2.038186234380937
  //      },
  //    },

olca-ipc.py

The example below shows how to get weighted impact assessment results using olca-ipc.py:

import olca_ipc as ipc
import olca_schema as o

client = ipc.Client()

# get the impact assessment method
method = client.get(o.ImpactMethod, "bf665139-3159-45ef-9b00-f439251d2b5b")

# select the first normalisation & weighting set for the example;
# make sure the method has nw-sets
nwset = method.nw_sets[0]

# run a calculation
result = client.calculate(o.CalculationSetup(
    target=o.Ref(
        id="7d1cbce0-b5b3-47ba-95b5-014ab3c7f569",
        ref_type=o.RefType.ProductSystem,
    ),
    impact_method=method.to_ref(),
    nw_set=nwset.to_ref(),
))
result.wait_until_ready()

# print the weighted results
for wr in result.get_weighted_impacts():
    print(f"{wr.impact_category.name} :: {wr.amount} {nwset.weighted_score_unit}")

result.dispose()