Skip to content

Commit

Permalink
fix!: remove PEF scoring.
Browse files Browse the repository at this point in the history
  • Loading branch information
n1k0 committed Oct 8, 2024
1 parent 259c41e commit d023e92
Show file tree
Hide file tree
Showing 10 changed files with 40 additions and 214 deletions.
96 changes: 0 additions & 96 deletions public/data/impacts.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,6 @@
"description_fr": "Impact *agrégé* : somme des impacts **normalisés** et **pondérés** de chaque catégorie d'impact selon la méthode Ecobalyse, incluant l'impact sur la biodiversité.\n\nCet indicateur n'a **pas de dimension**, il se mesure en **Points** (`Pt`), en **milliPoints** (`mPt`) ou en **microPoints** (`µPt`) avec `1 Pt = 1 000 mPt = 1 000 000 µPt`. `1 Pt` correspond à l'impact total d'un européen sur une année.",
"short_unit": "Pts",
"decimals": 2,
"pef": null,
"ecoscore": null
},
"pef": {
"label_en": "PEF Score",
"label_fr": "Score PEF",
"unit_fr": "µPt PEF",
"unit_en": "µPt PEF",
"description_en": "Aggregated impact: sum of the weighted and normalized impact of all environmental impact categories according to the PEF methodology.",
"description_fr": "Impact *agrégé* : somme des impacts **normalisés** et **pondérés** de chaque catégorie d'impact selon la méthode *single score* du PEF. 12 impacts différents pris en compte à ce stade. 4 encore à ajouter.\n\nCet indicateur n'a **pas de dimension**, il se mesure en **Points** (`Pt`), en **milliPoints** (`mPt`) ou en **microPoints** (`µPt`) avec `1 Pt = 1 000 mPt = 1 000 000 µPt`. `1 Pt` correspond à l'impact total d'un européen sur une année.",
"short_unit": "µPt PEF",
"decimals": 2,
"pef": null,
"ecoscore": null
},
"acd": {
Expand All @@ -32,11 +19,6 @@
"decimals": 2,
"description_en": "Indicator of the **potential acidification of soils and water** due to the release of gases such as nitrogen oxides and sulphur oxides.",
"description_fr": "Indicateur de l'**acidification potentielle des sols et des eaux** due à la libération de gaz tels que les oxydes d'azote et les oxydes de soufre.\n\nCet indicateur se mesure en mol (quantité de matière) d'équivalent d'ions hydrogène (`H+`).",
"pef": {
"color": "#ff1493",
"normalization": 5.55695e1,
"weighting": 0.062
},
"ecoscore": {
"color": "#91cf4f",
"normalization": 5.55695e1,
Expand All @@ -52,11 +34,6 @@
"decimals": 2,
"description_en": "Indicator of **emissions to air** that cause the **destruction of the stratospheric ozone layer**.",
"description_fr": "La couche d'ozone est située en haute altitude dans l'atmosphère, elle protège des rayons ultra-violets solaires. Son appauvrissement augmente l'**exposition de l'ensemble des êtres vivants à ces radiations négatives** (cancérigènes en particulier).\n\nCet indicateur se mesure en kg d'équivalent `CFC 11`, le CFC 11 (trichlorofluorométhane) étant l'un des gaz responsable de l'appauvrissement de la couche d'ozone.",
"pef": {
"color": "#800080",
"normalization": 5.3648e-2,
"weighting": 0.0631
},
"ecoscore": {
"color": "#ffc000",
"normalization": 5.3648e-2,
Expand All @@ -72,11 +49,6 @@
"decimals": 2,
"description_en": "Indicator of **potential global warming** due to **emissions of greenhouse gases to air**. Divided into 3 subcategories based on the emission source: (1) fossil resources, (2) bio-based resources and (3) land use change.",
"description_fr": "Indicateur le plus connu, correspond à la **modification du climat**, affectant l'écosystème global.\n\nCet indicateur se mesure en kg équivalent `CO₂`, le principal gaz à effet de serre.",
"pef": {
"color": "#800000",
"normalization": 7.55308e3,
"weighting": 0.2106
},
"ecoscore": {
"color": "#9025be",
"normalization": 7.55308e3,
Expand All @@ -92,11 +64,6 @@
"description_fr": "Indicateur correspondant à un **enrichissement excessif des milieux naturels en nutriments**, ce qui conduit à une prolifération et une asphyxie (zone morte). C'est ce phénomène qui est à l'origine des algues vertes. On peut le retrouver en rivière et en lac également.\n\nCet indicateur se mesure en kg d'équivalent Phosphore (`P`), le phosphore étant l'un des éléments responsables de l'eutrophisation des eaux douces.",
"short_unit": "kgPe",
"decimals": 2,
"pef": {
"color": "#1f7dca",
"normalization": 1.60685,
"weighting": 0.028
},
"ecoscore": {
"color": "#548235",
"normalization": 1.60685,
Expand All @@ -112,11 +79,6 @@
"description_fr": "Indicateur correspondant à un **enrichissement excessif des milieux naturels en nutriments**, ce qui conduit à une prolifération et une asphyxie (zone morte). C'est ce phénomène qui est à l'origine des algues vertes.\n\nCet indicateur se mesure en kg d'équivalent azote (`N`), l'azote étant l'un des éléments responsables de l'eutrophisation des eaux marines.",
"short_unit": "kgNe",
"decimals": 2,
"pef": {
"color": "#000080",
"normalization": 1.95452e1,
"weighting": 0.0296
},
"ecoscore": {
"color": "#70ad47",
"normalization": 1.95452e1,
Expand All @@ -132,11 +94,6 @@
"description_fr": "Comme dans l'eau, l'eutrophisation terrestre correspond à un **enrichissement excessif du milieu**, en azote en particulier, conduisant a un déséquilibre et un appauvrissement de l'écosystème. Ceci concerne principalement les sols agricoles.\n\nCet indicateur se mesure en mol d'équivalent azote (`N`).",
"short_unit": "molNe",
"decimals": 2,
"pef": {
"color": "#20b2aa",
"normalization": 1.76755e2,
"weighting": 0.0371
},
"ecoscore": {
"color": "#c5e0b4",
"normalization": 1.76755e2,
Expand All @@ -152,11 +109,6 @@
"description_fr": "Indicateur correspondant à la **dégradation de la qualité de l'air**, principalement via la formation de brouillard de basse altitude nommé *smog*. Il a des conséquences néfastes sur la santé.\n\nCet indicateur se mesure en kg d'équivalent Composés Organiques Volatiles Non Méthaniques (`COVNM`), un ensemble de composés organiques (alcools, aromatiques,...) contribuant à la formation d'ozone photochimique.",
"short_unit": "kgNMVOCe",
"decimals": 2,
"pef": {
"color": "#da70d6",
"normalization": 4.08592e1,
"weighting": 0.0478
},
"ecoscore": {
"color": "#ff6161",
"normalization": 4.08592e1,
Expand All @@ -172,11 +124,6 @@
"description_fr": "Indicateur correspondant aux **effets négatifs sur la santé humaine** causés par les émissions de particules (`PM`) et de leurs précurseurs (`NOx`, `SOx`, `NH3`).\n\nCet indicateur se mesure en incidence de maladie supplémentaire due aux particules",
"short_unit": "dis.inc.",
"decimals": 2,
"pef": {
"color": "#696969",
"normalization": 5.95367e-4,
"weighting": 0.0896
},
"ecoscore": {
"color": "#ffc000",
"normalization": 5.95367e-4,
Expand All @@ -192,11 +139,6 @@
"description_fr": "Indicateur correspondant aux dommages pour la **santé humaine et les écosystèmes** liés aux émissions de radionucléides.\n\nIl se mesure en kilobecquerel d'equivalent `Uranium 235`.",
"short_unit": "kBqU235e",
"decimals": 2,
"pef": {
"color": "#ffd700",
"normalization": 4.22016e3,
"weighting": 0.0501
},
"ecoscore": {
"color": "#be8f00",
"normalization": 4.22016e3,
Expand All @@ -212,11 +154,6 @@
"description_fr": "Indicateur de l'**épuisement des ressources naturelles en combustibles fossiles** (gaz, charbon, pétrole).\n\nIl se mesure en mégajoules (`MJ`), la quantité d'énergie fossile utilisée.",
"short_unit": "MJ",
"decimals": 2,
"pef": {
"color": "#000000",
"normalization": 6.50043e4,
"weighting": 0.0832
},
"ecoscore": {
"color": "#9dc3e6",
"normalization": 6.50043e4,
Expand All @@ -232,11 +169,6 @@
"description_fr": "Indicateur de l'**épuisement des ressources naturelles non fossiles**.\n\nIl se mesure en kg d'équivalent d'antimoine (`Sb`) (élément métallique).",
"short_unit": "kgSbe",
"decimals": 2,
"pef": {
"color": "#a9a9a9",
"normalization": 6.36226e-2,
"weighting": 0.0755
},
"ecoscore": {
"color": "#698ed0",
"normalization": 6.36226e-2,
Expand All @@ -252,11 +184,6 @@
"description_fr": "Mesure de l'évolution de la **qualité des sols** (production biotique, résistance à l'érosion, filtration mécanique).\n\nCet indicateur n'a pas de dimension, il se mesure en Points (`Pt`).",
"short_unit": "Pt",
"decimals": 2,
"pef": {
"color": "#006400",
"normalization": 8.19498e5,
"weighting": 0.0794
},
"ecoscore": {
"color": "#a9d18e",
"normalization": 8.19498e5,
Expand All @@ -272,11 +199,6 @@
"description_fr": "Indicateur de la consommation d'eau et son épuisement dans certaines régions. **À ce stade, elle n'est prise en compte que pour l'étape “Matière & Filature”.**\n\nCet indicateur se mesure en **mètre cube (`m³`)** d'eau consommé.",
"short_unit": "",
"decimals": 2,
"pef": {
"color": "#00ffff",
"normalization": 1.14687e4,
"weighting": 0.0851
},
"ecoscore": {
"color": "#0070c0",
"normalization": 1.14687e4,
Expand All @@ -292,11 +214,6 @@
"description_fr": "Indicateur d'écotoxicité pour écosystèmes aquatiques d'eau douce. Cet indicateur se mesure en Comparative Toxic Unit for ecosystems (CTUe)",
"short_unit": "CTUe",
"decimals": 2,
"pef": {
"color": "#03A764",
"normalization": 5.67166e4,
"weighting": 0.0192
},
"ecoscore": null
},
"etf-c": {
Expand All @@ -308,7 +225,6 @@
"description_fr": "Indicateur d'écotoxicité pour écosystèmes aquatiques d'eau douce. Cet indicateur se mesure en Comparative Toxic Unit for ecosystems (CTUe). Cet indicateur est corrigé.",
"short_unit": "CTUe",
"decimals": 2,
"pef": null,
"ecoscore": {
"color": "#375622",
"normalization": 9.812e4,
Expand All @@ -328,11 +244,6 @@
"description_fr": "Indicateur de toxicité cancérigène pour l'homme. Cet indicateur se mesure en Comparative Toxic Unit for humans (CTUh)",
"short_unit": "CTUh",
"decimals": 2,
"pef": {
"color": "#ffff00",
"normalization": 1.72529e-5,
"weighting": 0.0213
},
"ecoscore": null
},
"htc-c": {
Expand All @@ -344,7 +255,6 @@
"description_fr": "Indicateur de toxicité cancérigène pour l'homme. Cet indicateur se mesure en Comparative Toxic Unit for humans (CTUh). Cet indicateur est corrigé.",
"short_unit": "CTUh",
"decimals": 2,
"pef": null,
"ecoscore": {
"color": "#f4b183",
"normalization": 1.72529e-5,
Expand All @@ -364,11 +274,6 @@
"description_fr": "Indicateur de toxicité non cancérigène pour l'homme. Cet indicateur se mesure en Comparative Toxic Unit for humans (CTUh)",
"short_unit": "CTUh",
"decimals": 2,
"pef": {
"color": "#FFA907",
"normalization": 1.28736e-4,
"weighting": 0.0184
},
"ecoscore": null
},
"htn-c": {
Expand All @@ -380,7 +285,6 @@
"description_fr": "Indicateur de toxicité non cancérigène pour l'homme. Cet indicateur se mesure en Comparative Toxic Unit for humans (CTUh). Cet indicateur est corrigé.",
"short_unit": "CTUh",
"decimals": 2,
"pef": null,
"ecoscore": {
"color": "#43682b",
"normalization": 1.28736e-4,
Expand Down
2 changes: 0 additions & 2 deletions src/Data/Impact.elm
Original file line number Diff line number Diff line change
Expand Up @@ -419,7 +419,6 @@ decodeWithoutAggregated =
Definition.decodeWithoutAggregated (always Unit.decodeImpact)
-- Those aggregated impacts will have to be computed after the decoding
|> Pipe.hardcoded Quantity.zero
|> Pipe.hardcoded Quantity.zero
|> Decode.map Impacts


Expand All @@ -446,7 +445,6 @@ updateAggregatedScores definitions impacts =
in
impacts
|> aggregateScore .ecoscoreData Definition.Ecs
|> aggregateScore .pefData Definition.Pef


getAggregatedScoreData :
Expand Down
24 changes: 2 additions & 22 deletions src/Data/Impact/Definition.elm
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ type Trigram
| Wtu
-- Aggregated scores
| Ecs
| Pef


type alias Definition =
Expand All @@ -71,7 +70,6 @@ type alias Definition =
, description : String
, unit : String
, decimals : Int
, pefData : Maybe AggregatedScoreData
, ecoscoreData : Maybe AggregatedScoreData
}

Expand Down Expand Up @@ -103,7 +101,6 @@ type alias Trigrams a =

-- Aggregated scores
, ecs : a
, pef : a
}


Expand Down Expand Up @@ -139,7 +136,6 @@ init a =

-- Aggregated scores
, ecs = a
, pef = a
}


Expand Down Expand Up @@ -207,9 +203,6 @@ update trigram updateFunc definitions =
Ecs ->
{ definitions | ecs = updateFunc definitions.ecs }

Pef ->
{ definitions | pef = updateFunc definitions.pef }


trigrams : List Trigram
trigrams =
Expand All @@ -235,7 +228,6 @@ trigrams =

-- Aggregated scores
, Ecs
, Pef
]


Expand Down Expand Up @@ -309,9 +301,6 @@ get trigram definitions =
Ecs ->
definitions.ecs

Pef ->
definitions.pef


map : (Trigram -> a -> b) -> Trigrams a -> Trigrams b
map func definitions =
Expand All @@ -337,7 +326,6 @@ map func definitions =

-- Aggregated scores
, ecs = func Ecs definitions.ecs
, pef = func Pef definitions.pef
}


Expand Down Expand Up @@ -430,9 +418,6 @@ toString trigram =
Ecs ->
"ecs"

Pef ->
"pef"


toTrigram : String -> Result String Trigram
toTrigram str =
Expand Down Expand Up @@ -498,23 +483,20 @@ toTrigram str =
"ecs" ->
Ok Ecs

"pef" ->
Ok Pef

_ ->
Err <| "Trigramme d'impact inconnu: " ++ str


isAggregate : Trigram -> Bool
isAggregate trigram =
trigram == Pef || trigram == Ecs
trigram == Ecs



---- Decoders


decodeWithoutAggregated : (String -> Decoder a) -> Decoder (a -> a -> Trigrams a)
decodeWithoutAggregated : (String -> Decoder a) -> Decoder (a -> Trigrams a)
decodeWithoutAggregated decoder =
Decode.succeed Trigrams
|> Pipe.required "acd" (decoder "acd")
Expand Down Expand Up @@ -542,7 +524,6 @@ decodeBase : (String -> Decoder a) -> Decoder (Trigrams a)
decodeBase decoder =
decodeWithoutAggregated decoder
|> Pipe.required "ecs" (decoder "ecs")
|> Pipe.required "pef" (decoder "pef")


decode : Decoder Definitions
Expand All @@ -566,7 +547,6 @@ decodeDefinition trigram =
|> Pipe.required "description_fr" Decode.string
|> Pipe.required "short_unit" Decode.string
|> Pipe.required "decimals" Decode.int
|> Pipe.required "pef" (Decode.maybe decodeAggregatedScoreData)
|> Pipe.required "ecoscore" (Decode.maybe decodeAggregatedScoreData)


Expand Down
20 changes: 0 additions & 20 deletions src/Page/Explore/Impacts.elm
Original file line number Diff line number Diff line change
Expand Up @@ -61,26 +61,6 @@ table { detailed, scope } =
>> Maybe.withDefault 0
, toCell = .ecoscoreData >> Maybe.map (.weighting >> Format.splitAsPercentage 2) >> Maybe.withDefault (text "N/A")
}
, { label = "Normalisation (PEF)"
, toValue =
Table.FloatValue <|
.pefData
>> Maybe.map (.normalization >> Unit.impactToFloat)
>> Maybe.withDefault 0
, toCell =
\def ->
def.pefData
|> Maybe.map (.normalization >> Unit.impactToFloat >> Format.formatRichFloat 2 def.unit)
|> Maybe.withDefault (text "N/A")
}
, { label = "Pondération (PEF)"
, toValue =
Table.FloatValue <|
.pefData
>> Maybe.map (.weighting >> Split.toFloat)
>> Maybe.withDefault 0
, toCell = .pefData >> Maybe.map (.weighting >> Format.splitAsPercentage 2) >> Maybe.withDefault (text "N/A")
}
, { label = "Description"
, toValue = Table.StringValue .description
, toCell =
Expand Down
Loading

0 comments on commit d023e92

Please sign in to comment.