Introducción

En este trabajo se explora el uso de R, para el análisis y la visualización de datos climáticos obtenidos del sistema Automated Surface Observing System (ASOS). Centrándose en la estación de Monterrey, México, se emplea librerías clave de R como riem para el acceso a los datos climáticos asi como tidyverse, ggplot2, y plotly para su manipulación, análisis y visualización avanzada. Esto resalta la importancia de las herramientas estadísticas avanzadas en el análisis climático, facilitando la toma de decisiones informadas en áreas críticas como la planificación ambiental y la gestión de recursos.

Teoría

La información del clima se obtiene del ASOS (Automated Surface Observing System) ubicados en los aeropuertos de las ciudades del mundo.

Instalar paquetes y llamar librerias

library(riem) # Accesar al ASOS para obtener datos climáticos 
## Warning: package 'riem' was built under R version 4.3.3
library(tidyverse) # Graficas para manipulacion de datos
## Warning: package 'tidyverse' was built under R version 4.3.3
## Warning: package 'ggplot2' was built under R version 4.3.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.0     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.0
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggplot2) # Gráficas con mejor diseño que plot 
library(plotly)# Gráficas con mejor calidad
## Warning: package 'plotly' was built under R version 4.3.3
## 
## 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 del país (México) y copiar CODE

# view(riem_networks())
# MX_ASOS

Paso 2. Buscar la estación o ciudad (Monterrey) y copiar ID

view(riem_stations("MX__ASOS"))
# MMMY

Paso 3. Obtener los datos del clima

clima_mty <- riem_measures("MMMY")

Ejercicios

Ejercicio 1. Obtener los datos del clima de Monterrey de Febrero de 2024

clima_mty_feb <- subset(clima_mty, valid >= 
as.POSIXct("2024-02-01 00:00") & valid <=
as.POSIXct("2024-02-29 23:59")) 

Ejercicio 2. Gráficar la humedad relativa en Monterrey durante febrero 2024

plot(clima_mty_feb$valid, clima_mty_feb$relh, type="l", main = "Humedad relativa en Monterrey durante febrero 2024", xlab= "Fecha", ylab= "Humedad relativa (%)")

# Promediar humedad relativa diaria

clima_mty_feb$date <- as.Date(clima_mty_feb$valid)

cmfd <- aggregate(clima_mty_feb$relh, by=list(date = clima_mty_feb$date), FUN=mean)


# Graficar la humedad relativa promedio por día 

plot(cmfd$date,cmfd$x, type = "l" ,main = "Promedio Diario de Humedad Relativa en Monterrey durante Febrero 2024", xlab = "Fecha", ylab = "Humedad Relativa (%)")

Ejercicio 3. Graficar la Temperatura (°C) Promedio Diaria en Oaxaca durante Febrero 2024.

# Buscar la red del país (México) y copiar CODE
#View(riem_networks())
# MX__ASOS

# Buscar la estación o ciudad (Oaxaca) y copiar CODE
#View(riem_stations("MX__ASOS"))
# MMOX

# Obtener datos del clima de Oaxaca 
clima_oaxaca <- riem_measures("MMOX")

# Obtener datos del clima de Oaxaca en febrero
clima_oaxaca_feb <- subset(clima_oaxaca, valid >= as.POSIXct("2024-02-01 00:00") & valid <= as.POSIXct("2024-02-29 23:59"))

# Convertir temperatura de farenheit a celcius 
clima_oaxaca_feb <- clima_oaxaca_feb %>%  mutate(tmpc = (tmpf - 32) * (5/9))

# Promediar la temperatura Celsius por día
promedio_diario <- aggregate(clima_oaxaca_feb$tmpc,by = list(date = as.Date(clima_oaxaca_feb$valid)), FUN = mean)

plot(promedio_diario$date,promedio_diario$x, type = "l",main = "Promedio Diario de temperatura en Oaxaca durante Febrero 2024", xlab = "Fecha", ylab = " Temperatura (°C)" )

Conclusiones

El análisis climático realizado para Monterrey y Oaxaca durante febrero de 2024, utilizando el paquete riem en R, reveló patrones interesantes de humedad y temperatura en estas ciudades. En Monterrey, se observó una amplia fluctuación en la humedad relativa, lo que puede implicar una variabilidad climática significativa durante el mes. Por otro lado, la temperatura en Oaxaca mostró una estabilidad relativa con cambios más sutiles día a día.

Los gráficos generados proporcionan una visualización clara de la humedad y la temperatura, facilitando la comparación entre las condiciones climáticas de ambas localidades. Mientras Monterrey experimentó variaciones más pronunciadas en la humedad, Oaxaca mantuvo un perfil térmico más constante en su temperatura.

Este ejercicio demuestra la capacidad de R para manejar y analizar datos climáticos complejos, resaltando su utilidad en la representación visual de tendencias y patrones climáticos. Estos análisis son valiosos para sectores como la agricultura, la gestión urbana y el turismo, ya que proporcionan información crucial para la planificación y la toma de decisiones basadas en condiciones climáticas anticipadas.

LS0tDQp0aXRsZTogIkNsaW1hIg0KYXV0aG9yOiAiQWxtYSBTYW50aWFnby1BMDgzNjYzNiINCmRhdGU6ICIyMDI0LTAyLTMwIg0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIHRvYzogdHJ1ZSANCiAgICB0b2NfZmxvYXQ6IHRydWUNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQogICAgdGhlbWU6IGRhcmsNCiAgDQotLS0NCiFbXShEOlxcRGVzY2FyZ2FzXFxhc29zLmpwZykNCg0KIyA8c3BhbiBzdHlsZT0iY29sb3I6IHdoaXRlOyI+SW50cm9kdWNjacOzbjwvc3Bhbj4gIA0KRW4gZXN0ZSB0cmFiYWpvIHNlIGV4cGxvcmEgZWwgdXNvIGRlICoqUioqLCBwYXJhIGVsIGFuw6FsaXNpcyB5IGxhIHZpc3VhbGl6YWNpw7NuIGRlIGRhdG9zIGNsaW3DoXRpY29zIG9idGVuaWRvcyBkZWwgKipzaXN0ZW1hIEF1dG9tYXRlZCBTdXJmYWNlIE9ic2VydmluZyBTeXN0ZW0gKEFTT1MpKiouIENlbnRyw6FuZG9zZSBlbiBsYSBlc3RhY2nDs24gZGUgTW9udGVycmV5LCBNw6l4aWNvLCBzZSBlbXBsZWEgbGlicmVyw61hcyBjbGF2ZSBkZSBSIGNvbW8gKipyaWVtKiogcGFyYSBlbCBhY2Nlc28gYSBsb3MgZGF0b3MgY2xpbcOhdGljb3MgYXNpIGNvbW8gKip0aWR5dmVyc2UqKiwgKipnZ3Bsb3QyKiosIHkgKipwbG90bHkqKiBwYXJhIHN1IG1hbmlwdWxhY2nDs24sIGFuw6FsaXNpcyB5IHZpc3VhbGl6YWNpw7NuIGF2YW56YWRhLiBFc3RvIHJlc2FsdGEgbGEgaW1wb3J0YW5jaWEgZGUgbGFzIGhlcnJhbWllbnRhcyBlc3RhZMOtc3RpY2FzIGF2YW56YWRhcyBlbiBlbCBhbsOhbGlzaXMgY2xpbcOhdGljbywgZmFjaWxpdGFuZG8gbGEgdG9tYSBkZSBkZWNpc2lvbmVzIGluZm9ybWFkYXMgZW4gw6FyZWFzIGNyw610aWNhcyBjb21vIGxhIHBsYW5pZmljYWNpw7NuIGFtYmllbnRhbCB5IGxhIGdlc3Rpw7NuIGRlIHJlY3Vyc29zLg0KDQojIDxzcGFuIHN0eWxlPSJjb2xvcjogd2hpdGU7Ij5UZW9yw61hPC9zcGFuPiAgDQpMYSBpbmZvcm1hY2nDs24gZGVsIGNsaW1hIHNlIG9idGllbmUgZGVsICoqQVNPUyoqICgqQXV0b21hdGVkIFN1cmZhY2UgT2JzZXJ2aW5nIFN5c3RlbSopIHViaWNhZG9zIGVuIGxvcyBhZXJvcHVlcnRvcyBkZSBsYXMgY2l1ZGFkZXMgZGVsIG11bmRvLg0KDQojIDxzcGFuIHN0eWxlPSJjb2xvcjogd2hpdGU7Ij5JbnN0YWxhciBwYXF1ZXRlcyB5IGxsYW1hciBsaWJyZXJpYXM8L3NwYW4+ICANCmBgYHtyfQ0KbGlicmFyeShyaWVtKSAjIEFjY2VzYXIgYWwgQVNPUyBwYXJhIG9idGVuZXIgZGF0b3MgY2xpbcOhdGljb3MgDQpsaWJyYXJ5KHRpZHl2ZXJzZSkgIyBHcmFmaWNhcyBwYXJhIG1hbmlwdWxhY2lvbiBkZSBkYXRvcw0KbGlicmFyeShnZ3Bsb3QyKSAjIEdyw6FmaWNhcyBjb24gbWVqb3IgZGlzZcOxbyBxdWUgcGxvdCANCmxpYnJhcnkocGxvdGx5KSMgR3LDoWZpY2FzIGNvbiBtZWpvciBjYWxpZGFkDQpgYGANCg0KIyA8c3BhbiBzdHlsZT0iY29sb3I6IHdoaXRlOyI+UGFzbyAxLiBCdXNjYXIgbGEgcmVkIGRlbCBwYcOtcyAoTcOpeGljbykgeSBjb3BpYXIgQ09ERTwvc3Bhbj4gIA0KDQpgYGB7cn0NCiMgdmlldyhyaWVtX25ldHdvcmtzKCkpDQojIE1YX0FTT1MNCmBgYA0KDQojIDxzcGFuIHN0eWxlPSJjb2xvcjogd2hpdGU7Ij5QYXNvIDIuIEJ1c2NhciBsYSBlc3RhY2nDs24gbyBjaXVkYWQgKE1vbnRlcnJleSkgeSBjb3BpYXIgSUQ8L3NwYW4+ICANCmBgYHtyfQ0KdmlldyhyaWVtX3N0YXRpb25zKCJNWF9fQVNPUyIpKQ0KIyBNTU1ZDQpgYGANCg0KIyA8c3BhbiBzdHlsZT0iY29sb3I6IHdoaXRlOyI+UGFzbyAzLiBPYnRlbmVyIGxvcyBkYXRvcyBkZWwgY2xpbWE8L3NwYW4+ICANCmBgYHtyfQ0KY2xpbWFfbXR5IDwtIHJpZW1fbWVhc3VyZXMoIk1NTVkiKQ0KDQpgYGANCg0KIyA8c3BhbiBzdHlsZT0iY29sb3I6IHdoaXRlOyI+RWplcmNpY2lvczwvc3Bhbj4gIA0KDQojIyA8c3BhbiBzdHlsZT0iY29sb3I6IHNreWJsdWU7Ij5FamVyY2ljaW8gMS4gT2J0ZW5lciBsb3MgZGF0b3MgZGVsIGNsaW1hIGRlIE1vbnRlcnJleSBkZSBGZWJyZXJvIGRlIDIwMjQ8L3NwYW4+ICANCg0KYGBge3J9DQpjbGltYV9tdHlfZmViIDwtIHN1YnNldChjbGltYV9tdHksIHZhbGlkID49IA0KYXMuUE9TSVhjdCgiMjAyNC0wMi0wMSAwMDowMCIpICYgdmFsaWQgPD0NCmFzLlBPU0lYY3QoIjIwMjQtMDItMjkgMjM6NTkiKSkgDQoNCmBgYA0KDQojIyA8c3BhbiBzdHlsZT0iY29sb3I6IHNreWJsdWU7Ij5FamVyY2ljaW8gMi4gR3LDoWZpY2FyIGxhIGh1bWVkYWQgcmVsYXRpdmEgZW4gTW9udGVycmV5IGR1cmFudGUgZmVicmVybyAyMDI0PC9zcGFuPiAgDQpgYGB7cn0NCg0KcGxvdChjbGltYV9tdHlfZmViJHZhbGlkLCBjbGltYV9tdHlfZmViJHJlbGgsIHR5cGU9ImwiLCBtYWluID0gIkh1bWVkYWQgcmVsYXRpdmEgZW4gTW9udGVycmV5IGR1cmFudGUgZmVicmVybyAyMDI0IiwgeGxhYj0gIkZlY2hhIiwgeWxhYj0gIkh1bWVkYWQgcmVsYXRpdmEgKCUpIikNCg0KIyBQcm9tZWRpYXIgaHVtZWRhZCByZWxhdGl2YSBkaWFyaWENCg0KY2xpbWFfbXR5X2ZlYiRkYXRlIDwtIGFzLkRhdGUoY2xpbWFfbXR5X2ZlYiR2YWxpZCkNCg0KY21mZCA8LSBhZ2dyZWdhdGUoY2xpbWFfbXR5X2ZlYiRyZWxoLCBieT1saXN0KGRhdGUgPSBjbGltYV9tdHlfZmViJGRhdGUpLCBGVU49bWVhbikNCg0KDQojIEdyYWZpY2FyIGxhIGh1bWVkYWQgcmVsYXRpdmEgcHJvbWVkaW8gcG9yIGTDrWEgDQoNCnBsb3QoY21mZCRkYXRlLGNtZmQkeCwgdHlwZSA9ICJsIiAsbWFpbiA9ICJQcm9tZWRpbyBEaWFyaW8gZGUgSHVtZWRhZCBSZWxhdGl2YSBlbiBNb250ZXJyZXkgZHVyYW50ZSBGZWJyZXJvIDIwMjQiLCB4bGFiID0gIkZlY2hhIiwgeWxhYiA9ICJIdW1lZGFkIFJlbGF0aXZhICglKSIpDQpgYGANCg0KIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBza3libHVlOyI+RWplcmNpY2lvIDMuIEdyYWZpY2FyIGxhIFRlbXBlcmF0dXJhICjCsEMpIFByb21lZGlvIERpYXJpYSBlbiBPYXhhY2EgZHVyYW50ZSBGZWJyZXJvIDIwMjQuPC9zcGFuPiAgDQoNCmBgYHtyfQ0KIyBCdXNjYXIgbGEgcmVkIGRlbCBwYcOtcyAoTcOpeGljbykgeSBjb3BpYXIgQ09ERQ0KI1ZpZXcocmllbV9uZXR3b3JrcygpKQ0KIyBNWF9fQVNPUw0KDQojIEJ1c2NhciBsYSBlc3RhY2nDs24gbyBjaXVkYWQgKE9heGFjYSkgeSBjb3BpYXIgQ09ERQ0KI1ZpZXcocmllbV9zdGF0aW9ucygiTVhfX0FTT1MiKSkNCiMgTU1PWA0KDQojIE9idGVuZXIgZGF0b3MgZGVsIGNsaW1hIGRlIE9heGFjYSANCmNsaW1hX29heGFjYSA8LSByaWVtX21lYXN1cmVzKCJNTU9YIikNCg0KIyBPYnRlbmVyIGRhdG9zIGRlbCBjbGltYSBkZSBPYXhhY2EgZW4gZmVicmVybw0KY2xpbWFfb2F4YWNhX2ZlYiA8LSBzdWJzZXQoY2xpbWFfb2F4YWNhLCB2YWxpZCA+PSBhcy5QT1NJWGN0KCIyMDI0LTAyLTAxIDAwOjAwIikgJiB2YWxpZCA8PSBhcy5QT1NJWGN0KCIyMDI0LTAyLTI5IDIzOjU5IikpDQoNCiMgQ29udmVydGlyIHRlbXBlcmF0dXJhIGRlIGZhcmVuaGVpdCBhIGNlbGNpdXMgDQpjbGltYV9vYXhhY2FfZmViIDwtIGNsaW1hX29heGFjYV9mZWIgJT4lICBtdXRhdGUodG1wYyA9ICh0bXBmIC0gMzIpICogKDUvOSkpDQoNCiMgUHJvbWVkaWFyIGxhIHRlbXBlcmF0dXJhIENlbHNpdXMgcG9yIGTDrWENCnByb21lZGlvX2RpYXJpbyA8LSBhZ2dyZWdhdGUoY2xpbWFfb2F4YWNhX2ZlYiR0bXBjLGJ5ID0gbGlzdChkYXRlID0gYXMuRGF0ZShjbGltYV9vYXhhY2FfZmViJHZhbGlkKSksIEZVTiA9IG1lYW4pDQoNCnBsb3QocHJvbWVkaW9fZGlhcmlvJGRhdGUscHJvbWVkaW9fZGlhcmlvJHgsIHR5cGUgPSAibCIsbWFpbiA9ICJQcm9tZWRpbyBEaWFyaW8gZGUgdGVtcGVyYXR1cmEgZW4gT2F4YWNhIGR1cmFudGUgRmVicmVybyAyMDI0IiwgeGxhYiA9ICJGZWNoYSIsIHlsYWIgPSAiIFRlbXBlcmF0dXJhICjCsEMpIiApDQoNCmBgYA0KDQojIDxzcGFuIHN0eWxlPSJjb2xvcjogd2hpdGU7Ij5Db25jbHVzaW9uZXM8L3NwYW4+ICANCg0KRWwgYW7DoWxpc2lzIGNsaW3DoXRpY28gcmVhbGl6YWRvIHBhcmEgTW9udGVycmV5IHkgT2F4YWNhIGR1cmFudGUgZmVicmVybyBkZSAyMDI0LCB1dGlsaXphbmRvIGVsIHBhcXVldGUgKipyaWVtKiogZW4gKipSKiosIHJldmVsw7MgcGF0cm9uZXMgaW50ZXJlc2FudGVzIGRlIGh1bWVkYWQgeSB0ZW1wZXJhdHVyYSBlbiBlc3RhcyBjaXVkYWRlcy4gRW4gTW9udGVycmV5LCBzZSBvYnNlcnbDsyB1bmEgYW1wbGlhIGZsdWN0dWFjacOzbiBlbiBsYSBodW1lZGFkIHJlbGF0aXZhLCBsbyBxdWUgcHVlZGUgaW1wbGljYXIgdW5hIHZhcmlhYmlsaWRhZCBjbGltw6F0aWNhIHNpZ25pZmljYXRpdmEgZHVyYW50ZSBlbCBtZXMuIFBvciBvdHJvIGxhZG8sIGxhIHRlbXBlcmF0dXJhIGVuIE9heGFjYSBtb3N0csOzIHVuYSBlc3RhYmlsaWRhZCByZWxhdGl2YSBjb24gY2FtYmlvcyBtw6FzIHN1dGlsZXMgZMOtYSBhIGTDrWEuDQoNCkxvcyBncsOhZmljb3MgZ2VuZXJhZG9zIHByb3BvcmNpb25hbiB1bmEgdmlzdWFsaXphY2nDs24gY2xhcmEgZGUgbGEgaHVtZWRhZCB5IGxhIHRlbXBlcmF0dXJhLCBmYWNpbGl0YW5kbyBsYSBjb21wYXJhY2nDs24gZW50cmUgbGFzIGNvbmRpY2lvbmVzIGNsaW3DoXRpY2FzIGRlIGFtYmFzIGxvY2FsaWRhZGVzLiBNaWVudHJhcyBNb250ZXJyZXkgZXhwZXJpbWVudMOzIHZhcmlhY2lvbmVzIG3DoXMgcHJvbnVuY2lhZGFzIGVuIGxhIGh1bWVkYWQsIE9heGFjYSBtYW50dXZvIHVuIHBlcmZpbCB0w6lybWljbyBtw6FzIGNvbnN0YW50ZSBlbiBzdSB0ZW1wZXJhdHVyYS4NCg0KRXN0ZSBlamVyY2ljaW8gZGVtdWVzdHJhIGxhIGNhcGFjaWRhZCBkZSAqKlIqKiBwYXJhIG1hbmVqYXIgeSBhbmFsaXphciBkYXRvcyBjbGltw6F0aWNvcyBjb21wbGVqb3MsIHJlc2FsdGFuZG8gc3UgdXRpbGlkYWQgZW4gbGEgcmVwcmVzZW50YWNpw7NuIHZpc3VhbCBkZSB0ZW5kZW5jaWFzIHkgcGF0cm9uZXMgY2xpbcOhdGljb3MuIEVzdG9zIGFuw6FsaXNpcyBzb24gdmFsaW9zb3MgcGFyYSBzZWN0b3JlcyBjb21vIGxhIGFncmljdWx0dXJhLCBsYSBnZXN0acOzbiB1cmJhbmEgeSBlbCB0dXJpc21vLCB5YSBxdWUgcHJvcG9yY2lvbmFuIGluZm9ybWFjacOzbiBjcnVjaWFsIHBhcmEgbGEgcGxhbmlmaWNhY2nDs24geSBsYSB0b21hIGRlIGRlY2lzaW9uZXMgYmFzYWRhcyBlbiBjb25kaWNpb25lcyBjbGltw6F0aWNhcyBhbnRpY2lwYWRhcy4NCg0KDQo=