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


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


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


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