Retrieves climatology values for one station or all available stations.
aemet_daily_period() and aemet_daily_period_all() are shortcuts for
aemet_daily_clim().
Usage
aemet_daily_clim(
station = "all",
start = Sys.Date() - 7,
end = Sys.Date(),
verbose = FALSE,
return_sf = FALSE,
extract_metadata = FALSE,
progress = TRUE
)
aemet_daily_period(
station,
start = as.integer(format(Sys.Date(), "%Y")),
end = start,
verbose = FALSE,
return_sf = FALSE,
extract_metadata = FALSE,
progress = TRUE
)
aemet_daily_period_all(
start = as.integer(format(Sys.Date(), "%Y")),
end = start,
verbose = FALSE,
return_sf = FALSE,
extract_metadata = FALSE,
progress = TRUE
)Arguments
- station
A character vector of station identifiers (see
aemet_stations()) or"all"for all stations.- start, end
Character strings containing the start and end dates. See Details.
- verbose
A logical value. If
TRUE, displays information about the exchange between the client and server.- return_sf
A logical value. If
TRUE, the function returns ansfspatial object. IfFALSE(the default), it returns a tibble. sf must be installed.- extract_metadata
A logical value. If
TRUE, returns a tibble describing the response fields. Seeget_metadata_aemet().- progress
A logical value. If
TRUE, displays acli::cli_progress_bar()unlessverbose = TRUE.
Details
For aemet_daily_clim(), start and end must be Date objects or
strings in YYYY-MM-DD format, such as "2020-12-31", that can be coerced
with as.Date(). For aemet_daily_period() and
aemet_daily_period_all(), they must be strings representing the years to
extract, such as "2018" and "2020".
API key
Queries to the AEMET OpenData API require an API key. Use aemet_api_key()
to set it globally. Query timeout can be controlled with
options(climaemet_timeout = 60) (default value). See
httr2::req_timeout() for details.
See also
aemet_stations() for station identifiers.
Climatology:
aemet_extremes_clim(),
aemet_monthly_clim(),
aemet_normal_clim()
Examples
library(dplyr)
obs <- aemet_daily_clim(c("9434", "3195"))
glimpse(obs)
#> Rows: 10
#> Columns: 27
#> $ fecha <date> 2026-07-11, 2026-07-12, 2026-07-13, 2026-07-14, 2026-07-1…
#> $ indicativo <chr> "9434", "9434", "9434", "9434", "9434", "3195", "3195", "3…
#> $ nombre <chr> "ZARAGOZA, AEROPUERTO", "ZARAGOZA, AEROPUERTO", "ZARAGOZA,…
#> $ provincia <chr> "ZARAGOZA", "ZARAGOZA", "ZARAGOZA", "ZARAGOZA", "ZARAGOZA"…
#> $ altitud <dbl> 249, 249, 249, 249, 249, 667, 667, 667, 667, 667
#> $ tmed <dbl> 29.6, 29.8, 31.1, 32.0, 33.0, 29.4, 27.6, 27.0, 28.4, 27.8
#> $ prec <dbl> 0.0, 0.0, 0.0, 0.0, 0.0, 0.2, 0.0, 0.0, 0.0, 0.0
#> $ tmin <dbl> 21.8, 24.1, 24.5, 24.3, 24.2, 22.0, 22.3, 21.6, 20.9, 20.9
#> $ horatmin <time> 04:40:00, 05:20:00, 04:40:00, 05:20:00, 05:10:00, 06:00:00…
#> $ tmax <dbl> 37.3, 35.4, 37.7, 39.7, 41.9, 36.8, 32.8, 32.4, 35.9, 34.8
#> $ horatmax <time> 16:20:00, 14:20:00, 17:30:00, 15:50:00, 17:20:00, 14:50:00…
#> $ dir <dbl> 13, 12, 15, 11, 31, 17, 21, 22, 22, 28
#> $ velmedia <dbl> 2.5, 8.3, 2.5, 4.7, 3.6, 3.3, 3.6, 2.2, 3.3, 2.2
#> $ racha <dbl> 11.1, 15.6, 8.3, 8.9, 10.3, 13.6, 10.6, 8.6, 10.6, 10.3
#> $ horaracha <time> 20:30:00, 18:10:00, 20:00:00, 18:30:00, 23:30:00, 23:20:00…
#> $ sol <dbl> 13.5, 11.0, 12.1, 12.4, 13.1, NA, NA, NA, NA, NA
#> $ presMax <dbl> 984.0, 984.2, 984.1, 986.5, 987.4, 937.1, 938.7, 940.0, 94…
#> $ horaPresMax <chr> "07", "07", "Varias", "08", "07", "Varias", "24", "09", "…
#> $ presMin <dbl> 980.2, 979.5, 979.9, 982.0, 983.5, 933.8, 935.7, 938.2, 93…
#> $ horaPresMin <chr> "17", "Varias", "18", "17", "17", "Varias", "16", "Varias…
#> $ hrMedia <dbl> 31, 36, 37, 41, 35, 24, 35, 30, 25, 34
#> $ hrMax <dbl> 64, 68, 70, 69, 83, 43, 64, 49, 45, 57
#> $ horaHrMax <chr> "05:00", "23:50", "01:20", "23:50", "03:40", "Varias", "05…
#> $ hrMin <dbl> 16, 21, 23, 25, 9, 14, 24, 17, 13, 20
#> $ horaHrMin <chr> "17:00", "14:00", "16:30", "15:10", "17:00", "14:40", "17:…
#> $ pintMax <dbl> 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.6, 0.0, 0.0, 0.0
#> $ horaPIntMax <chr> NA, NA, NA, NA, NA, NA, "Varias", NA, NA, NA
# Metadata.
meta <- aemet_daily_clim(c("9434", "3195"), extract_metadata = TRUE)
glimpse(meta$campos)
#> List of 27
#> $ :List of 4
#> ..$ id : chr "fecha"
#> ..$ descripcion: chr "fecha del dia (AAAA-MM-DD)"
#> ..$ tipo_datos : chr "string"
#> ..$ requerido : logi TRUE
#> $ :List of 4
#> ..$ id : chr "indicativo"
#> ..$ descripcion: chr "indicativo climatológico"
#> ..$ tipo_datos : chr "string"
#> ..$ requerido : logi TRUE
#> $ :List of 4
#> ..$ id : chr "nombre"
#> ..$ descripcion: chr "nombre (ubicación) de la estación"
#> ..$ tipo_datos : chr "string"
#> ..$ requerido : logi TRUE
#> $ :List of 4
#> ..$ id : chr "provincia"
#> ..$ descripcion: chr "provincia de la estación"
#> ..$ tipo_datos : chr "string"
#> ..$ requerido : logi TRUE
#> $ :List of 5
#> ..$ id : chr "altitud"
#> ..$ descripcion: chr "altitud de la estación en m sobre el nivel del mar"
#> ..$ tipo_datos : chr "float"
#> ..$ unidad : chr "m"
#> ..$ requerido : logi TRUE
#> $ :List of 5
#> ..$ id : chr "tmed"
#> ..$ descripcion: chr "Temperatura media diaria"
#> ..$ tipo_datos : chr "float"
#> ..$ unidad : chr "°C"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "prec"
#> ..$ descripcion: chr "Precipitación diaria de 07 a 07"
#> ..$ tipo_datos : chr "float"
#> ..$ unidad : chr "mm (Ip = inferior a 0,1 mm) (Acum = Precipitación acumulada)"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "tmin"
#> ..$ descripcion: chr "Temperatura Mínima del día"
#> ..$ tipo_datos : chr "float"
#> ..$ unidad : chr "°C"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "horatmin"
#> ..$ descripcion: chr "Hora y minuto de la temperatura mínima"
#> ..$ tipo_datos : chr "string"
#> ..$ unidad : chr "UTC"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "tmax"
#> ..$ descripcion: chr "Temperatura Máxima del día"
#> ..$ tipo_datos : chr "float"
#> ..$ unidad : chr "°C"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "horatmax"
#> ..$ descripcion: chr "Hora y minuto de la temperatura máxima"
#> ..$ tipo_datos : chr "string"
#> ..$ unidad : chr "UTC"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "dir"
#> ..$ descripcion: chr "Dirección de la racha máxima"
#> ..$ tipo_datos : chr "float"
#> ..$ unidad : chr "decenas de grado (99 = dirección variable)(88 = sin dato)"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "velmedia"
#> ..$ descripcion: chr "Velocidad media del viento"
#> ..$ tipo_datos : chr "float"
#> ..$ unidad : chr "m/s"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "racha"
#> ..$ descripcion: chr "Racha máxima del viento"
#> ..$ tipo_datos : chr "float"
#> ..$ unidad : chr "m/s"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "horaracha"
#> ..$ descripcion: chr "Hora y minuto de la racha máxima"
#> ..$ tipo_datos : chr "string"
#> ..$ unidad : chr "UTC"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "sol"
#> ..$ descripcion: chr "Insolación"
#> ..$ tipo_datos : chr "float"
#> ..$ unidad : chr "horas"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "presmax"
#> ..$ descripcion: chr "Presión máxima al nivel de referencia de la estación"
#> ..$ tipo_datos : chr "float"
#> ..$ unidad : chr "hPa"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "horapresmax"
#> ..$ descripcion: chr "Hora de la presión máxima (redondeada a la hora entera más próxima)"
#> ..$ tipo_datos : chr "string"
#> ..$ unidad : chr "UTC"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "presmin"
#> ..$ descripcion: chr "Presión mínima al nivel de referencia de la estación"
#> ..$ tipo_datos : chr "float"
#> ..$ unidad : chr "hPa"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "horapresmin"
#> ..$ descripcion: chr "Hora de la presión mínima (redondeada a la hora entera más próxima)"
#> ..$ tipo_datos : chr "string"
#> ..$ unidad : chr "UTC"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "hrmedia"
#> ..$ descripcion: chr "Humedad relativa media diaria"
#> ..$ tipo_datos : chr "float"
#> ..$ unidad : chr "%"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "hrmax"
#> ..$ descripcion: chr "Humedad relativa máxima diaria"
#> ..$ tipo_datos : chr "float"
#> ..$ unidad : chr "%"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "horahrmax"
#> ..$ descripcion: chr "Hora de la humedad relativa máxima diaria"
#> ..$ tipo_datos : chr "string"
#> ..$ unidad : chr "UTC"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "hrmin"
#> ..$ descripcion: chr "Humedad relativa mínima diaria"
#> ..$ tipo_datos : chr "float"
#> ..$ unidad : chr "%"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "horahrmin"
#> ..$ descripcion: chr "Hora de la humedad relativa mínima diaria"
#> ..$ tipo_datos : chr "string"
#> ..$ unidad : chr "UTC"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "pintmax"
#> ..$ descripcion: chr "Intensidad máxima de precipitación"
#> ..$ tipo_datos : chr "float"
#> ..$ unidad : chr "mm/h (-0,3 = precipitación inapreciable < 0,1 mm/h)"
#> ..$ requerido : logi FALSE
#> $ :List of 5
#> ..$ id : chr "horapintmax"
#> ..$ descripcion: chr "Hora de la intensidad máxima de precipitación"
#> ..$ tipo_datos : chr "string"
#> ..$ unidad : chr "UTC"
#> ..$ requerido : logi FALSE
