R package to fetch zonal weather indicators for Brazilian municipalities.
Installation
You can install the development version of brclimr like so:
remotes::install_gitlab(repo = "rdefreit/brclimr", host = "https://gitlab.inria.fr")
Main functions
Currently, this package fetches zonal statistics from weather indicators created for each Brazilian municipality with data from the BR-DWGD project (Xavier et al. 2022). For each municipality and weather indicator, a series of daily zonal statistics was calculated considering the data cells that intersects the municipality, like mean, max, min, sd and sum.
For the BR-DWGD project, the following data can be retrieved with this package
library(brclimr)
product_info(product = "brdwgd")
#> Product: brdwgd
#> Maximum temperature [tmax] (°C) : min, max, mean, sd [Daily, 1963-01-01 to 2020-07-31]
#> Minimum temperature [tmin] (°C) : min, max, mean, sd [Daily, 1963-01-01 to 2020-07-31]
#> Precipitation [pr] (mm) : min, max, mean, sd, sum [Daily, 1963-01-01 to 2020-07-31]
#> Evapotranspiration [eto] (mm) : min, max, mean, sd, sum [Daily, 1963-01-01 to 2020-07-31]
#> Relative humidity [rh] (%) : min, max, mean, sd [Daily, 1963-01-01 to 2020-07-31]
#> Solar radiation [rs] (MJ/m2) : min, max, mean, sd [Daily, 1963-01-01 to 2020-07-31]
#> Wind speed [u2] (m/2) : min, max, mean, sd [Daily, 1963-01-01 to 2020-07-31]
To fetch data for a specific product, indicator and statistic, use the fetch_data function. For example, lets consider the Rio de Janeiro, RJ municipality (IBGE code number 3304557), data product “brdwgd”, average relative humidity, from 2010-10-15 to 2010-10-20.
fetch_data(
code_muni = 3304557,
product = "brdwgd",
indicator = "rh",
statistics = "mean",
date_start = as.Date("2010-10-15"),
date_end = as.Date("2010-10-20")
)
#> date value
#> 1 2010-10-15 74.48010
#> 2 2010-10-16 73.53403
#> 3 2010-10-17 77.84841
#> 4 2010-10-18 90.10590
#> 5 2010-10-19 74.33522
#> 6 2010-10-20 71.50061
Another example
tmax <- fetch_data(
code_muni = 3303401,
product = "brdwgd",
indicator = "tmax",
statistics = "mean",
date_start = as.Date("2010-01-01"),
date_end = as.Date("2012-01-01")
)
tmin <- fetch_data(
code_muni = 3303401,
product = "brdwgd",
indicator = "tmin",
statistics = "mean",
date_start = as.Date("2010-01-01"),
date_end = as.Date("2012-01-01")
)
pr <- fetch_data(
code_muni = 3303401,
product = "brdwgd",
indicator = "pr",
statistics = "sum",
date_start = as.Date("2010-01-01"),
date_end = as.Date("2012-01-01")
)
tmax$name <- "Tmax_avg"
tmin$name <- "Tmin_avg"
library(ggplot2)
ggplot(data = rbind(tmax, tmin), aes(x = date, y = value, color = name)) +
geom_line() +
scale_x_date(date_breaks = "2 months", date_labels = "%m/%y") +
ylim(0, NA) +
labs(
title = "Nova Friburgo, RJ",
x = "Date",
y = "Temperature (average)",
color = ""
) +
theme_bw() +
theme(legend.position = "bottom", legend.direction = "horizontal")
ggplot(data = pr, aes(x = date, y = value)) +
geom_line(color = "blue") +
scale_x_date(date_breaks = "2 months", date_labels = "%m/%y") +
ylim(0, NA) +
labs(
title = "Nova Friburgo, RJ",
x = "Date",
y = "Precipitation (sum)",
color = ""
) +
theme_bw() +
theme(legend.position = "bottom", legend.direction = "horizontal")