#Informacion del Automated Surface Observing system (ASOS)
install.packages("riem", repos = "http://cran.us.r-project.org")
## Installing package into 'C:/Users/paulr/AppData/Local/R/win-library/4.2'
## (as 'lib' is unspecified)
## package 'riem' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\paulr\AppData\Local\Temp\Rtmpods3ro\downloaded_packages
install.packages("lubridate", repos = "http://cran.us.r-project.org")
## Installing package into 'C:/Users/paulr/AppData/Local/R/win-library/4.2'
## (as 'lib' is unspecified)
## package 'lubridate' successfully unpacked and MD5 sums checked
## Warning: cannot remove prior installation of package 'lubridate'
## Warning in file.copy(savedcopy, lib, recursive = TRUE):
## problem copying C:\Users\paulr\AppData\Local\R\win-
## library\4.2\00LOCK\lubridate\libs\x64\lubridate.dll to C:
## \Users\paulr\AppData\Local\R\win-library\4.2\lubridate\libs\x64\lubridate.dll:
## Permission denied
## Warning: restored 'lubridate'
##
## The downloaded binary packages are in
## C:\Users\paulr\AppData\Local\Temp\Rtmpods3ro\downloaded_packages
install.packages("plotly", repos = "http://cran.us.r-project.org")
## Installing package into 'C:/Users/paulr/AppData/Local/R/win-library/4.2'
## (as 'lib' is unspecified)
## package 'plotly' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\paulr\AppData\Local\Temp\Rtmpods3ro\downloaded_packages
install.packages("tidyverse", repos = "http://cran.us.r-project.org")
## Installing package into 'C:/Users/paulr/AppData/Local/R/win-library/4.2'
## (as 'lib' is unspecified)
## package 'tidyverse' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\paulr\AppData\Local\Temp\Rtmpods3ro\downloaded_packages
install.packages("ggplot2", repos = "http://cran.us.r-project.org")
## Installing package into 'C:/Users/paulr/AppData/Local/R/win-library/4.2'
## (as 'lib' is unspecified)
## package 'ggplot2' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\paulr\AppData\Local\Temp\Rtmpods3ro\downloaded_packages
library(riem)
library(tidyverse)
## ── Attaching packages
## ───────────────────────────────────────
## tidyverse 1.3.2 ──
## ✔ ggplot2 3.3.6 ✔ purrr 0.3.4
## ✔ tibble 3.1.8 ✔ dplyr 1.0.10
## ✔ tidyr 1.2.1 ✔ stringr 1.4.1
## ✔ readr 2.1.2 ✔ forcats 0.5.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
library(lubridate)
##
## Attaching package: 'lubridate'
##
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
library(ggplot2)
library(plotly)
##
## Attaching package: 'plotly'
##
## The following object is masked from 'package:ggplot2':
##
## last_plot
##
## The following object is masked from 'package:stats':
##
## filter
##
## The following object is masked from 'package:graphics':
##
## layout
#Paso 1. Buscar la red (pais) Ejemplo: Mexico y copiar el CODE (MX__ASOS)
view(riem_networks())
#Paso 2. Buscar la estacion (ciudad) Ejemplo: Monterrey y copiar el ID (MMMY)
view(riem_stations("MX__ASOS"))
#Paso 3. Obtener datos del clima
monterrey <- riem_measures("MMMY")
str(monterrey) #Si en wxcodes sale RA eso significa que va a llover
## tibble [77,908 × 32] (S3: tbl_df/tbl/data.frame)
## $ station : chr [1:77908] "MMMY" "MMMY" "MMMY" "MMMY" ...
## $ valid : POSIXct[1:77908], format: "2014-01-01 00:16:00" "2014-01-01 00:49:00" ...
## $ lon : num [1:77908] -100 -100 -100 -100 -100 ...
## $ lat : num [1:77908] 25.8 25.8 25.8 25.8 25.8 ...
## $ tmpf : num [1:77908] 48.2 48.2 48.2 46.4 46.4 46.4 46.4 46.4 46.4 46.4 ...
## $ dwpf : num [1:77908] 46.4 46.4 46.4 46.4 46.4 44.6 44.6 44.6 44.6 44.6 ...
## $ relh : num [1:77908] 93.5 93.5 93.5 100 100 ...
## $ drct : num [1:77908] 0 120 120 120 110 100 110 130 60 0 ...
## $ sknt : num [1:77908] 0 3 5 6 5 5 4 3 3 0 ...
## $ p01i : num [1:77908] 0 0 0 0 0 0 0 0 0 0 ...
## $ alti : num [1:77908] 30.3 30.3 30.3 30.3 30.3 ...
## $ mslp : num [1:77908] NA NA NA NA NA ...
## $ vsby : num [1:77908] 4 3 1 0.25 0.12 0.12 0.06 0.06 0.06 0.12 ...
## $ gust : num [1:77908] NA NA NA NA NA NA NA NA NA NA ...
## $ skyc1 : chr [1:77908] "SCT" "SCT" "SCT" "VV " ...
## $ skyc2 : chr [1:77908] "BKN" "BKN" "BKN" NA ...
## $ skyc3 : chr [1:77908] "OVC" "OVC" "OVC" NA ...
## $ skyc4 : chr [1:77908] NA NA NA NA ...
## $ skyl1 : num [1:77908] 700 300 200 200 100 100 100 100 100 100 ...
## $ skyl2 : num [1:77908] 1200 400 300 NA NA NA NA NA NA NA ...
## $ skyl3 : num [1:77908] 4000 900 500 NA NA NA NA NA NA NA ...
## $ skyl4 : num [1:77908] NA NA NA NA NA NA NA NA NA NA ...
## $ wxcodes : chr [1:77908] NA "BR" "BR" "FG" ...
## $ ice_accretion_1hr: logi [1:77908] NA NA NA NA NA NA ...
## $ ice_accretion_3hr: logi [1:77908] NA NA NA NA NA NA ...
## $ ice_accretion_6hr: logi [1:77908] NA NA NA NA NA NA ...
## $ peak_wind_gust : logi [1:77908] NA NA NA NA NA NA ...
## $ peak_wind_drct : logi [1:77908] NA NA NA NA NA NA ...
## $ peak_wind_time : logi [1:77908] NA NA NA NA NA NA ...
## $ feel : num [1:77908] 48.2 47.2 45.6 42.9 43.5 ...
## $ metar : chr [1:77908] "MMMY 010016Z 00000KT 4SM SCT007 BKN012 OVC040 09/08 A3028 RMK 8/5// BR" "MMMY 010049Z 12003KT 3SM BR SCT003 BKN004 OVC009 09/08 A3028 RMK 8/5// -DZ OCNL" "MMMY 010116Z 12005KT 1SM BR SCT002 BKN003 OVC005 09/08 A3028 RMK 8/6// -DZ OCNL" "MMMY 010120Z 12006KT 1/4SM FG VV002 08/08 A3029 RMK 8//// BC FG MOV SE/NW" ...
## $ snowdepth : logi [1:77908] NA NA NA NA NA NA ...
#Extraccion de informacion de est mes
este_mes <- subset(monterrey, valid >= as.POSIXct("2022-09-01 00:00") & valid <= as.POSIXct("2022-09-13 25:59")) #Subset, agarra unos datos de la base; PSIXct es un formato de dia con hora
#Graficar la informacion
plot(este_mes$valid, este_mes$relh)
Conclusión Esta técnica nos permite recopilar datos factuales sobre estadísticas de clima en tiempo real; lo que nos permite tener acceso a información valiosa para la toma de decisiones de una empresa, por ejemplo: como en el programa encontramos el patrón d lluvia de septiembre, podemos utilizar un promedio de los útlimos años para que en el 2023 podamos adelantarnos a los patrones clímaticos para poder estar siempre preparados a responder a las demandas de la compañía durante emergencias como las inundaciones.