Damage vector for life-cycle analysis: Difference between revisions

From Opasnet
Jump to navigation Jump to search
(→‎Formula: reshape corrected, now it works)
(→‎Calculations: old code removed)
 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Life cycle assessment]]
[[Category:Life cycle assessment]]
[[Category:Contains R code]]
{{variable|moderator=|stub=Yes}}
{{variable|moderator=|stub=Yes}}


Line 8: Line 9:
== Answer ==
== Answer ==


There are two parts to this: damage vector and damage factor. For details, see {{resultlink}}.
For an example of an actual LCA, see [[LCA of a coffee cup]].
<rcode name="answer" embed=1>
library(OpasnetUtils)
# [[Damage vector for life-cycle analysis]]. We need impactsPerDollar, damagesPerImpact, and damages.
objects.latest("Op_en5902", code_name = "initiate")
impactsPerDollar <- EvalOutput(impactsPerDollar)
damagesPerImpact <- EvalOutput(damagesPerImpact)
cat("Impacts per dollar\n")
oprint(head(impactsPerDollar@output))
cat("Damages per impact\n")
oprint(head(damagesPerImpact@output))
</rcode>


== Rationale ==
== Rationale ==


Damages are calculated using this formula:


<math>damages_{s,c,d} = \frac{ activity_s * impactsPD_{s,c} * damagesPI_{c,d} * 365}{normalisation_d},</math>


=== Dependencies ===
where
* damages are the damages caused by the activity in meaningful units such as DALYs,
* activity are the direct inputs of an activity (in Euro), such as in [[LCA of a coffee cup]], table Direct inputs of a coffee cup,
* impactsPD or impactsPerDollar are data from the damage vector (size 430*17) in Opasnet Base of this page,
* damagesPI or damagesPerImpact are data from the Damage factors table below,
* normalisation are impacts turned into meaningful units such as in [[Normalisation data for life cycle assessments#Data]]
* the outcome is scaled by 365 to reflect yearly impacts {{attack|#|I'm not sure why, if the activity is in functional units and it is not clear that the activity happens once per day.|--[[User:Jouni|Jouni]] ([[User talk:Jouni|talk]]) 17:30, 29 January 2014 (EET)}}
* s is purchasing sector,
* c is unique category (this is often summed up so that it does not show in the damage variable),
* d is damage index.


=== Data ===
=== Data ===


<t2b name="damagefactors" index="Unique_categories,Damage_categories" locations="Human health,Ecosystem quality,Climate change,Resources,Water consumption" unit = "-">
'''Damage vector
 
The damage vector contains 430 purchasing sectors and 17 unique categories of impact. See {{resultlink}}.
 
'''Damage factors
 
Damage factors are described in the table below.
 
{{attack|#|The units should be explained!|--[[User:Jouni|Jouni]] ([[User talk:Jouni|talk]]) 07:34, 28 December 2013 (EET)}}
 
<t2b name="Damage factors" index="Unique_categories,Damage_categories" locations="Human health,Ecosystem quality,Climate change,Resources,Water consumption" unit = "-">
Carcinogens|0.0000028|0|0|0|0
Carcinogens|0.0000028|0|0|0|0
Non-carcinogens|0.0000028|0|0|0|0
Non-carcinogens|0.0000028|0|0|0|0
Line 37: Line 80:
</t2b>
</t2b>


===Formula===
===Calculations===
 
<rcode name="initiate" label="Initiate variables" embed=1>


<rcode>
library(OpasnetUtils)
library(OpasnetUtils)
library(xtable)


data <- opbase.data("Op_en5902") #
# Create the damage factor table based on data from [[Damage vector for life-cycle analysis]]
damages <- opbase.data("Op_en5902.damagefactors")
head(damages)


data <- reshape(data, times = "Result", timevar = "Unique_categories", idvar = "Purchasing_sector", direction = "wide")
damagesPerImpact <- opbase.data("Op_en5902.damage_factors")
damagesPerImpact$Obs <- NULL
damagesPerImpact <- Ovariable("damagesPerImpact", damagesPerImpact)


colnames(data) <- gsub("Result.", "", colnames(data))
# Take the impact factor table from the database. Do the same procedures as with damagesPerImpact.
data <- as.matrix(data)


head(data)
impactsPerDollar <- Ovariable("impactsPerDollar", data = opbase.data("Op_en5902"))


damages <- Ovariable("damages",
dependencies = data.frame(Name = c(
"damagesPerImpact",
"impactsPerDollar",
"activity",
"normalisation"
)),
formula = function(...) {
out <- activity * impactsPerDollar * damagesPerImpact # Actual equation.
# out <- CollapseMarginal(
# out,
# cols = "Unique_categories",
# fun = "sum"
# )
# out <- out / normalisation * 365 # Normalise and scale to daily values.
return(out)
}
)
objects.store(damagesPerImpact, impactsPerDollar, damages)
cat("Ovariables damagesPerImpact, impactsPerDollar, damages saved.\n")


</rcode>
</rcode>


==See also==
==See also==
* [[LCA of a coffee cup]]
* [[Normalisation data for life cycle assessments]]


==Keywords==
==Keywords==
Line 66: Line 136:


==Related files==
==Related files==
{{mfiles}}<!-- __OBI_TS:1358344392 -->

Latest revision as of 20:37, 29 January 2014



Question

What are the damages per unit purchased commodity using a life-cycle assessment?

Answer

There are two parts to this: damage vector and damage factor. For details, see {{#opasnet_base_link:Op_en5902}} .

For an example of an actual LCA, see LCA of a coffee cup.

+ Show code

Rationale

Damages are calculated using this formula:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle damages_{s,c,d} = \frac{ activity_s * impactsPD_{s,c} * damagesPI_{c,d} * 365}{normalisation_d},}

where

  • damages are the damages caused by the activity in meaningful units such as DALYs,
  • activity are the direct inputs of an activity (in Euro), such as in LCA of a coffee cup, table Direct inputs of a coffee cup,
  • impactsPD or impactsPerDollar are data from the damage vector (size 430*17) in Opasnet Base of this page,
  • damagesPI or damagesPerImpact are data from the Damage factors table below,
  • normalisation are impacts turned into meaningful units such as in Normalisation data for life cycle assessments#Data
  • the outcome is scaled by 365 to reflect yearly impacts ⇤--#: . I'm not sure why, if the activity is in functional units and it is not clear that the activity happens once per day. --Jouni (talk) 17:30, 29 January 2014 (EET) (type: truth; paradigms: science: attack)
  • s is purchasing sector,
  • c is unique category (this is often summed up so that it does not show in the damage variable),
  • d is damage index.

Data

Damage vector

The damage vector contains 430 purchasing sectors and 17 unique categories of impact. See {{#opasnet_base_link:Op_en5902}} .

Damage factors

Damage factors are described in the table below.

⇤--#: . The units should be explained! --Jouni (talk) 07:34, 28 December 2013 (EET) (type: truth; paradigms: science: attack)

Damage factors(-)
ObsUnique_categoriesHuman healthEcosystem qualityClimate changeResourcesWater consumption
1Carcinogens0.00000280000
2Non-carcinogens0.00000280000
3Respiratory inorganics0.00070000
4Ionizing radiation0.000000000210000
5Ozone layer depletion0.001050000
6Respiratory organics0.000002130000
7Aquatic ecotoxicity00.0000502000
8Terrestrial ecotoxicity00.00791000
9Terrestrial acidification/nutrification01.04000
10Land occupation01.09000
11Aquatic acidification00000
12Aquatic eutrophication00000
13Global warming00100
14Non-renewable energy00010
15Mineral extraction00010
16Water withdrawal00000
17Water consumption00001

Calculations

+ Show code

See also

Keywords

References


Related files