--- title: "(07) AIC dataset" author: "Ezequiel Toum" date: "`r Sys.Date()`" output: rmarkdown::html_vignette: toc: true vignette: > %\VignetteIndexEntry{(07) AIC dataset} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ```{r} library(hydrotoolbox) ``` ## AIC dataset La Autoridad Interjurisdiccional de las Cuencas de los ríos Limay, Neuquén y Negro (AIC), es un organismo que tiene por objeto entender en todo lo relativo a la administración, control, uso y preservación de las cuencas de los ríos mencionados. Entre otras tareas, mantiene operativas una gran cantidad de estaciones nivo-meteorológicas. Estos datos sólo son accesibles mediante acuerdo legal con el AIC. ## Reading individual files El paquete **hydrotoolbox** ofrece la posibilidad de leer estos archivos (formato *.xls*) de manera automática mediante la función `read_aic()`. Al hacerlo, se cargará al *Global Environment* de **R** un `data.frame` con los datos del archivo original. Cabe destacar que esta función rellena automáticamente los vacíos existentes entre registros con `NA_real_`. ```{r read_fun, eval = FALSE, fig.width = 6, fig.height = 4} # if you want to get the sheet's names read_aic(path = path, get_sheet = TRUE) # loading the series in a data.frame my_data <- read_aic(path = path, by = 'day', sheet = 'CERRO NEVADO') ``` Si bien esta función resulta de gran utilidad, a medida que la cantidad de variables a analizar crece, cargar estas tablas, ordenarlas y modificarlas, se vuelve tarea complicada. La solución que ofrece **hydrotoolbox** es la de trabajar con los objetos y métodos que el paquete provee. En las siguientes secciones muestro cómo usarlos. ## Using classes and methods to build a meteorological station Como menciono en los principios de diseño de este paquete (`vignette('package_overview', package = 'hydrotoolbox')`), los datos que se registran en las estaciones deben almacenarse en un mismo objeto. Por ello primero habrá que crear dicho objeto (o estación hidro-meteorológica) y luego usar `hm_build()`, un método que permite cargar automáticamente al objeto todas las variables que la estación real registra. ```{r build, eval = FALSE, fig.width = 6, fig.height = 4} # set path and file name my_path <- '/home/.../my_folder' my_file <- 'AIC_data.xls' # build the station nevado <- hm_create() %>% hm_build(bureau = 'aic', path = my_path, file_name = my_file, slot_name = c('precip', 'tmax', 'tmin', 'tmean', 'rh', 'wspd', 'wdir', 'swe'), by = 'day', sheet = 'CERRO NEVADO') ``` Dado que la función constructora es la única que difiere de lo desarrollado para los datos del SNIH, recomiendo (re)visitar esta viñeta (`vignette('snih_arg', package = 'hydrotoolbox')`).