RIA service

# use eval = NOT_CRAN in the chunks connecting to API, to avoid errors or warnings in CRAN checks
NOT_CRAN <- identical(tolower(Sys.getenv("NOT_CRAN")), "true")
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  purl = NOT_CRAN
)

# env keyring
withr::local_options(list("keyring_backend" = "env"))
library(meteospain)
library(dplyr)
library(ggplot2)
library(ggforce)
library(units)
library(sf)

Red de Información Agroclimática de Andalucía (RIA) service

RIA service offers the data of the andalucian automatic meteorological stations network. This network is supported and assessed by the Junta de Andalucía and the data should be trustworthy.

RIA options

Temporal resolution

RIA API offers data at different temporal resolutions:

In both, "daily" and "monthly", a start_date (and optionally an end_date) arguments must be provided, indicating the period from which retrieve the data.

Stations

RIA API needs station codes and province codes to retrieve the data. Sadly, RIA doesn't provide unique station codes, and the uniqueness comes with the province id and station code together. So, to narrow the data retrieving to the desired stations they must be provided as a character vector of "province_id-station_code" values (i.e. "14-2") for the stations argument. Calling get_stations_info_from('ria', ria_options) will show the station correct codes in the station_id column to take as reference.

Examples

# default, daily for yesterday
api_options <- ria_options()
api_options

# daily, only some stations
api_options <- ria_options(
  resolution = 'daily',
  stations = c('14-2', '4-2')
)
api_options

# monthly, some stations
api_options <- ria_options(
  resolution = 'monthly',
  start_date = as.Date('2020-04-01'), end_date = as.Date('2020-08-01'),
  stations = c('14-2', '4-2')
)
api_options

RIA stations info

Accessing station metadata for RIA is simple:

get_stations_info_from('ria', api_options)

RIA data

api_options <- ria_options(
  resolution = 'monthly',
  start_date = as.Date('2020-01-01'),
  end_date = as.Date('2020-12-31')
)
andalucia_2020 <- get_meteo_from('ria', options = api_options)
andalucia_2020

Visually:

andalucia_2020 |>
  units::drop_units() |>
  mutate(month = lubridate::month(timestamp, label = TRUE)) |>
  ggplot() +
  geom_sf(aes(colour = max_temperature)) +
  facet_wrap(vars(month), ncol = 4) +
  scale_colour_viridis_c()

andalucia_2020 |>
  mutate(month = lubridate::month(timestamp, label = TRUE)) |>
  ggplot() +
  geom_histogram(aes(x = precipitation)) +
  facet_wrap(vars(month), ncol = 4)


Try the meteospain package in your browser

Any scripts or data that you put into this service are public.

meteospain documentation built on May 29, 2024, 1:59 a.m.