diff --git a/DESCRIPTION b/DESCRIPTION
index b9367f50639f4ca265498abab827a52bea30d7a9..7d5ae15f9b6a9c6a2f72fdd4553e50234beaf422 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,7 +1,7 @@
 Package: floodam.data
 Title: An easy way to recover and prepare some useful data linked to CBA
  applied to flood
-Version: 0.9.23.0
+Version: 0.9.24.0
 Authors@R: c(
     person(given = "Frédéric",
            family = "Grelot",
diff --git a/R/adapt_gaspar.R b/R/adapt_gaspar.R
index b7780baac41fe3919e64e6ae7befcf6686acac83..e68f435c4956de8559be2711263a269eb85b47b5 100644
--- a/R/adapt_gaspar.R
+++ b/R/adapt_gaspar.R
@@ -96,6 +96,23 @@ adapt_gaspar = function(
     unlink(file.path(origin, version, sprintf("%s_gaspar.csv", theme)))
 
     # Application of scheme
+
+    ## Temporary pretreatment necessary for catnat theme because of data issues
+    if (theme == "catnat") {
+        result$num_risque_jo = gsub(" ", "", result$num_risque_jo)
+        result$lib_risque_jo = gsub("\uFFFD", "\u00E9", result$lib_risque_jo)
+        num_risque_jo = stats::setNames(
+            floodam.data::catnat_classification$catnat,
+            floodam.data::catnat_classification$catnat_label_fr
+        )
+        selection = result$num_risque_jo == ""
+        result$num_risque_jo[selection] = num_risque_jo[result$lib_risque_jo[selection]]
+        if (nrow(unique(result[c("num_risque_jo", "lib_risque_jo")])) !=
+                nrow(floodam.data::catnat_classification)) {
+            stop("Trouble with catnat_classification. Check compatibility with data")
+        }
+    }
+
     result = apply_scheme(result, scheme)
 
     # Selection of flood hazard
diff --git a/R/analyse_gaspar.R b/R/analyse_gaspar.R
index 916e19343d043a66acec816c531b99f3f611cc6c..fd66e959789b43f0f4ef158d3b16cb89ef101e85 100644
--- a/R/analyse_gaspar.R
+++ b/R/analyse_gaspar.R
@@ -23,15 +23,76 @@ analyse_catnat = function(catnat) {
     event = event[order(event[["date_start"]]), ]
     event[["duration"]] = event[["date_end"]] - event[["date_start"]]
     # alert_mattermost(c("**gaspar - last catnat events**", "", as.character(knitr::kable(tail(event, 15), row.names = FALSE))))
-    
-    year = table(factor(format(event[["date_start"]], "%Y"), levels = 1982:as.integer(format(Sys.Date(), "%Y"))))
-    month = table(factor(format(event[["date_start"]], "%m"), levels = sprintf("%02d", 1:12)))
-    type = table(event[["catnat"]])
+
+    event[["phenomena"]] = NA_character_
+    id = 1
+    for (i in seq(nrow(event))) {
+        max_date = suppressWarnings(max(event[event[["phenomena"]] == id, "date_end"], na.rm = TRUE))
+        if (i > 1 && (event[i, "date_start"] - 1 >= max_date + 1)) {
+            id = id + 1
+        }
+        event[i, "phenomena"] = id
+    }
+
+    phenomena = do.call(
+        rbind,
+        mapply(
+            function(x){
+                result = data.frame(
+                    id = unique(x[["phenomena"]]),
+                    catnat_type = length(unique(x[["catnat"]])),
+                    date_start = min(x[["date_start"]]),
+                    date_end = min(x[["date_end"]]),
+                    catnat_decree = sum(x[["commune"]])
+                )
+            },
+            split(event, event[["phenomena"]]),
+            SIMPLIFY = FALSE
+        )
+    )
+
+    catnat = merge(catnat, event[c("catnat", "date_start", "date_end", "duration", "phenomena")])
+    phenomena = merge(
+        phenomena,
+        stats::aggregate(catnat["commune"], catnat["phenomena"], length),
+        by.x = "id", by.y = "phenomena"
+    )
+    phenomena = phenomena[order(as.integer(phenomena[["id"]])), ]
+
+    year = 1982:as.integer(format(Sys.Date(), "%Y"))
+    n_year = function(x, year) {
+        as.vector(table(factor(format(x[["date_start"]], "%Y"), levels = year)))
+    }
+    year = data.frame(
+        year = year,
+        catnat = n_year(catnat, year),
+        event = n_year(event, year),
+        phenomena = n_year(phenomena, year)
+    )
+
+    month = sprintf("%02d", 1:12)
+    n_month = function(x, year) {
+        as.vector(table(factor(format(x[["date_start"]], "%m"), levels = month)))
+    }
+    month = data.frame(
+        month = month,
+        catnat = n_month(catnat, year),
+        event = n_month(event, year),
+        phenomena = n_month(phenomena, year)
+    )
+
+    n_type = function(x, year) {as.vector(table(x[["catnat"]]))}
+    type = data.frame(
+        type = levels(event[["catnat"]]),
+        catnat = n_type(catnat),
+        event = n_type(event)
+    )
 
     return (
         list(
             catnat = catnat,
             event = event,
+            phenomena = phenomena,
             year = year,
             month = month,
             type = type
@@ -43,11 +104,11 @@ analyse_catnat = function(catnat) {
 }
 
 #' @title Analyse ppr theme from gaspar to give state of documents
-#' 
+#'
 #' @details
 #'
 #' To be added.
-#' 
+#'
 #' @param ppr data.frame, data to be analysed
 #'
 #' @return A factor of state.
@@ -57,7 +118,7 @@ analyse_catnat = function(catnat) {
 #' @encoding UTF-8
 #' @author Frédéric Grelot
 
-analyse_ppr_state =  function(ppr) {
+analyse_ppr_state = function(ppr) {
     classification = data.frame(
         in_use =
             !is.na(ppr[["date_approval"]]) &
@@ -93,7 +154,7 @@ analyse_ppr_state =  function(ppr) {
 }
 
 #' @title Analyse ppr theme from gaspar to give some elementary results
-#' 
+#'
 #' @details
 #'
 #' The following treatments are performed:
diff --git a/data/catnat_classification.rda b/data/catnat_classification.rda
index 8e9fb13c0cad8a8092d6ab41f253bf1341484576..7a9c50b22d8d06934302877a2bb25d0e068010bb 100644
Binary files a/data/catnat_classification.rda and b/data/catnat_classification.rda differ
diff --git a/inst/extdata/catnat_classification-2022-03-31.csv b/inst/extdata/catnat_classification-2022-03-31.csv
new file mode 100644
index 0000000000000000000000000000000000000000..02d80a05248ab5062ec38133207a253e17f108e4
--- /dev/null
+++ b/inst/extdata/catnat_classification-2022-03-31.csv
@@ -0,0 +1,54 @@
+catnat;catnat_label_fr;flooding;mudslide;water_table;torrential;submersion;hurricane
+1;Inondations et coulées de boue;TRUE;TRUE;;;;
+2;Séisme;;;;;;
+3;Avalanche;;;;;;
+4;Glissement de terrain;;;;;;
+5;Effondrements / éboulements;;;;;;
+6;Raz-de-marée;;;;;TRUE;
+7;Poids de la neige - chutes de neige;;;;;;
+8;Tempête;;;;;;
+10;Lave torrentielle;;;;TRUE;;
+12;Mouvements de terrain consécutifs à la sécheresse;;;;;;
+13;Tassement de terrain;;;;;;
+14;Effondrement de terrain;;;;;;
+15;Inondations, coulées de boue et mouvements de terrain;TRUE;TRUE;;;;
+16;Mouvements de terrain;;;;;;
+17;Glissements de terrain et éboulements rocheux;;;;;;
+19;Eboulement, glissement et affaissement de terrain;;;;;;
+21;Inondations par remontées de nappe phréatique;;;TRUE;;;
+22;Eboulement ou effondrement de carrière;;;;;;
+23;Eboulements rocheux;;;;;;
+24;Effondrement de falaise;;;;;;
+25;Eboulement de falaise;;;;;;
+26;Affondrement / éboulement de coteaux;;;;;;
+27;Affaissement de falaise;;;;;;
+28;Affaissement de terrain;;;;;;
+29;Tornade et grêle;;;;;;
+30;Phénomènes tropicaux (ouragan, onde) (inondations, coulées de boue, éboulements, ...);TRUE;TRUE;;;;TRUE
+31;Chocs mécaniques liés à l'action des vagues;;;;;TRUE;
+32;Inondations et chocs mécaniques liés à l'action des vagues;TRUE;;;;TRUE;
+34;Glissement de terrain et effondrement de terrain;;;;;;
+35;Inondations, coulées de boue et effets exceptionnels dus aux précipitations;TRUE;TRUE;;;;
+36;Inondations, coulées de boue et chocs mécaniques liés à l'action des vagues;TRUE;TRUE;;;TRUE;
+37;Eboulement de terrain;;;;;;
+38;Chutes de rochers / de blocs rocheux;;;;;;
+39;Mouvements de terrain différentiels consécutifs à la sécheresse et à la réhydratation des sols;;;;;;
+41;Crues torrentielles et glissements de terrain;;;;TRUE;;
+42;Inondations par remontée de la nappe phréatique et mouvements de terrain;;;TRUE;;;
+43;Inondations, coulées de boue et glissements de terrain;TRUE;TRUE;;;;
+45;Inondations, coulées de boue, glissements et chocs mécaniques liés à l'action des vagues;TRUE;TRUE;;;TRUE;
+46;Coulées de boue et lave torrentielle;;TRUE;;TRUE;;
+47;inondations et coulées de boue, inondations par remontées de nappe phréatique;TRUE;TRUE;TRUE;;;
+48;Inondations, coulées de boue, mouvements de terrain et chocs mécaniques liés à l'action des vagues;TRUE;TRUE;;;TRUE;TRUE
+60;Inondations, coulées de boue, éboulements, glissements ou affaissements de terrain et chocs mécaniques liés à l'action des vagues consécutifs au passage de l'ouragan Luis;TRUE;TRUE;;;TRUE;TRUE
+61;Inondations, coulées de boue, éboulements, glissements ou affaissements de terrain consécutifs au passage de l'ouragan Marylin;TRUE;TRUE;;;;TRUE
+62;Inondations, coulées de boue, éboulements, glissements ou affaissements de terrain consécutifs au passage de l'onde tropicale;TRUE;TRUE;;;;TRUE
+63;Inondations, coulées de boue, éboulements, glissements ou affaissements de terrain et chocs mécaniques liés à l'action des vagues consécutifs au passage de la dépression tropicale Iris;TRUE;TRUE;;;TRUE;TRUE
+64;Vents cycloniques;;;;;;
+65;inondations et coulées de boue, chocs mécaniques liés à l'action des vagues, vents cycloniques;TRUE;TRUE;;;TRUE;TRUE
+66;inondations et coulées de boue, vents cycloniques;TRUE;TRUE;;;;TRUE
+67;chocs mécaniques liés à l'action des vagues, vents cycloniques;;;;;TRUE;TRUE
+68;éruption volcanique;;;;;;
+69;chocs mécaniques liés à l'action des vagues, mouvements de terrain;;;;;TRUE;
+90;inondations et coulées de boue et inondations et chocs mécaniques liés à l'action des vagues;TRUE;TRUE;;;TRUE;
+91;Inondations par remontées de nappe naturelle;;;TRUE;;;
diff --git a/inst/extdata/catnat_classification.csv b/inst/extdata/catnat_classification.csv
index 02d80a05248ab5062ec38133207a253e17f108e4..374ddaf1029d58c2b2f15d0a0cf60a5a2850e91f 100644
--- a/inst/extdata/catnat_classification.csv
+++ b/inst/extdata/catnat_classification.csv
@@ -1,54 +1,23 @@
 catnat;catnat_label_fr;flooding;mudslide;water_table;torrential;submersion;hurricane
-1;Inondations et coulées de boue;TRUE;TRUE;;;;
-2;Séisme;;;;;;
-3;Avalanche;;;;;;
-4;Glissement de terrain;;;;;;
-5;Effondrements / éboulements;;;;;;
-6;Raz-de-marée;;;;;TRUE;
-7;Poids de la neige - chutes de neige;;;;;;
-8;Tempête;;;;;;
-10;Lave torrentielle;;;;TRUE;;
-12;Mouvements de terrain consécutifs à la sécheresse;;;;;;
-13;Tassement de terrain;;;;;;
-14;Effondrement de terrain;;;;;;
-15;Inondations, coulées de boue et mouvements de terrain;TRUE;TRUE;;;;
-16;Mouvements de terrain;;;;;;
-17;Glissements de terrain et éboulements rocheux;;;;;;
-19;Eboulement, glissement et affaissement de terrain;;;;;;
-21;Inondations par remontées de nappe phréatique;;;TRUE;;;
-22;Eboulement ou effondrement de carrière;;;;;;
-23;Eboulements rocheux;;;;;;
-24;Effondrement de falaise;;;;;;
-25;Eboulement de falaise;;;;;;
-26;Affondrement / éboulement de coteaux;;;;;;
-27;Affaissement de falaise;;;;;;
-28;Affaissement de terrain;;;;;;
-29;Tornade et grêle;;;;;;
-30;Phénomènes tropicaux (ouragan, onde) (inondations, coulées de boue, éboulements, ...);TRUE;TRUE;;;;TRUE
-31;Chocs mécaniques liés à l'action des vagues;;;;;TRUE;
-32;Inondations et chocs mécaniques liés à l'action des vagues;TRUE;;;;TRUE;
-34;Glissement de terrain et effondrement de terrain;;;;;;
-35;Inondations, coulées de boue et effets exceptionnels dus aux précipitations;TRUE;TRUE;;;;
-36;Inondations, coulées de boue et chocs mécaniques liés à l'action des vagues;TRUE;TRUE;;;TRUE;
-37;Eboulement de terrain;;;;;;
-38;Chutes de rochers / de blocs rocheux;;;;;;
-39;Mouvements de terrain différentiels consécutifs à la sécheresse et à la réhydratation des sols;;;;;;
-41;Crues torrentielles et glissements de terrain;;;;TRUE;;
-42;Inondations par remontée de la nappe phréatique et mouvements de terrain;;;TRUE;;;
-43;Inondations, coulées de boue et glissements de terrain;TRUE;TRUE;;;;
-45;Inondations, coulées de boue, glissements et chocs mécaniques liés à l'action des vagues;TRUE;TRUE;;;TRUE;
-46;Coulées de boue et lave torrentielle;;TRUE;;TRUE;;
-47;inondations et coulées de boue, inondations par remontées de nappe phréatique;TRUE;TRUE;TRUE;;;
-48;Inondations, coulées de boue, mouvements de terrain et chocs mécaniques liés à l'action des vagues;TRUE;TRUE;;;TRUE;TRUE
-60;Inondations, coulées de boue, éboulements, glissements ou affaissements de terrain et chocs mécaniques liés à l'action des vagues consécutifs au passage de l'ouragan Luis;TRUE;TRUE;;;TRUE;TRUE
-61;Inondations, coulées de boue, éboulements, glissements ou affaissements de terrain consécutifs au passage de l'ouragan Marylin;TRUE;TRUE;;;;TRUE
-62;Inondations, coulées de boue, éboulements, glissements ou affaissements de terrain consécutifs au passage de l'onde tropicale;TRUE;TRUE;;;;TRUE
-63;Inondations, coulées de boue, éboulements, glissements ou affaissements de terrain et chocs mécaniques liés à l'action des vagues consécutifs au passage de la dépression tropicale Iris;TRUE;TRUE;;;TRUE;TRUE
-64;Vents cycloniques;;;;;;
-65;inondations et coulées de boue, chocs mécaniques liés à l'action des vagues, vents cycloniques;TRUE;TRUE;;;TRUE;TRUE
-66;inondations et coulées de boue, vents cycloniques;TRUE;TRUE;;;;TRUE
-67;chocs mécaniques liés à l'action des vagues, vents cycloniques;;;;;TRUE;TRUE
-68;éruption volcanique;;;;;;
-69;chocs mécaniques liés à l'action des vagues, mouvements de terrain;;;;;TRUE;
-90;inondations et coulées de boue et inondations et chocs mécaniques liés à l'action des vagues;TRUE;TRUE;;;TRUE;
-91;Inondations par remontées de nappe naturelle;;;TRUE;;;
+ALS;Algues Sargasses;;;;;;
+AVA;Avalanche;;;;;;
+CMV;Chocs Mécaniques liés à l'action des Vagues;;;;;TRUE;
+COB;Coulée de Boue;;TRUE;;;;
+DIV;Divers;;;;;;
+ECB;Eboulement et/ou Chute de Blocs;;;;;;
+EFA;Effondrement et/ou Affaisement;;;;;;
+VOL;Eruption Volcanique;;;;;;
+GLT;Glissement de Terrain;;;;;;
+GER;Glissement et Eboulement Rocheux;;;;;;
+GET;Glissement et Effondrement de Terrain;;;;;;
+GRL;Grêle;;;;;;
+ICB;Inondations et/ou Coulées de Boue;TRUE;TRUE;;;;
+IRN;Inondations Remontée Nappe;;;TRUE;;;
+LVT;Lave Torrentielle;;;;TRUE;;
+MVT;Mouvement de Terrain;;;;;;
+PDN;Poids de la Neige;;;;;;
+RAZ;Raz de Marée;;;;;TRUE;
+SEC;Sécheresse;;;;;;
+SEI;Secousse Sismique;;;;;;
+TMP;Tempête;;;;;;
+VCY;Vents Cycloniques;;;;;;
diff --git a/man/catnat_classification.Rd b/man/catnat_classification.Rd
index f5eda82e917609011f41195c74fc73abf2aaeccb..2333c4a377a45d2545f4038c806583fc6d4db38e 100644
--- a/man/catnat_classification.Rd
+++ b/man/catnat_classification.Rd
@@ -5,7 +5,7 @@
 \alias{catnat_classification}
 \title{Classification of hazards events in catnat (gaspar DB)}
 \format{
-An object of class \code{data.frame} with 53 rows and 8 columns.
+An object of class \code{data.frame} with 22 rows and 8 columns.
 }
 \usage{
 catnat_classification
diff --git a/script/maintain_gaspar.R b/script/maintain_gaspar.R
index 052953747857123d48d41bf70a121d554f4693fb..7d7bee6d35b130699300674ef82122be0442e050 100644
--- a/script/maintain_gaspar.R
+++ b/script/maintain_gaspar.R
@@ -17,4 +17,9 @@ ppri = adapt_gaspar(
     theme = "pprn",
     scope = list("so_ii" = so.ii::so_ii_scope),
     retrieve = TRUE, keep = TRUE)
-ppri_commune = analyse_ppr(ppri)
\ No newline at end of file
+ppri_commune = analyse_ppr(ppri)
+
+catnat = adapt_gaspar(original, adapted, scope = list("so_ii" = so.ii::so_ii_scope), retrieve = TRUE, keep = TRUE)
+
+catnat = readRDS("data-local/floodam-data/adapted/gaspar/2022-03-14/catnat_so_ii.rds")
+analyse = analyse_catnat(catnat)