Skip to contents

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.

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)
#> 
#> Results are MIME type: text/plain
#> Returning data as string
# 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 10 DE FEBRERO DE 2025 A LAS 08:10 HORA OFICIAL PREDICCIÓN VÁLIDA PARA EL LUNES 10

A.- FENÓMENOS SIGNIFICATIVOS Aumento notable de las temperaturas mínimas en Pirineos.

B.- PREDICCIÓN Este día se espera que la Península siga bajo un flujo atlántico que afecte a la mitad norte peninsular. Así se esperan cielos nubosos y precipitaciones débiles o moderadas en la mitad norte, menos probables en el extremo nordeste peninsular, y sin descartar que sean localmente fuertes y vengan acompañadas de tormenta. Serán en forma de nieve en montañas del tercio norte con la cota por encima de 1600 m. En el resto de la Península y en Baleares, nubes altas con intervalos de nubes bajas y alguna llovizna en el Estrecho. En Canarias se esperan intervalos nubosos sin precipitaciones, salvo en La Palma, donde se esperan débiles.

Posibles brumas y bancos de niebla matinales en amplias zonas de la vertiente atlántica, que serán espesas en la meseta norte. Calima débil en Canarias.

Las temperaturas máximas aumentarán en el norte de la Península, mientras que en el resto del territorio no se darán cambios significativos. Las mínimas aumentarán en la Península de forma casi generalizada, localmente notable en Pirineos, sin cambios en Galicia y en los archipiélagos. Las heladas seguirán retrocediendo y afectarán a zonas montañosas del noreste, localmente moderadas en Pirineos y sin descartarlas en otros sistemas montañosos.

Se esperan vientos flojos de dirección variable en el interior peninsular con predominio de la componente sur. Vientos moderados con algún intervalo fuerte en los litorales, del este en el Cantábrico, Estrecho y Alborán y del sur en Galicia y en el resto del Mediterráneo. En Canarias soplarán flojos del este, tendiendo al final a alisios moderados en las islas orientales.


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)
#> 
#> Results are MIME type: image/gif
#> Returning raw data


# 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