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)
# 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 26 DE JULIO DE 2024 A LAS 09:02 HORA OFICIAL PREDICCIÓN VÁLIDA PARA EL VIERNES 26

A.- FENÓMENOS SIGNIFICATIVOS Temperaturas significativamente elevadas en buena parte de interiores de la mitad sur de la vertiente atlántica, meseta Norte y nordeste de la Península, así como en áreas de las vertientes sur de Canarias e interiores de Mallorca.

B.- PREDICCIÓN En la mayor parte del país continuará una situación de estabilidad con cielos poco nubosos o despejados, excepto en el norte de Galicia y área cantábrica donde se prevén cielos nubosos, con posibilidad de alguna lluvia débil en el extremo oriental del Cantábrico, tendiendo a poco nubosos en litorales. En el norte de Galicia el acercamiento de un frente hará aumentar la nubosidad dejando lluvias débiles. Intervalos de nubes bajas matinales en otras zonas del extremo norte, sureste peninsular, bajo Ebro, Estrecho y, tendiendo a más, en Alborán. Por la tarde, nubosidad de evolución en el centro y tercio este peninsular, con posibilidad de algún chubasco aislado en la Ibérica oriental, sierras del sureste, y con mayor probabilidad e intensidad, en zonas altas de los Pirineos. Es probable que se produzcan tormentas secas, con rachas fuertes, en interiores del este y en el sistema Central. En Canarias, intervalos de nubes bajas en los nortes tendiendo a poco nuboso, y algún intervalo de nubosidad de evolución en interiores de las islas centrales.

Probabilidad de nieblas matinales en el tercio norte y sureste peninsular, así como costeras en Alborán. La calima tenderá a retirarse de Canarias.

Las temperaturas máximas tenderán a descender, más acusadamente en Canarias y en el sur y este peninsular, y con algunos aumentos en el entorno del alto Ebro. Pese a ello se mantendrán por encima de 35 grados en amplias zonas de Andalucía, ambas mesetas, nordeste peninsular, vertientes sures de Canarias e interior de Mallorca. Incluso puedan alcanzarse los 40 en los valles del cuadrante suroeste. Las mínimas en general descenderán de forma ligera, con valores superiores a 25 grados en el Levante, valles del suroeste y sur de Canarias.

Soplarán vientos en general flojos, predominando las componentes este y sur en el tercio este peninsular, las norte y este en el Cantábrico y cuadrante noroeste, y la oeste en el resto. En Canarias soplará alisio moderado.


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)


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

# Display on the vignette
knitr::include_graphics(giffile)
Example: Surface analysis map provided by AEMET

Example: Surface analysis map provided by AEMET