---
title: "Extending climaemet"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{Extending climaemet}
  %\VignetteEncoding{UTF-8}
  %\VignetteEngine{knitr::rmarkdown}
resource_files:
   - vignettes/example-gif.gif
---

<!-- extending-climaemet.Rmd is generated from extending-climaemet.Rmd.orig. Please edit that file -->



**climaemet** provides several functions for accessing a selection of endpoints
of the [AEMET API tool](https://opendata.aemet.es/dist/index.html?). 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.


``` r
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:


``` r
# 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 |



``` r

# Data
pred_today <- get_data_aemet(today)
#> 
#> Results are MIME type: text/plain
#> Returning data as string
```


``` r
# 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 01 DE SEPTIEMBRE DE 2024 A LAS 11:18 HORA OFICIAL
PREDICCIÓN VÁLIDA PARA EL DOMINGO 1

A.- FENÓMENOS SIGNIFICATIVOS
Chubascos y tormentas localmente fuertes, muy fuertes o
persistentes a primeras horas en áreas de Aragón, Navarra y
nordeste de Castilla-La Mancha y, por la tarde, localmente fuertes
en Pirineos e Ibérica oriental.

B.- PREDICCIÓN
Se prevé que continúe una situación inestable en el cuadrante
nordeste peninsular, con cielos nubosos, chubascos y tormentas
desde primeras horas afectando a amplias zonas de interior,
desplazándose hacia el nordeste. Es probable que sean localmente
fuertes, muy fuertes o persistentes en puntos de Aragón, Navarra,
nordeste de Castilla-La Mancha o zonas aledañas. Aunque se irán
abriendo claros, se formará nubosidad de evolución diurna en la
zona centro, tercio oriental y Baleares, con posibilidad de
chubascos y tormentas dispersos, más probables e intensos en la
Ibérica oriental y Pirineos, donde pueden ser localmente fuertes.
Asimismo, son probables las precipitaciones en el norte de Galicia
y Cantábrico, tendiendo a menos en litorales y reactivándose a
últimas horas en el extremo noroeste debido a la aproximación de
un frente atlántico. En Canarias, intervalos de nubes bajas en el
norte y poco nuboso en el resto.

La calima tiende a retirarse, quedando aún en el tercio oriental,
Baleares y Melilla. Probables bancos de niebla matinales en
Galicia, Cantábrico, Duero, Estrecho, Melilla e interior de
Alicante.

Las temperaturas máximas tenderán descender en el cuadrante
noroeste, Guadalquivir y Rías Baixas, con aumentos en los
interiores noroeste y sudeste y sistema Central. Aunque mínimas
descenderán en Pirineos y tercio ooccidental, todavía pueden
superar los 24-26 grados en litorales mediterráneos. Pocos
cambios en el resto.

Alisios en Canarias, predominio de vientos de componente este en
Baleares y fachada oriental peninsular y poniente en el Estrecho y
Alborán. En el resto soplarán vientos en general flojos, con
predominio de componente norte en la vertiente cantábrica, oeste
en la atlántica y tendiendo a norte en Ampurdán y Menorca.

 
---

## Example: Maps

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


``` r
# 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 |



``` r

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)
```

<div class="figure">
<img src="example-gif.gif" alt="Example: Surface analysis map provided by AEMET" width="100%" />
<p class="caption">Example: Surface analysis map provided by AEMET</p>
</div>
