script.R 4.08 KB
Newer Older
###### A MODIFIER ######
Heraut Louis's avatar
Heraut Louis committed

Heraut Louis's avatar
Heraut Louis committed
# Path to the data
Heraut Louis's avatar
Heraut Louis committed
computer_data_path = 
    "/home/louis/Documents/bouleau/INRAE/CDD_stationnarite/data"
    # "C:\\Users\\louis.heraut\\Documents\\CDD_stationnarite\\data"
Heraut Louis's avatar
Heraut Louis committed
# Work path
Heraut Louis's avatar
Heraut Louis committed
computer_work_path = 
    "/home/louis/Documents/bouleau/INRAE/CDD_stationnarite/ASH"
    # "C:\\Users\\louis.heraut\\Documents\\CDD_stationnarite\\ASH"
Heraut Louis's avatar
Heraut Louis committed

### BANQUE HYDRO ###
Heraut Louis's avatar
Heraut Louis committed
# Path to the directory where BH data is stored
    # ""
    "BanqueHydro_Export2021"
Heraut Louis's avatar
Heraut Louis committed

## Manual selection ##
# Name of the file that will be analysed from the BH directory
Heraut Louis's avatar
Heraut Louis committed
    c("H5920011_HYDRO_QJM.txt", "K4470010_HYDRO_QJM.txt")
Heraut Louis's avatar
Heraut Louis committed
    # "all"

## Or list selection ##
Heraut Louis's avatar
Heraut Louis committed
# Path to the list file of BH data that will be analysed
Heraut Louis's avatar
Heraut Louis committed
    ""
Heraut Louis's avatar
Heraut Louis committed

Heraut Louis's avatar
Heraut Louis committed
    ""
    # "Liste-station_RRSE.docx" 
Heraut Louis's avatar
Heraut Louis committed

### NIVALE ###
Heraut Louis's avatar
Heraut Louis committed
# Path to the directory where NV data is stored
NVfiledir = 
    ""
    # "France207"
Heraut Louis's avatar
Heraut Louis committed

# Name of the file that will be analysed from the NV directory
NVfilename = 
    ""
    # "all"
Heraut Louis's avatar
Heraut Louis committed
# Path to the list file of metadata about station that will be analysed
Heraut Louis's avatar
Heraut Louis committed
NVlistdir =
    ""

NVlistname = 
    ""
    # "liste_bv_principaux_global.txt"
Heraut Louis's avatar
Heraut Louis committed


### TREND ANALYSIS ###
# Time period to analyse
period = c("1960-01-01","2019-12-31")
# period = c("1960-01-01","2020-01-01")
Heraut Louis's avatar
Heraut Louis committed

########################
Heraut Louis's avatar
Heraut Louis committed
# FILE STRUCTURE #
Heraut Louis's avatar
Heraut Louis committed
# Set working directory
setwd(computer_work_path)

# Sourcing R file
Heraut Louis's avatar
Heraut Louis committed
source('processing/extractBH.R')
source('processing/extractNV.R')
Heraut Louis's avatar
Heraut Louis committed
source('processing/format.R')
source('processing/analyse.R')
Heraut Louis's avatar
Heraut Louis committed
source('plotting/panel.R')
# source('plotting/layout.R')
Heraut Louis's avatar
Heraut Louis committed

# Usefull library
Heraut Louis's avatar
Heraut Louis committed

# Result directory
resdir = file.path(computer_work_path, 'results')
if (!(file.exists(resdir))) {
  dir.create(resdir)
}
Heraut Louis's avatar
Heraut Louis committed
print(paste('resdir :', resdir))

# Figure directory
figdir = file.path(computer_work_path, 'figures')
if (!(file.exists(figdir))) {
  dir.create(figdir)
}
Heraut Louis's avatar
Heraut Louis committed
print(paste('figdir :', figdir))


Heraut Louis's avatar
Heraut Louis committed
# BANQUE HYDRO #
Heraut Louis's avatar
Heraut Louis committed
# Get only the selected station from a list station file
if (BHlistname != ""){
Heraut Louis's avatar
Heraut Louis committed
    df_selec = get_selection(computer_data_path, 
                             BHlistdir,
                             BHlistname,
Heraut Louis's avatar
Heraut Louis committed
                             cnames=c('code',
                                      'station', 
                                      'BV_km2',
                                      'axe_principal_concerne',
                                      'longueur_serie',
                                      'commentaires',
                                      'choix'), 
Heraut Louis's avatar
Heraut Louis committed
                             c_num=c('BV_km2',
Heraut Louis's avatar
Heraut Louis committed
                                      'longueur_serie'))
Heraut Louis's avatar
Heraut Louis committed

Heraut Louis's avatar
Heraut Louis committed
    BHfilename = df_selec[df_selec$ok,]$filename
Heraut Louis's avatar
Heraut Louis committed
# Extract metadata about selected stations
df_meta_BH = extractBH_meta(computer_data_path, BHfiledir, BHfilename)

# Extract data about selected stations
Heraut Louis's avatar
Heraut Louis committed
df_data_BH = extractBH_data(computer_data_path, BHfiledir, BHfilename)
Heraut Louis's avatar
Heraut Louis committed

# NIVALE #
Heraut Louis's avatar
Heraut Louis committed
# Extract metadata about selected stations
df_meta_NV = extractNVlist_meta(computer_data_path, NVfiledir, NVlistdir, NVlistname)
### /!\ missing station info ###
Heraut Louis's avatar
Heraut Louis committed

# Extract data about selected stations
df_data_NV = extractNV_data(computer_data_path, NVfiledir, NVfilename)

Heraut Louis's avatar
Heraut Louis committed
df_join = join(df_data_BH, df_data_NV, df_meta_BH, df_meta_NV)
df_data = df_join$data
Heraut Louis's avatar
Heraut Louis committed
df_meta = df_join$meta
# ANALYSE #
# Compute gap parameters for stations
Heraut Louis's avatar
Heraut Louis committed
# df_lac = get_lacune(df_data, df_meta)
# QA TREND #
res_QAtrend = get_QAtrend(df_data, period)

# QMNA TREND #
res_QMNAtrend = get_QMNAtrend(df_data, period)

# VCN10 TREND #
res_VCN10trend = get_VCN10trend(df_data, df_meta, period)


# TIME PANEL #
# Plot time panel of debit by stations
panel(list(df_data, res_QAtrend$data, res_QMNAtrend$data,
           res_VCN10trend$data), 
      df_meta=df_meta, 
      figdir=figdir,
      df_trend=list(NULL, res_QAtrend$trend, res_QMNAtrend$trend,
                    res_VCN10trend$trend), 
      type=list('time', '', '', ''),
      missRect=list(TRUE, TRUE, TRUE, TRUE),
      )

# panel(df_data, df_meta=df_meta, figdir=figdir, missRect=TRUE, type='sqrt')
### /!\ Removed 185 row(s) containing missing values (geom_path) -> remove NA ###