12 Exploiter l’hydrologie future sur le territoire

Cette section du manuscrit est encore inachevée. Quelques éléments sont toutefois déjà mis à disposition ci-dessous.

12.1 L’espace Données et produits du portail DRIAS-Eau

12.1.1 Les chroniques journalières

12.1.2 Les chroniques annuelles d’indicateurs

12.2 Lire les fichiers netcdf

L’encadré suivant est une feuille volante qu’une précédente aventurière avait gribouillée lors d’un passage dans un monastère parisien. Cette aventurière avait ainsi retranscrit les prêches – aussi appelées Sesssion de formation du projet LIFE Eau&Climat – de plusieurs lettrés qui connaisaient les formules magiques dans le langage R pour ouvrir des fichiers netcdf. Cette simple feuille volante devrait vous apporter la clé pour accéder à l’ensemble des projections de débit Explore2.

Exemple de script R définissant et utilisant une fonction pour extraire la chronique d’une seule station d’un fichier netcdf.


#######################################################
# Installer le package ncdf4 (à faire une seule fois)
#install.packages('ncdf4')
#######################################################

#######################################################
# Définir les outils nécessaires (package et fonction)
#######################################################

# Charger le package ncdf4
library(ncdf4)

# Definir une fonction générant un fichier csv à partir du nom d'un fichier netcdf
# et d'un code station
ecrire_chronj_csv <- function(fichier, code) {
  
  # Ouvrir la connexion au fichier netcdf
  print(fichier)
  nc <- nc_open(fichier)
  
  # Afficher le contenu du fichier (optionnel mais conseillé)
  print(nc)
  
  # Extraire le numéro de la ligne qui correspond au code station
  indice_code <- match(code, ncvar_get(nc, 'code'))
  
  # Extraire la chronique de débit pour ce code station
  debit <- ncvar_get(nc, 'debit', start = c(indice_code, 1), count = c(1, -1))
  
  # Extraire la série correspondante de dates
  date <- ncvar_get(nc, 'time') + as.Date('1950-01-01')
  
  # Fermer la connexion au fichier netcdf
  nc_close(nc)
  
  # Faire un graphe de la chronique de débit en fonction de la date (optionnel)
  #plot(x = date, y = debit, type = 'l')
  
  # Ecrire un fichier .csv avec une colonne "date" et une colonne "debit"
  # avec un nom composé du nom de fichier initial et du code station
  write.csv(file = paste0(fichier, '_', code, '.csv'), data.frame(date, debit))
  
  return(data.frame(date, debit))
}

#######################################################
# Utiliser la fonction sur un exemple
#######################################################

# Définir le répertoire du fichier netcdf (à modifier)
repertoire <- "/home/jean-philippe.vidal/work/projets/LIFE_Eau_et_Climat/actions/C5/formation_pratique/manipuler_chroniques_journalieres/series/"

# Définir le nom du fichier netcdf (à modifier)
fichier <- "debit_France_CNRM-CERFACS-CNRM-CM5_historical_r1i1p1_CNRM-ALADIN63_v2_MF-ADAMONT-SAFRAN-1980-2011_MF-SIM2_day_19510801-20050731.nc"
# Définir le code station (à modifier)
code <- "O200001001"

# Exécuter la fonction
ecrire_chronj_csv(paste0(repertoire, fichier), code)

12.3 Manipuler les données

12.3.1 Premier exemple : choisir une autre période de référence

12.3.2 Deuxième exemple : Sélectionner des projections hydrologiques

Si vous avez lu l’ensemble de ce livre, vous pouvez vous rendre à la section suivante