R/getForecast.R

Defines functions listForecast getForecast

Documented in getForecast getForecast listForecast

<<<<<<< HEAD
##' Charge une prevision meteo depuis le serveur FTP 
##' 
##' Récupère une jeu de prévision météorologique archivés au format NetCDF
##' sur le serveur FTP dédié aux prévisionnistes.
##' 
##' @param model le nom du modèle météorologique cible.
##' @param var le mot-clef correspondant la variable désirée. 
##' 
##' @return La fonction retourne une prévision météorologique sous 
##' la forme d'un objet de classe \var{\sQuote{Forecast}}.
##' 
##' @author Thoams Esclaffer \email{[email protected]@edf.fr}
##' @export
getForecast <- 
  function(model=c("GFS","ARO","ARP"), date=Sys.Date(), run=0,
           var=c("P","T","N","RF"))
  {
    
    model <- match.arg(model)
    ## 
    repar <- switch(model, ARO="Arome", ARP="Arpege", model)
    ## Correspondance des noms de variables 
    varar <- switch(var, P="Precip", T="Tempe", RF="FFRaf", var)
    if (grepl("AR", model) && var=="P") varar <- "Precip.tot"
    ##
    ## Constrction du nom de fichier de l'archive :
    ## 
    fdir <- file.path("ftp://ftpdtg:[email protected]",
                      "previ","archives", repar)
    fname <- sprintf("%s_%s-%02d_%s.nc", model, format(date), run, varar)
    fname <- file.path(fdir, fname)
    ##
    ## On verifie que le fichier existe
    readForecast(fname)
}

##' @rdname getForecast
##' 
##' @description \command{listForecast} réalise l'inventaire des 
##' jeux de prévisions météorologiques archivées sur le serveur 
##' FTP dédié aux prévisionnistes. 
##' 
##' @param pattern une chaine de caractère permettant de filtrer les
##' jeux de données à lister.
##' 
##' @export 
listForecast <- 
  function(pattern) 
  {
    ##
    dirs <- paste("previ/archives", list("GFS","Arome","Arpege"), sep = "/")
    x <- unlist(lapply(dirs, listPrevi))
    ## extraction des infos du nom de fichiers
    getInfo <- function(file) {
      tmp <- strsplit(basename(file), split = "_")
      tmp <- data.frame(do.call(rbind, tmp))
      names(tmp) <- c("model","run","var")
      tmp$date <- as.Date(tmp$run)
      tmp$var <- gsub(".nc","", tmp$var)
      tmp$run <- strptime(tmp$run,"%Y-%m-%d-%H", tz = "UTC")$hour 
      return(tmp)
    }
    ##
    x <- data.frame(getInfo(x), file=x)
    if (!missing(pattern)) x <- subset(x, grepl(pattern, x$file))
    ##
    x$simu <- with(x, sprintf("%s (%s %dH)", model, format(date,"%a"), run))
    list(model=unique(x$simu), tab=x)
=======
##' Charge une prevision meteo depuis le serveur FTP 
##' 
##' Récupère une jeu de prévision météorologique archivés au format NetCDF
##' sur le serveur FTP dédié aux prévisionnistes.
##' 
##' @param model le nom du modèle météorologique cible.
##' @param var le mot-clef correspondant la variable désirée. 
##' 
##' @return La fonction retourne une prévision météorologique sous 
##' la forme d'un objet de classe \var{\sQuote{Forecast}}.
##' 
##' @author Thoams Esclaffer \email{[email protected]@edf.fr}
##' @export
getForecast <- 
  function(model="GFS", var=c("P","T","N","RF","FF250","FF500","ALTI"),
           date, run=0) 
  {
    ## Construction du 
>>>>>>> 53ae716ce8775c9fd36538db2ce00c6b918e4778
  }
coolTot/DtgRecup documentation built on May 12, 2017, 9:45 a.m.