Extending climaemet

climaemet provides several functions for accessing a selection of endpoints of the AEMET API tool. However, this package does not cover in full all the capabilities of the API.

For that reason, we provide the get_data_aemet() function, that allows to access any API endpoint freely. The drawback is that the user would need to handle the results by him/herself.

library(climaemet)

Example: Normalized text

Some API endpoints, as predicciones-normalizadas-texto, provides the results as plain text on natural language. These results are not parsed by climaemet, but can be retrieved as this:

# endpoint, today forecast

today <- "/api/prediccion/nacional/hoy"

# Metadata
knitr::kable(get_metadata_aemet(today))
unidad_generadora descripcion periodicidad formato copyright notaLegal
Grupo Funcional de Predicción de Referencia Predicción general nacional para hoy / mañana / pasado mañana / medio plazo (tercer y cuarto día) / tendencia (del quinto al noveno día) Disponibilidad. Para hoy, solo se confecciona si hay cambios significativos. Para mañana y pasado mañana diaria a las 15:00 h.o.p.. Para el medio plazo diaria a las 16:00 h.o.p.. La tendencia, diaria a las 18:30 h.o.p. ascii/txt © AEMET. Autorizado el uso de la información y su reproducción citando a AEMET como autora de la misma. https://www.aemet.es/es/nota_legal

# Data
pred_today <- get_data_aemet(today)
#> 
#> Returning raw results. MIME type: text/plain
# Produce a result

clean <- gsub("\r", "\n", pred_today, fixed = TRUE)
clean <- gsub("\n\n\n", "\n", clean, fixed = TRUE)

cat(paste("---\n\n", clean, "\n---"))

AGENCIA ESTATAL DE METEOROLOGÍA PREDICCIÓN GENERAL PARA ESPAÑA DÍA 23 DE MAYO DE 2023 A LAS 10:11 HORA OFICIAL PREDICCIÓN VÁLIDA PARA EL MARTES 23

A.- FENÓMENOS SIGNIFICATIVOS Chubascos y tormentas localmente fuertes o muy fuertes en áreas de la mitad oriental peninsular, sobre todo en puntos del sureste donde además serán persistentes.

B.- PREDICCIÓN Se esperan cielos nubosos o cubiertos en buena parte de la Península con chubascos y tormentas, ocasionalmente con granizo, más dispersos y menos probables en áreas del cuadrante noroeste y más frecuentes e intensos en la mitad oriental donde serán localmente fuertes o muy fuertes, sobre todo en puntos del sureste donde además serán persistentes. Intervalos nubosos y nubosidad de evolución en Baleares, con probables chubascos acompañados de barro. En Canarias, intervalos nubosos y nubosidad de evolución en el interior de islas de mayor relieve. Temperaturas diurnas con ligeros ascensos en la mayor parte de la Península, aunque en zonas del sureste se esperan descensos. Nocturnas en ascenso en gran parte de la mitad norte peninsular. Vientos de Poniente en el Estrecho y Alborán, del este y noreste en la zona de Levante y Baleares, y de componente norte en la mitad norte peninsular, con intervalos de noreste fuerte en la costa noroeste de Galicia. En Canarias, de componente norte.


Example: Maps

AEMET also provides map data, usually on image/gif format. One way to get this kind of data is as follows:

# Endpoint of a map
a_map <- "/api/mapasygraficos/analisis"

# Metadata
knitr::kable(get_metadata_aemet(a_map))
unidad_generadora descripción periodicidad formato copyright notaLegal
Grupo Funcional de Jefes de Turno Mapas de análisis de frentes en superficie Dos veces al día, a las 02:00 y 14:00 h.o.p. en invierno y a las 03:00 y 15:00 en verano. image/gif © AEMET. Autorizado el uso de la información y su reproducción citando a AEMET como autora de la misma. https://www.aemet.es/es/nota_legal

the_map <- get_data_aemet(a_map)
#> 
#> Returning raw results. MIME type: image/gif


# Write as gif and include it
giffile <- "example-gif.gif"
writeBin(the_map, giffile)

# Display on the vignette
knitr::include_graphics(giffile)
plot of chunk maps

plot of chunk maps