Since the last release, this package has been integrated into rOpenSpain, a community of R enthusiasts whose ultimate goal is to create high-quality R packages for data mining public Spanish open sources.
From version 1.0.0 onward, we have introduced some improvements and (breaking) changes on the package, in order to provide a smoother interaction with the AEMET API service.
To be able to download data from AEMET you will need a free API key which you can get at https://opendata.aemet.es/centrodedescargas/obtencionAPIKey
Once that you have your API Key, you can use any of the following methods:
aemet_api_key()
This is the recommended option. Just type:
aemet_api_key("YOUR_API_KEY", install = TRUE)
Using install = TRUE
ensures that the API key is stored on your local computer
and it would be reloaded every time you load the library. From now on you can
forget about API keys!
This is a temporary alternative. You can set your API key as an environment variable
Sys.setenv(AEMET_API_KEY = "YOUR_API_KEY")
Note that this is only valid for the current session. You would need to re-run this command each time you restart your session.
.Renviron
fileThis stores your API key permanently on your machine. You can start editing your
.Renviron
running this command:
usethis::edit_r_environ()
Now you can add the following line to you .Renviron
file:
AEMET_API_KEY = YOUR_API_KEY
tibble
formatFrom v1.0.0 onward, climaemet provides its results in tibble
format. Also, the functions try to guess the
correct format of the fields (i.e. something as a Date/Hour now is an hour,
numbers are parsed as double, etc.).
See how a tibble
is displayed:
# See a tibble in action aemet_last_obs("9434") #> # A tibble: 13 × 25 #> idema lon fint prec alt vmax vv dv lat dmax ubi #> <chr> <dbl> <dttm> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> #> 1 9434 -1.00 2025-03-24 16:00:00 0 249 8.9 6.5 295 41.7 298 ZARAGO… #> 2 9434 -1.00 2025-03-24 17:00:00 0 249 9.9 5.8 310 41.7 308 ZARAGO… #> 3 9434 -1.00 2025-03-24 18:00:00 0 249 9 5.3 311 41.7 308 ZARAGO… #> 4 9434 -1.00 2025-03-24 19:00:00 0 249 11.5 6 305 41.7 315 ZARAGO… #> 5 9434 -1.00 2025-03-24 20:00:00 0 249 9.2 5.1 294 41.7 308 ZARAGO… #> 6 9434 -1.00 2025-03-24 21:00:00 0 249 10.1 6.7 303 41.7 300 ZARAGO… #> 7 9434 -1.00 2025-03-24 22:00:00 0 249 9.7 5.3 305 41.7 293 ZARAGO… #> 8 9434 -1.00 2025-03-24 23:00:00 0 249 7.3 4.9 302 41.7 295 ZARAGO… #> 9 9434 -1.00 2025-03-25 00:00:00 0 249 8.4 4.7 306 41.7 278 ZARAGO… #> 10 9434 -1.00 2025-03-25 01:00:00 0 249 7 4.2 291 41.7 295 ZARAGO… #> 11 9434 -1.00 2025-03-25 02:00:00 0 249 7 5.5 293 41.7 293 ZARAGO… #> 12 9434 -1.00 2025-03-25 03:00:00 0 249 7.1 4.8 282 41.7 288 ZARAGO… #> 13 9434 -1.00 2025-03-25 04:00:00 0 249 6.4 5 292 41.7 288 ZARAGO… #> # ℹ 14 more variables: pres <dbl>, hr <dbl>, stdvv <dbl>, ts <dbl>, #> # pres_nmar <dbl>, tamin <dbl>, ta <dbl>, tamax <dbl>, tpr <dbl>, stddv <dbl>, #> # inso <dbl>, tss5cm <dbl>, pacutp <dbl>, tss20cm <dbl>
Note that when possible, data representing dates and numbers are converted to the right format.
Another major change in v1.0.0 is the ability of return information on
spatial sf format, using return_sf = TRUE
. The coordinate reference system
(CRS) used is EPSG 4326, that correspond to the World Geodetic System
(WGS) and return coordinates in latitude/longitude (unprojected coordinates):
# You would need to install `sf` if not installed yet # run install.packages("sf") for installation library(ggplot2) library(dplyr) all_stations <- aemet_daily_clim( start = "2021-01-08", end = "2021-01-08", return_sf = TRUE ) ggplot(all_stations) + geom_sf(aes(colour = tmed), shape = 19, size = 2, alpha = 0.95) + labs( title = "Average temperature in Spain", subtitle = "8 Jan 2021", color = "Max temp.\n(celsius)", caption = "Source: AEMET" ) + scale_colour_gradientn( colours = hcl.colors(10, "RdBu", rev = TRUE), breaks = c(-10, -5, 0, 5, 10, 15, 20), guide = "legend" ) + theme_bw() + theme( panel.border = element_blank(), plot.title = element_text(face = "bold"), plot.subtitle = element_text(face = "italic") )
Example: Temperature in Spain
Other enhancements included on the v1.0.0:
get_metadata_aemet()
.ggclimat_walter_lieth()
. This function is now the default for
climatogram_*
functions
ggplot2 = FALSE
.verbose
and ...
). Now it is
possible to pass colors to the plotting functions.climaemet::climaemet_9434_climatogram
,
climaemet::climaemet_9434_temp
and climaemet::climaemet_9434_wind
.Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.