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

MeteoGalicia service

MeteoGalicia service offers the data of the galician automatic meteorological stations network. This network is supported and assessed by the Xunta de Galicia and the data should be trustworthy.

MeteoGalicia options

Temporal resolution

MeteoGalicia 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

MeteoGalicia API allows specifying stations code to narrow the data retrieved. So, a character vector of station codes can be supplied in the stations argument.

Examples

# last measure for all stations
api_options <- meteogalicia_options()
api_options

# current day, only some stations
api_options <- meteogalicia_options(
  resolution = 'current_day',
  stations = c('10157', '14000', '10045')
)
api_options

# daily, all stations
api_options <- meteogalicia_options(
  resolution = 'daily',
  start_date = as.Date('2020-04-25'), end_date = as.Date('2020-05-25')
)
api_options

# monthly, some stations
api_options <- meteogalicia_options(
  resolution = 'monthly',
  start_date = as.Date('2020-04-01'), end_date = as.Date('2020-08-01'),
  stations = c('10157', '14000', '10045')
)
api_options

MeteoGalicia stations info

Accessing station metadata for MeteoGalicia is simple:

get_stations_info_from('meteogalicia')

MeteoGalicia data

api_options <- meteogalicia_options(
  resolution = 'monthly',
  start_date = as.Date('2020-01-01'),
  end_date = as.Date('2020-12-31')
)
galicia_2020 <- get_meteo_from('meteogalicia', options = api_options)
galicia_2020

Visually:

galicia_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()

galicia_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.