Skip to contents

# brclimr

R package to fetch zonal weather indicators for Brazilian municipalities.

## Installation

    remotes::install_github(repo = "rfsaldanha/brclimr")

## 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. More details are available on Articles > Methodology.

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, 1961-01-01 to 2020-07-31]
    #> Minimum temperature [tmin] (°C) : min, max, mean, sd [Daily, 1961-01-01 to 2020-07-31]
    #> Precipitation [pr] (mm) : min, max, mean, sd, sum [Daily, 1961-01-01 to 2020-07-31]
    #> Evapotranspiration [eto] (mm) : min, max, mean, sd, sum [Daily, 1961-01-01 to 2020-07-31]
    #> Relative humidity [rh] (%) : min, max, mean, sd [Daily, 1961-01-01 to 2020-07-31]
    #> Solar radiation [rs] (MJ/m2) : min, max, mean, sd [Daily, 1961-01-01 to 2020-07-31]
    #> Wind speed [u2] (m/2) : min, max, mean, sd [Daily, 1961-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

If you need to query several municipalities, indicators and zonal statistics, we recommend to download and locally query the parquet files using the `arrow` package. A list of URLs of the parquet files created for this project is available at Articles > Parquet files.

## 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")

## Links

- Browse source code

## License

- Full license
- MIT + file LICENSE

## Citation

- Citing brclimr

## Developers

- Raphael Saldanha
  Author, maintainer