
Import CAMS Pollution Data for Brazilian Municipalities
Source:R/sus_grid_pollution_cams.R
sus_grid_pollution_cams.Rdsus_grid_pollution_cams() downloads pre-processed CAMS (Copernicus
Atmosphere Monitoring Service) daily pollution data for Brazilian
municipalities from Zenodo. No API key is required.
Data cover six pollutants — PM2.5, PM10, CO, O3, NO2 and SO2 — aggregated to daily means/maxima/minima per municipality from 2003 to 2024. Files are hosted on Zenodo (CC-BY) as Parquet and are downloaded once and cached locally.
The return value is a climasus_df at stage = "climate",
type = "pollution_cams", directly compatible with
sus_climate_anomaly(), sus_climate_aggregate(), and sus_mod_dlnm().
Usage
sus_grid_pollution_cams(
pollutants = c("pm25", "pm10"),
metric = "mean",
years = NULL,
use_cache = TRUE,
cache_dir = "~/.climasus4r_cache/cams",
lang = "pt",
verbose = TRUE
)Arguments
- pollutants
Character vector. Pollutants to include. Allowed values:
"pm25","pm10","co","o3","no2","so2", or"all". Default:c("pm25", "pm10").- metric
Character. Daily aggregation statistic. One of:
"mean"(default),"max","min", or"all"(all three).- years
Integer vector. Years to include (2003–2024).
NULL(default) returns all available years.- use_cache
Logical. Re-use previously downloaded Parquet files. Default
TRUE.- cache_dir
Character. Directory for cached Parquet files. Default
"~/.climasus4r_cache/cams".- lang
Character. Message language:
"pt"(default),"en","es".- verbose
Logical. Print progress messages. Default
TRUE.
Value
A climasus_df tibble with columns:
code_muni— 7-digit IBGE municipality code (character).date— Date.{pollutant}_{metric}— one numeric column per requested pollutant × metric combination (e.g.pm25_mean,no2_max).
Metadata: stage = "climate", type = "pollution_cams".
Data source
Saldanha, R. et al. CAMS pollution daily averages for Brazilian
municipalities (2003–2024). Zenodo. CC-BY 4.0.
PM2.5: doi:10.5281/zenodo.16374139
|
PM10: doi:10.5281/zenodo.16419737
|
CO: doi:10.5281/zenodo.18641834
|
O3: doi:10.5281/zenodo.18641945
|
NO2: doi:10.5281/zenodo.18642048
|
SO2: doi:10.5281/zenodo.18642198
Examples
if (FALSE) { # \dontrun{
# PM2.5 and NO2 daily means for 2019-2022
cams <- sus_grid_pollution_cams(
pollutants = c("pm25", "no2"),
metric = "mean",
years = 2019:2022,
lang = "pt"
)
sus_meta(cams, "stage") # "climate"
sus_meta(cams, "type") # "pollution_cams"
# All pollutants, all metrics, all years
cams_full <- sus_grid_pollution_cams(
pollutants = "all",
metric = "all",
lang = "en"
)
} # }