--- title: "Get started with climaemet 1.0.0" author: Diego Hernangómez output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Get started with climaemet 1.0.0} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- Since the last release, this package has been integrated into [rOpenSpain](https://ropenspain.es/), 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. ## API Key ### Get your API Key To be able to download data from AEMET you will need a free API key which you can get at Once that you have your API Key, you can use any of the following methods: #### a. Set API Key with `aemet_api_key()` This is the recommended option. Just type: ``` r 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! #### b. Use an environment variable This is a temporary alternative. You can set your API key as an environment variable ``` r 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. #### c. Modify your `.Renviron` file This stores your API key permanently on your machine. You can start editing your `.Renviron` running this command: ``` r usethis::edit_r_environ() ``` Now you can add the following line to you `.Renviron` file: ``` AEMET_API_KEY = YOUR_API_KEY ``` ## New features ### `tibble` format From **v1.0.0** onward, **climaemet** provides its results in [`tibble` format](https://tibble.tidyverse.org/). 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: ``` r # See a tibble in action aemet_last_obs("9434") #> # A tibble: 12 × 25 #> idema lon fint prec alt vmax vv dv lat dmax ubi pres hr #> #> 1 9434 -1.00 2024-07-26 02:00:00 0 249 9.1 6.1 303 41.7 293 ZARAGOZA… 982. 59 #> 2 9434 -1.00 2024-07-26 03:00:00 0 249 9.7 6.8 296 41.7 298 ZARAGOZA… 982. 59 #> 3 9434 -1.00 2024-07-26 04:00:00 0 249 8.9 6.1 293 41.7 288 ZARAGOZA… 982. 59 #> 4 9434 -1.00 2024-07-26 05:00:00 0 249 7.8 5.8 299 41.7 295 ZARAGOZA… 983. 59 #> 5 9434 -1.00 2024-07-26 06:00:00 0 249 7.2 5.2 302 41.7 308 ZARAGOZA… 983. 62 #> 6 9434 -1.00 2024-07-26 07:00:00 0 249 9.8 7.7 303 41.7 295 ZARAGOZA… 984. 61 #> 7 9434 -1.00 2024-07-26 08:00:00 0 249 9.3 4.9 305 41.7 308 ZARAGOZA… 984. 58 #> 8 9434 -1.00 2024-07-26 09:00:00 0 249 6.5 3 298 41.7 300 ZARAGOZA… 984. 54 #> 9 9434 -1.00 2024-07-26 10:00:00 0 249 4 1.8 272 41.7 285 ZARAGOZA… 983. 52 #> 10 9434 -1.00 2024-07-26 11:00:00 0 249 5.5 3 124 41.7 150 ZARAGOZA… 983. 51 #> 11 9434 -1.00 2024-07-26 12:00:00 0 249 6.4 2.5 96 41.7 110 ZARAGOZA… 982. 46 #> 12 9434 -1.00 2024-07-26 13:00:00 0 249 6.5 4.5 121 41.7 130 ZARAGOZA… 982. 35 #> # ℹ 12 more variables: stdvv , ts , pres_nmar , tamin , ta , #> # tamax , tpr , stddv , inso , tss5cm , pacutp , tss20cm ``` Note that when possible, data representing dates and numbers are converted to the right format. ### Spatial objects: sf 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): ``` r # 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

Example: Temperature in Spain

## Further enhancements Other enhancements included on the **v1.0.0**: - All the functions are now vectorized. - New function `get_metadata_aemet()`. - New function `ggclimat_walter_lieth()`. This function is now the default for `climatogram_*` functions [![Experimental](https://ropenspain.github.io/climaemet/reference/figures/lifecycle-experimental.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental). Old behavior can be reproduced with options `ggplot2 = FALSE`. - Plot functions gains new parameters (`verbose` and `...`). Now it is possible to pass colors to the plotting functions. - New example datasets: `climaemet::climaemet_9434_climatogram`, `climaemet::climaemet_9434_temp` and `climaemet::climaemet_9434_wind`.