Commit 2fb81070 authored by Dorchies David's avatar Dorchies David
Browse files

feat(bnpe): Affinement typologie des prélèvements industriels

parent 1eb0f030
No related merge requests found
Pipeline #27324 passed with stages
in 6 minutes and 52 seconds
Showing with 177 additions and 95 deletions
+177 -95
Package: InWopUsages Package: InWopUsages
Type: Package Type: Package
Title: Données et analyses des usages du bassin versant de la Seine Title: Données et analyses des usages du bassin versant de la Seine
Version: 0.1.0 Version: 0.1.1
Authors@R: c( Authors@R: c(
person("David", "Dorchies", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-6595-7984"), email = "david.dorchies@inrae.fr"), person("David", "Dorchies", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-6595-7984"), email = "david.dorchies@inrae.fr"),
person("N'Guessan Ghislain", "Yao", role = c("ctb"), email = "yaoulricho@gmail.com") person("N'Guessan Ghislain", "Yao", role = c("ctb"), email = "yaoulricho@gmail.com")
...@@ -36,5 +36,4 @@ URL: https://in-wop.g-eau.fr/usages ...@@ -36,5 +36,4 @@ URL: https://in-wop.g-eau.fr/usages
BugReports: https://gitlab.irstea.fr/in-wop/inwopusages/-/issues/ BugReports: https://gitlab.irstea.fr/in-wop/inwopusages/-/issues/
Roxygen: list(markdown = TRUE) Roxygen: list(markdown = TRUE)
RoxygenNote: 7.1.1 RoxygenNote: 7.1.1
Remotes: Remotes: inrae/hubeau
url::https://gitlab.irstea.fr/in-wop/hubeau/-/archive/master/hubeau-master.zip
...@@ -11,7 +11,7 @@ bibliography: InWopUsages.bib ...@@ -11,7 +11,7 @@ bibliography: InWopUsages.bib
```{r, include = FALSE} ```{r, include = FALSE}
knitr::opts_chunk$set( knitr::opts_chunk$set(
collapse = TRUE, collapse = TRUE,
comment = "#>", comment = "#>",
fig.width = 7 fig.width = 7
) )
``` ```
...@@ -20,6 +20,8 @@ knitr::opts_chunk$set( ...@@ -20,6 +20,8 @@ knitr::opts_chunk$set(
library(InWopUsages) library(InWopUsages)
``` ```
La Banque Nationale des Prélèvements quantitatifs en Eau a été instituée en 2014 [@nowakConstructionDispositifConnaissance2014] afin de fédérer les données collectées par les différentes administrations (DDT, DREAL, Agences de l'eau). Cette base de données contient le volume annuel prélevé pour chaque ouvrage de prélèvement avec une typologie concernant la source du prélèvement et le type d'usage. Elle sera la principale source d'information sur les usages utilisée dans cette étude.
# Extraction des points de prélèvement # Extraction des points de prélèvement
```{r} ```{r}
...@@ -49,6 +51,8 @@ L'extraction des points de prélèvement donne `r nrow(dfPP)` points de prélèv ...@@ -49,6 +51,8 @@ L'extraction des points de prélèvement donne `r nrow(dfPP)` points de prélèv
# Extraction des chroniques de prélèvement # Extraction des chroniques de prélèvement
## Extraction des chroniques avec l'API hubeau
```{r} ```{r}
if(!file.exists("v10-dfChro.rds")) { if(!file.exists("v10-dfChro.rds")) {
lChro <- lapply(dfCom$insee_com, function(insee_com) { lChro <- lapply(dfCom$insee_com, function(insee_com) {
...@@ -61,41 +65,94 @@ if(!file.exists("v10-dfChro.rds")) { ...@@ -61,41 +65,94 @@ if(!file.exists("v10-dfChro.rds")) {
} }
``` ```
Sélection des prélèvements liés aux ouvrages sélectionnés précédemment. Les prélèvements à fort volume mais à restitution immédiate (usages énergie, refroidissement, barrage) sont exclus du champ de l'étude (`prelevement_ecrasant == FALSE`). Sélection des prélèvements liés aux ouvrages sélectionnés précédemment. Les prélèvements à fort volume mais à restitution immédiate (usages énergie, refroidissement, barrage) sont exclus du champ de l'étude car leur influence sur l'hydrologie du cours d'eau est nulle (`prelevement_ecrasant == FALSE`).
```{r} ```{r}
dfChro <- dfChroRaw %>% dfChro <- dfChroRaw %>%
filter(volume > 0, prelevement_ecrasant == FALSE) %>% filter(volume > 0, prelevement_ecrasant == FALSE) %>%
select(code_ouvrage, nom_ouvrage, annee, volume, code_usage, latitude, longitude) %>% select(code_ouvrage, nom_ouvrage, annee, volume, code_usage, latitude, longitude) %>%
inner_join(dfPPInf, by = "code_ouvrage") inner_join(dfPPInf, by = "code_ouvrage")
``` ```
# Calcul des prélèvement nets ## Correction d'erreurs manifestes dans la base
Les ouvrages d'alimentation du canal de l'Ourcq sont en doublon dans la base avec l'usage "Industriel" et l'usage "Canaux de navigation" avec le même code ouvrage. Nous supprimons les doublons avec l'usage "Canaux de navigation" car nous considérons les eaux prélevées pour le canal de l'Ourcq comme un usage industriel (voir plus bas).
Les prises d'eau nommées "VILLE DE PARIS" classées en usage "canal" sont aussi des prises d'eau du canal de l'Ourcq à requalifier en usage industriel : la prise de Congis-sur-Thérouane est [l'usine élévatoire de Villers-lès-Rigault](https://fr.wikipedia.org/wiki/Usine_%C3%A9l%C3%A9vatoire_de_Villers-l%C3%A8s-Rigault) qui alimente le canal de l'Ourcq. La prise de Gressy alimente aussi le canal de l'Ourcq en dérivant une partie du débit de la Beuvronne.
```{r}
ouvrages_Ourcq <- dfChro$code_ouvrage[grepl("Canal de l'Ourcq", dfChro$nom_ouvrage)]
dfChroOurcq <- dfChro %>% filter(code_ouvrage %in% ouvrages_Ourcq, code_usage == "CAN")
dfChro <- dfChro %>%
anti_join(dfChroOurcq)
dfChro <- dfChro %>%
mutate(code_usage = replace(code_usage, nom_ouvrage == "VILLE DE PARIS" & code_usage == "CAN", "IND"))
```
```{r}
ouvrages_Ourcq <- grepl("Canal de l'Ourcq", dfChro$nom_ouvrage) |
dfChro$nom_ouvrage == "VILLE DE PARIS" |
dfChro$code_ouvrage %in% c("OPR0000039822", "OPR0000039823")
```
```{r}
dfChroOurcq <- dfChro[ouvrages_Ourcq,]
ggplot(
dfChroOurcq,
aes(x = annee, y = volume / 1E6)
) +
geom_col(aes(fill = paste0(str_trunc(nom_commune, 12),": ", str_trunc(nom_ouvrage, 30), " (", str_sub(code_ouvrage, -6), ")")), width = 0.5) +
scale_x_continuous(breaks = sort(unique(dfChroOurcq$annee))) +
labs(x = "Année", y = "Volume (millions m3/an)", fill = "Ouvrage")
```
Le graphique ci-dessus indique des incohérences et des doublons. La prise de Congis-sur-Thérouane est représentée par les ouvrages '199443' et '199442'. Les données libellés "VILLE DE PARIS" de l'ouvrage '199442' sont identiques chaque année à celles de l'ouvrage '199444' et les volumes ne sont pas compatibles avec ceux d'une usine de relevage. Nous préférons ignorer ces données. L'ouvrage '033702' à Sens
```{r}
dfChro <- dfChro %>% filter(nom_ouvrage != "VILLE DE PARIS")
```
Calcul de la moyenne inter-annuelle des prélèvements pour chaque ouvrage.
## Calcul des prélèvements moyens inter-annuels
Pour la suite de l'analyse, nous allons nous appuyer sur la moyenne inter-annuelle des prélèvements pour chaque ouvrage.
```{r} ```{r}
dfMoy <- dfChro %>% dfMoy <- dfChro %>%
group_by(code_ouvrage, nom_ouvrage, code_usage, code_type_milieu, code_commune_insee, nom_commune, uri_ouvrage) %>% group_by(code_ouvrage, nom_ouvrage, code_usage, code_type_milieu, code_commune_insee, nom_commune, uri_ouvrage) %>%
summarise(vol_moy = round(mean(volume) / 1E6, 3), summarise(vol_moy = round(mean(volume) / 1E6, 3),
vol_min = round(min(volume) / 1E6, 3), vol_min = round(min(volume) / 1E6, 3),
vol_max = round(max(volume) / 1E6, 3), vol_max = round(max(volume) / 1E6, 3),
.groups = "drop") .groups = "drop")
``` ```
Les prélèvements industrielles ont un statut particulier par rapport aux autres usages car une proportion non négligeable peut être immédiatement restituée. Il faut donc calculer un coefficient de consommation permettant de calculer le prélèvement net. # Détermination des ratios de consommation pour l'usage industriel
Les prélèvements industrielles ont un statut particulier par rapport aux autres usages car une proportion non négligeable peut être immédiatement restituée. Il faut donc affecter aux prélèvements un coefficient de consommation qui dépend du type d'industrie considérée. Ce coefficient de consommation permettra de calculer le prélèvement net par la formule&nbsp;: $P_{net} = r_{conso} \times P_{brut}$
Analyse des plus gros ouvrages de prélèvement industriels (en millions de m<sup>3</sup>/an): @IndustrieEauAnalyse2003 propose des ratios qui ont été repris par @bipeExplore2070Prospective2012, nous utiliserons les ratios proposés par ces références pour chaque type d'industrie.
Pour définir le type d'industrie de chaque ouvrage de prélèvement, nous allons d'abord procéder au cas par cas pour les plus gros préleveurs, traiter les préleveurs moyens par une affectation du type par mot-clé et les préleveurs les plus petits n'ayant pas été typés seront traités avec un coefficient moyen.
```{r} ```{r}
dfInd <- dfMoy %>% filter(code_usage == "IND") %>% dfInd <- dfMoy %>% filter(code_usage == "IND") %>%
select(code_ouvrage, nom_ouvrage, code_commune_insee, nom_commune, vol_moy, vol_min, vol_max) %>% select(code_ouvrage, nom_ouvrage, code_commune_insee, nom_commune, vol_moy, vol_min, vol_max) %>%
mutate(r_conso = NA) mutate(type = NA, r_conso = NA)
knitr::kable(dfInd %>%
arrange(-vol_moy) %>% slice(1:10) %>% select(-c(r_conso, code_commune_insee)))
``` ```
Liste des plus gros ouvrages de prélèvements industriels (en millions de m<sup>3</sup>/an):
```{r}
knitr::kable(dfInd %>%
arrange(-vol_moy) %>% slice(1:10) %>% select(-c(type, r_conso, code_commune_insee)))
```
## Centrale nucléaire de Nogent-sur-Seine ## Centrale nucléaire de Nogent-sur-Seine
La centrale nucléaire de Nogent-sur-Seine a une consommation théorique de 37.5 % [@vicaudBesoinsEauRefroidissement2008]. La centrale nucléaire de Nogent-sur-Seine a une consommation théorique de 37.5 % [@vicaudBesoinsEauRefroidissement2008].
...@@ -103,8 +160,9 @@ La centrale nucléaire de Nogent-sur-Seine a une consommation théorique de 37.5 ...@@ -103,8 +160,9 @@ La centrale nucléaire de Nogent-sur-Seine a une consommation théorique de 37.5
Détermination des prélèvements: Détermination des prélèvements:
```{r} ```{r}
dfInd <- dfInd %>% dfInd <- dfInd %>%
mutate(r_conso = replace(r_conso, code_commune_insee == "10268" & grepl("CENTRALE", nom_ouvrage), 0.375)) mutate(type = replace(type, code_commune_insee == "10268" & grepl("CENTRALE", nom_ouvrage), "energie"),
r_conso = replace(r_conso, code_commune_insee == "10268" & grepl("CENTRALE", nom_ouvrage), 0.375))
knitr::kable( knitr::kable(
dfInd %>% filter(code_commune_insee == "10268", grepl("CENTRALE", nom_ouvrage)) %>% select(-code_commune_insee) dfInd %>% filter(code_commune_insee == "10268", grepl("CENTRALE", nom_ouvrage)) %>% select(-code_commune_insee)
) )
...@@ -115,7 +173,7 @@ knitr::kable( ...@@ -115,7 +173,7 @@ knitr::kable(
La centrale de Vitry-sur-Seine est la centrale à fioul de Vitry-Arrigi mise en route en 2007. Le site comptait auparavant aussi une centrale à charbon arrêtée en 2015. Ce type de centrale fonctionne quelques centaines d'heures par an pendant les périodes les plus froides de l'année. La centrale de Vitry-sur-Seine est la centrale à fioul de Vitry-Arrigi mise en route en 2007. Le site comptait auparavant aussi une centrale à charbon arrêtée en 2015. Ce type de centrale fonctionne quelques centaines d'heures par an pendant les périodes les plus froides de l'année.
La centrale au fioul de Porcheville a été définitivement arrêtée le 1er mai 2017. Comme pour la centrale de Vitry, c'est une centrale qui ne fonctionnait que pendant les pointes annuelles de consommation. La centrale au fioul de Porcheville a été définitivement arrêtée le 1er mai 2017. Comme pour la centrale de Vitry, c'est une centrale qui ne fonctionnait que pendant les pointes annuelles de consommation.
Le site des Renardières est un site de R&D qui comprenait la centrale thermique de Montereau jusqu'en 2011. Chatou est aussi un centre de R&D. Les volumes prélèvés sont assez faibles en l'absence d'information, on utilise le même ratio de 5 %. Le site des Renardières est un site de R&D qui comprenait la centrale thermique de Montereau jusqu'en 2011. Chatou est aussi un centre de R&D. Les volumes prélèvés sont assez faibles en l'absence d'information, on utilise le même ratio de 5 %.
...@@ -127,76 +185,114 @@ ouvrages_EDF <- unique(unlist( ...@@ -127,76 +185,114 @@ ouvrages_EDF <- unique(unlist(
sapply(EDF_keywords, function(x) dfInd$code_ouvrage[grepl(x, dfInd$nom_ouvrage) & is.na(dfInd$r_conso)]) sapply(EDF_keywords, function(x) dfInd$code_ouvrage[grepl(x, dfInd$nom_ouvrage) & is.na(dfInd$r_conso)])
)) ))
dfInd <- dfInd %>% mutate(r_conso = replace(r_conso, code_ouvrage %in% ouvrages_EDF, 0.05)) dfInd <- dfInd %>% mutate(type = replace(type, code_ouvrage %in% ouvrages_EDF, "energie"),
r_conso = replace(r_conso, code_ouvrage %in% ouvrages_EDF, 0.05))
knitr::kable( knitr::kable(
dfInd %>% filter(code_ouvrage %in% ouvrages_EDF) %>% select(-c(code_commune_insee)) %>% arrange(-vol_moy) dfInd %>% filter(code_ouvrage %in% ouvrages_EDF) %>% select(-c(code_commune_insee, type)) %>% arrange(-vol_moy)
) )
``` ```
## Canal de l'Ourcq ## Canal de l'Ourcq
Des prises d'eau du canal de l'Ourcq sont classés dans les prélèvements industriels certainement par le fait que ce canal sert en partie à alimenter Paris en eau brute [@CanalOurcq2021]. Le ratio eau consommé / eau prélevé est de 1. Dans la base BNPE, les prises d'eau du canal de l'Ourcq sont classées dans les usages industriels ou pour canaux de navigation. Cela est dû au fait que ce canal sert au moins en partie à alimenter Paris en eau non potable (ENP Paris) [@CanalOurcq2021].
```{r}
dfInd$type[grepl("Canal de l'Ourcq", dfInd$nom_ouvrage)] <- "ENP Paris"
```
Les usines d'Auteuil et d'Austerlitz sont des usines de pompage des eaux pour les eaux brutes de Paris.
```{r}
dfInd$type[dfInd$code_ouvrage == "OPR0000039823"] <- "ENP Paris"
dfInd$type[dfInd$code_ouvrage == "OPR0000039822"] <- "ENP Paris"
```
La prise de Congis-sur-Thérouane sur la Marne est [l'usine élévatoire de Villers-lès-Rigault](https://fr.wikipedia.org/wiki/Usine_%C3%A9l%C3%A9vatoire_de_Villers-l%C3%A8s-Rigault) et la prise de Gressy (dérivation de la Beuvronne) alimentent le canal de l'Ourcq. Elles sont libellées "VILLE DE PARIS" dans la base&nbsp;:
```{r}
dfInd$type[dfInd$nom_ouvrage == "VILLE DE PARIS"] <- "ENP Paris"
```
D'après @trinhDiversificationRessourcesReseau2017, le canal de l'Ourcq et les usines d'Auteuil, d'Austerlitz et de la Villette (ouvrage pompant dans le canal de l'Ourcq) apportent 200 000 m<sup>3</sup> d'eau brute par jour.
```{r} ```{r}
ouvrages_Ourcq <- dfInd$code_ouvrage[grepl("Canal de l'Ourcq", dfInd$nom_ouvrage)]
dfInd <- dfInd %>% mutate(r_conso = replace(r_conso, code_ouvrage %in% ouvrages_Ourcq, 1))
knitr::kable( knitr::kable(
dfInd %>% filter(code_ouvrage %in% ouvrages_Ourcq) %>% dfInd %>% filter(type == "ENP Paris") %>% summarise(volume_min = sum(vol_min),
select(-c(code_commune_insee, code_ouvrage)) %>% arrange(-vol_moy) volume_moy = sum(vol_moy),
volume_max = sum(vol_max)) / 365 * 1E6
) )
``` ```
Les données de la BNPE sont cohérentes avec un volume moyen de 211 milliers de m<sup>3</sup> par jour dans une fourchette de 171 à 256 millers de m<sup>3</sup> par jour. Il semble que la totalité des prélèvements concernant le canal de l'Ourcq et l'ENP Paris sont entièrement consommés par l'ENP Paris. L'alimentation du canal Saint-Martin et du canal Saint-Denis sont négligeables et on considère donc un usage exclusivement industriel de ces eaux.
Le ratio d'eau consommée est difficile à estimer entre les restitutions des canaux Saint-Martin et Saint-Denis vers la Seine, et les différents usages du réseau d'eau non potable. D'après @trinhDiversificationRessourcesReseau2017, les principaux usages sont les chasses du réseau d'assainissement, le nettoyage des voiries et l'arrosage des bois et jardins. Les deux premiers usages font l'objet d'un retour vers la Seine via le réseau d'assainissement ou le réseau de collecte des eaux pluviales, on considérera donc une consommation nulle. La consommation des bois de Vincennes et de Boulogne pour l'arrosage et la mise à niveau des plans d'eau était estimée à 19 500 m<sup>3</sup>/j et l'arrosage des jardins de Paris intra-muros à 6200 m<sup>3</sup>/j en 2013. Sur les 200 000 mm<sup>3</sup>/j utilisés par le réseau ENP, cela représente une consommation $r_{conso} = 13\%$
```{r}
dfInd$r_conso[dfInd$type == "ENP Paris"] <- 0.13
knitr::kable(
dfInd %>% filter(type == "ENP Paris") %>%
select(-c(code_commune_insee, code_ouvrage, type)) %>% arrange(-vol_moy)
)
```
## Autres gros préleveurs industriels ## Autres gros préleveurs industriels
```{r} ```{r}
knitr::kable( knitr::kable(
dfInd %>% dfInd %>%
filter(is.na(r_conso)) %>% filter(is.na(r_conso)) %>%
arrange(-vol_moy) %>% slice(1:20) %>% select(-c(r_conso, code_commune_insee)) arrange(-vol_moy) %>% slice(1:20) %>% select(-c(r_conso, code_commune_insee, type))
) )
``` ```
IP XIII correspond à l'incinérateur de Ivry/Paris XIII. Le volume prélevé en 2019 était de 78 143 841 m3 dont 1 057 740 m3 effectivement consommé par le process soit 1.5 % du volume prélevé [@UsineIncinerationOrdures2020]. Valène à Guerville ainsi que le TIRU à Saint-Ouen sont aussi des incinérateurs. En l'absence d'information, on prendra le même ratio un ratio que pour IP XIII. IP XIII correspond à l'incinérateur de Ivry/Paris XIII. Le volume prélevé en 2019 était de 78 143 841 m3 dont 1 057 740 m3 effectivement consommé par le process soit 1.5 % du volume prélevé [@UsineIncinerationOrdures2020]. Valène à Guerville ainsi que le TIRU à Saint-Ouen sont aussi des incinérateurs. En l'absence d'information, on prendra le même ratio un ratio que pour IP XIII.
```{r} ```{r}
dfInd$r_conso[grepl("IP XIII", dfInd$nom_ouvrage)] <- 0.015 ouvrages_incinerateurs <- grepl("IP XIII", dfInd$nom_ouvrage) | dfInd$nom_ouvrage %in% c("VALENE", "T.I.R.U.")
dfInd$r_conso[dfInd$nom_ouvrage %in% c("VALENE", "T.I.R.U.")] <- 0.015 dfInd$type[ouvrages_incinerateurs] <- "energie"
dfInd$r_conso[ouvrages_incinerateurs] <- 0.015
``` ```
Isseane est un nouvel incinérateur qui produit de la chaleur sous forme de vapeur mis en route en 2008 en remplacement du T.I.R.U arrêté fin 2007 [@Isseane2020]. En 2017, le volume prélevé dans la Seine était de 91 199 732 m3 dont 207 819 m3 effectivement consommé par le process soit 0.25 % du volume prélevé [@DossierInformationPublic2018]. Isseane est un nouvel incinérateur qui produit de la chaleur sous forme de vapeur mis en route en 2008 en remplacement du T.I.R.U arrêté fin 2007 [@Isseane2020]. En 2017, le volume prélevé dans la Seine était de 91 199 732 m3 dont 207 819 m3 effectivement consommé par le process soit 0.25 % du volume prélevé [@DossierInformationPublic2018].
```{r} ```{r}
dfInd$type[dfInd$nom_ouvrage == "ISSEANE"] <- "energie"
dfInd$r_conso[dfInd$nom_ouvrage == "ISSEANE"] <- 0.0025 dfInd$r_conso[dfInd$nom_ouvrage == "ISSEANE"] <- 0.0025
``` ```
Les prélèvements "Climespace" et SUC correspondent à des centrales réfrigérantes qui prélèvent l'eau pour leur circuit de refroidissement et la restitue immédiatement. Les prélèvements "Climespace" et SUC correspondent à des centrales réfrigérantes qui prélèvent l'eau pour leur circuit de refroidissement et la restitue immédiatement.
```{r} ```{r}
dfInd$r_conso[dfInd$code_ouvrage == "OPR0000333925"] <- 0.0025 ouvrages_climespace <- dfInd$code_ouvrage == "OPR0000333925" | grepl("Climespace", dfInd$nom_ouvrage)
dfInd$r_conso[grepl("Climespace", dfInd$nom_ouvrage)] <- 0.0025 dfInd$type[ouvrages_climespace] <- "energie"
dfInd$r_conso[ouvrages_climespace] <- 0.0025
``` ```
Les usines d'Auteuil et d'Austerlitz sont des usines de pompage des eaux pour les eaux brutes de Paris ($r = 1$).
```{r}
dfInd$r_conso[dfInd$code_ouvrage == "OPR0000039823"] <- 1
dfInd$r_conso[dfInd$code_ouvrage == "OPR0000039822"] <- 1
```
D'après @trinhDiversificationRessourcesReseau2017, le canal de l'Ourcq et les usines d'Auteuil, d'Austerlitz et de la Villette (ouvrage pompant dans le canal de l'Ourcq) apportent 200 000 m<sup>3</sup> d'eau brute par jour. ## Typologie et ratio de consommation des autres industries
On spécifie les types d'industries à partir de mots clés recherchés dans le nom des ouvrages. Les mots-clés ci-dessous ont été définis à partir des 50 ouvrages aux prélèvements les plus importants&nbsp;:
```{r} ```{r}
knitr::kable( lTypeInd <- list(
dfInd %>% filter(r_conso == 1) %>% summarise(volume_min = sum(vol_min), papeterie = c("PAPER", "PAPETERIE", "SAICA"),
volume_moy = sum(vol_moy), chimie = c("RHODIA", "CHIMIE", "JOINT", "CLARIANT", "WEYLCHEM", "Raffinage", "DSP", "TOTAL FRANCE"),
volume_max = sum(vol_max)) / 365 fabrication = c("SPONTEX", "AUTOMOBILE", "RENAULT", "GOBAIN", "MOTEUR"),
IAA = c("TEREOS", "BIO", "CRISTAL UNION", "CU BAZANCOURT", "ALIMENTAIRE", "ROQUETTE", "G3", "BONDUELLE", "SUCRE",
"WILLIAM SAURIN", "NESTLE", "SOPAD", "COCA COLA", "MONDELEZ"),
BTP = c("GRANULAT", "CALCIA", "carri", "BETON", "PLATRE", "SABLIERE"),
metallurgie = c("SAM MONTEREAU", "ARCELORMITTAL", "SILEC", "ALUMINIUM", "CABLES", "FONDERIE", "FORGES", "SOUDAGE"),
energie = c("COGE", "C P C U", "C.P.C.U", "GLACE"),
irrigation = c("GOLF"),
SAV = c("A IV", "Seine AVAL") # STEU Seine Aval
) )
``` ```
Les données de la BNPE sont cohérentes avec un volume moyen de 211 milliers de m<sup>3</sup> par jour dans une fourchette de 171 à 256 millers de m<sup>3</sup> par jour. Le ratio d'eau consommée par type d'industrie est issu de @IndustrieEauAnalyse2003. Ces ratios ont aussi été utilisés dans le projet Explore 2070 [@bipeExplore2070Prospective2012].
## Affectation des autres industries
La ratio d'eau consommée varie beaucoup d'un type d'industrie à l'autre. @IndustrieEauAnalyse2003 propose des ratios qui ont été repris par @bipeExplore2070Prospective2012.
```{r} ```{r}
ratiosTypeInd <- c( ratiosTypeInd <- c(
...@@ -205,30 +301,19 @@ ratiosTypeInd <- c( ...@@ -205,30 +301,19 @@ ratiosTypeInd <- c(
chimie = 0.24, chimie = 0.24,
fabrication = 0.21, fabrication = 0.21,
IAA = 0.5, IAA = 0.5,
metallurgie = 0.12, metallurgie = 0.12,
energie = 0.03, energie = 0.03,
SAV = 1 # UPBD Seine Aval Hypothèse rejet en STEU irrigation = 1,
SAV = 0 # UPBD Seine Aval Hypothèse rejet en STEU
) )
``` ```
On peut affecter ces ratios aux différents types d'industries à partir de mots clés recherchés dans le nom des ouvrages. Les mots-clés ci-dessous ont été définis à partir des premiers 50 ouvrages ayant consommés le plus en une année
```{r} ```{r}
lTypeInd <- list(
papeterie = c("PAPER", "PAPETERIE", "SAICA"),
chimie = c("RHODIA", "CHIMIE", "JOINT", "CLARIANT", "WEYLCHEM", "Raffinage", "DSP"),
fabrication = c("SPONTEX", "AUTOMOBILE", "RENAULT", "GOBAIN"),
IAA = c("TEREOS", "BIO", "CRISTAL UNION", "CU BAZANCOURT", "ALIMENTAIRE", "ROQUETTE", "G3"),
BTP = c("GRANULATS", "CALCIA", "carri"),
metallurgie = c("SAM MONTEREAU", "ARCELORMITTAL", "SILEC"),
energie = c("COGE", "C P C U", "C.P.C.U", "GLACE"),
SAV = c("A IV", "Seine AVAL")
)
for(typeInd in names(lTypeInd)) { for(typeInd in names(lTypeInd)) {
for(keyword in lTypeInd[[typeInd]]) { for(keyword in lTypeInd[[typeInd]]) {
found <- which(is.na(dfInd$r_conso) & grepl(paste0("(?i)", keyword), dfInd$nom_ouvrage)) found <- which(is.na(dfInd$r_conso) & grepl(paste0("(?i)", keyword), dfInd$nom_ouvrage))
message("Keyword: ", keyword, " - Found ", length(found)) message("Keyword: ", keyword, " - Found ", length(found))
dfInd$type[found] <- typeInd
dfInd$r_conso[found] <- ratiosTypeInd[typeInd] dfInd$r_conso[found] <- ratiosTypeInd[typeInd]
} }
} }
...@@ -237,25 +322,22 @@ for(typeInd in names(lTypeInd)) { ...@@ -237,25 +322,22 @@ for(typeInd in names(lTypeInd)) {
Les `r length(which(is.na(dfInd$r_conso)))` ouvrages non classés totalisent `r sum(dfInd$vol_moy[is.na(dfInd$r_conso)])` millions de m<sup>3</sup> en moyenne par an. Soit `r round(sum(dfInd$vol_moy[is.na(dfInd$r_conso)]) / sum(dfInd$vol_moy) * 100,2)` % du total des prélèvements industriels. Nous les classerons en divers avec $r=0.5$. Les `r length(which(is.na(dfInd$r_conso)))` ouvrages non classés totalisent `r sum(dfInd$vol_moy[is.na(dfInd$r_conso)])` millions de m<sup>3</sup> en moyenne par an. Soit `r round(sum(dfInd$vol_moy[is.na(dfInd$r_conso)]) / sum(dfInd$vol_moy) * 100,2)` % du total des prélèvements industriels. Nous les classerons en divers avec $r=0.5$.
```{r} ```{r}
dfInd$type[is.na(dfInd$type)] <- "divers"
dfInd$r_conso[is.na(dfInd$r_conso)] <- 0.5 dfInd$r_conso[is.na(dfInd$r_conso)] <- 0.5
``` ```
## Calcul des prélèvements nets ## Prélèvements brutes et nets par type d'industrie
Les ouvrages d'alimentation du canal de l'Ourcq sont en doublon dans la base avec l'usage "Canaux de navigation" et le même code ouvrage, il faut les supprimer.
De plus d'eau prises d'eau de la ville de Paris classé en usage "canal" sont en fait des prises d'eau du canal de l'Ourcq à requalifier en usage industriel : la prise de Congis-sur-Thérouane est [l'usine élévatoire de Villers-lès-Rigault](https://fr.wikipedia.org/wiki/Usine_%C3%A9l%C3%A9vatoire_de_Villers-l%C3%A8s-Rigault) qui alimente le canal de l'Ourcq. La prise de Gressy alimente aussi le canal de l'Ourcq en dérivant une partie du débit de la Beuvronne.
```{r} ```{r}
dfChroOurcq <- dfChro %>% filter(code_ouvrage %in% ouvrages_Ourcq, code_usage == "CAN") knitr::kable(
dfInd %>% mutate(vol_net = vol_moy * r_conso) %>%
dfChro <- dfChro %>% group_by(type) %>% summarise(nb_ouv = n(), vol_brut = sum(vol_moy), vol_net = sum(vol_net)) %>%
anti_join(dfChroOurcq) arrange(-vol_net)
)
dfChro <- dfChro %>%
mutate(code_usage = replace(code_usage, nom_ouvrage == "VILLE DE PARIS" & code_usage == "CAN", "IND"))
``` ```
# Calcul des prélèvements nets
Calcul des prélèvements net avec $r=1$ pour les autres usages (AEP, canaux, irrigation). Calcul des prélèvements net avec $r=1$ pour les autres usages (AEP, canaux, irrigation).
```{r} ```{r}
...@@ -280,9 +362,9 @@ saveRDS(dfChroNet, "v10-dfChroNet.rds") ...@@ -280,9 +362,9 @@ saveRDS(dfChroNet, "v10-dfChroNet.rds")
## Selon le prélèvement moyen de l'ouvrage ## Selon le prélèvement moyen de l'ouvrage
```{r} ```{r}
dfMoy <- dfChroNet %>% dfMoy <- dfChroNet %>%
group_by(code_ouvrage, nom_ouvrage, code_usage, code_type_milieu, code_commune_insee, nom_commune, uri_ouvrage) %>% group_by(code_ouvrage, nom_ouvrage, code_usage, code_type_milieu, code_commune_insee, nom_commune, uri_ouvrage) %>%
summarise(vol_moy = mean(volume) / 1E6, summarise(vol_moy = mean(volume) / 1E6,
vol_min = min(volume) / 1E6, vol_min = min(volume) / 1E6,
vol_max = max(volume) / 1E6, vol_max = max(volume) / 1E6,
.groups = "drop") .groups = "drop")
...@@ -290,8 +372,8 @@ dfMoy <- dfChroNet %>% ...@@ -290,8 +372,8 @@ dfMoy <- dfChroNet %>%
```{r} ```{r}
ggplot(dfMoy, aes(x = log10(vol_moy * 1E6))) + ggplot(dfMoy, aes(x = log10(vol_moy * 1E6))) +
geom_histogram(binwidth = 1) + geom_histogram(binwidth = 1) +
scale_x_continuous(breaks = seq_len(floor(log10(max(dfMoy$vol_moy * 1E6))))) + scale_x_continuous(breaks = seq_len(floor(log10(max(dfMoy$vol_moy * 1E6))))) +
labs(y = "Nombre d'ouvrages", x = "Prélèvement par ouvrage (log10 m3)") labs(y = "Nombre d'ouvrages", x = "Prélèvement par ouvrage (log10 m3)")
``` ```
...@@ -300,27 +382,28 @@ La plupart des ouvrages prélèvent moins de 100 000 m<sup>3</sup> par an. ...@@ -300,27 +382,28 @@ La plupart des ouvrages prélèvent moins de 100 000 m<sup>3</sup> par an.
```{r} ```{r}
ggplot(dfMoy %>% ggplot(dfMoy %>%
mutate(VolumeLog10 = floor(log10(vol_moy * 1E6))) %>% mutate(VolumeLog10 = floor(log10(vol_moy * 1E6))) %>%
group_by(VolumeLog10) %>% group_by(VolumeLog10) %>%
summarise(vol_moy = sum(vol_moy)) %>% summarise(vol_moy = sum(vol_moy)) %>%
filter(vol_moy > 0), filter(vol_moy > 0),
aes(x = VolumeLog10, y = vol_moy)) + aes(x = VolumeLog10, y = vol_moy)) +
geom_col() + geom_col() +
scale_x_continuous(breaks = seq_len(floor(log10(max(dfMoy$vol_moy * 1E6))))) + scale_x_continuous(breaks = seq_len(floor(log10(max(dfMoy$vol_moy * 1E6))))) +
labs(y = "volume net prélevé (millions m3)", x = "Prélèvement par ouvrage (log10 m3)") labs(y = "volume net prélevé (millions m3)", x = "Prélèvement par ouvrage (log10 m3)")
``` ```
Les ouvrages prélevant moins de 100 000 m<sup>3</sup>/an représentent plus de 700 millions de m3/an mais les volumes les plus importants sont prélevés par des ouvrages prélevant entre 10 et 100 millions de m<sup>3</sup>/an avec plus de 2 milliards de m<sup>3</sup>/an prélevés en moyenne.
Les ouvrages prélevant moins de 100 000 m<sup>3</sup>/an représentent plus de 700 millions de m3/an mais les volumes les plus importants sont prélevés par des ouvrages prélevant entre 10 et 100 millions de m<sup>3</sup>/an avec plus de 1,5 milliards de m<sup>3</sup>/an prélevés en moyenne.
## Evolution par type de milieu prélevé ## Evolution par type de milieu prélevé
```{r} ```{r}
ggplot( ggplot(
dfChroNet %>% dfChroNet %>%
group_by(code_type_milieu, annee) %>% group_by(code_type_milieu, annee) %>%
summarise(nb = n(), .groups = 'drop'), summarise(nb = n(), .groups = 'drop'),
aes(x=annee, y=nb)) + aes(x=annee, y=nb)) +
geom_col(aes(fill = code_type_milieu)) + geom_col(aes(fill = code_type_milieu)) +
labs(x = "Année", y = "Nombre d'ouvrages") + labs(x = "Année", y = "Nombre d'ouvrages") +
scale_x_continuous(breaks = sort(unique(dfChro$annee))) scale_x_continuous(breaks = sort(unique(dfChro$annee)))
...@@ -328,23 +411,23 @@ ggplot( ...@@ -328,23 +411,23 @@ ggplot(
```{r} ```{r}
ggplot( ggplot(
dfChroNet %>% dfChroNet %>%
group_by(code_type_milieu, annee) %>% group_by(code_type_milieu, annee) %>%
summarise(volume = sum(volume) / 1E6, .groups = 'drop'), summarise(volume = sum(volume) / 1E6, .groups = 'drop'),
aes(x=annee, y=volume)) + aes(x=annee, y=volume)) +
geom_col(aes(fill = code_type_milieu)) + geom_col(aes(fill = code_type_milieu)) +
scale_x_continuous(breaks = sort(unique(dfChro$annee))) + scale_x_continuous(breaks = sort(unique(dfChro$annee))) +
labs(y = "volume net prélevé (millions m3)", x = "Année") labs(y = "volume net prélevé (millions m3)", x = "Année")
``` ```
## Evolution par type d'usage ## Evolution par type d'usage
```{r} ```{r}
ggplot( ggplot(
dfChroNet %>% dfChroNet %>%
group_by(code_usage, annee) %>% group_by(code_usage, annee) %>%
summarise(nb = n(), .groups = 'drop'), summarise(nb = n(), .groups = 'drop'),
aes(x=annee, y=nb)) + aes(x=annee, y=nb)) +
geom_col(aes(fill = code_usage)) + geom_col(aes(fill = code_usage)) +
labs(x = "Année", y = "Nombre d'ouvrages") + labs(x = "Année", y = "Nombre d'ouvrages") +
scale_x_continuous(breaks = sort(unique(dfChro$annee))) scale_x_continuous(breaks = sort(unique(dfChro$annee)))
...@@ -352,10 +435,10 @@ ggplot( ...@@ -352,10 +435,10 @@ ggplot(
```{r} ```{r}
ggplot( ggplot(
dfChroNet %>% dfChroNet %>%
group_by(code_usage, annee) %>% group_by(code_usage, annee) %>%
summarise(volume = sum(volume), .groups = 'drop'), summarise(volume = sum(volume), .groups = 'drop'),
aes(x=annee, y=volume / 1E6)) + aes(x=annee, y=volume / 1E6)) +
geom_col(aes(fill = code_usage)) + geom_col(aes(fill = code_usage)) +
labs(x = "Année", y = "volume net prélevé (millions m3)") + labs(x = "Année", y = "volume net prélevé (millions m3)") +
scale_x_continuous(breaks = sort(unique(dfChro$annee))) scale_x_continuous(breaks = sort(unique(dfChro$annee)))
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment