MyNixOS website logo
Description

Accessing and Analyzing Large-Scale Environmental Data.

Functions are designed to facilitate access to and utility with large scale, publicly available environmental data in R. The package contains functions for downloading raw data files from web URLs (download_data()), processing the raw data files into clean spatial objects (process_covariates()), and extracting values from the spatial data objects at point and polygon locations (calculate_covariates()). These functions call a series of source-specific functions which are tailored to each data sources/datasets particular URL structure, data format, and spatial/temporal resolution. The functions are tested, versioned, and open source and open access. For sum_edc() method details, see Messier, Akita, and Serre (2012) <doi:10.1021/es203152a>.

amadeus amadeus website

R-CMD-check cov lint pkgdown Project Status: Active – The project has reached a stable, usable state and is being actively developed. CRAN downloads

amadeus is amechanism for data, environments, and user setup for common environmental and climate health datasets in R. amadeus has been developed to improve access to and utility with large scale, publicly available environmental data in R.

Installation

amadeus can be installed from CRAN, or with pak.

install.packages("amadeus")
pak::pak("NIEHS/amadeus")

Download

download_data accesses and downloads raw geospatial data from a variety of open source data repositories. The function is a wrapper that calls source-specific download functions, each of which account for the source's unique combination of URL, file naming conventions, and data types. Download functions cover the following sources:

Data SourceFile TypeData GenreSpatial Extent
Climatology Lab TerraClimatenetCDFMeteorologyGlobal
Climatology Lab GridMetnetCDFClimate
Water
Contiguous United States
Köppen-Geiger Climate ClassificationGeoTIFFClimate ClassificationGlobal
MRLC[^1] Consortium National Land Cover Database (NLCD)GeoTIFFLand UseUnited States
NASA[^2] Moderate Resolution Imaging Spectroradiometer (MODIS)HDFAtmosphere
Meteorology
Land Use
Satellite
Global
NASA Modern-Era Retrospective analysis for Research and Applications, Version 2 (MERRA-2)netCDFAtmosphere
Meteorology
Global
NASA SEDAC[^3] UN WPP-Adjusted Population DensityGeoTIFF
netCDF
PopulationGlobal
NASA SEDAC Global Roads Open Access Data SetShapefile
Geodatabase
RoadwaysGlobal
NASA Goddard Earth Observing System Composition Forcasting (GEOS-CF)netCDFAtmosphere
Meteorology
Global
NOAA Hazard Mapping System Fire and Smoke ProductShapefile
KML
Wildfire SmokeNorth America
NOAA NCEP[^4] North American Regional Reanalysis (NARR)netCDFAtmosphere
Meteorology
North America
OpenGeoHub Foundation OpenLandMapGeoTIFFClimate
Elevation
Soil
Land Use
Satellite
Global
Parameter Elevation Regression on Independent Slopes Model (PRISM)BIL
ASCII
ClimateUnited States
US EPA[^5] Air Data Pre-Generated Data FilesCSVAir PollutionUnited States
US EPA EcoregionsShapefileClimate RegionsNorth America
US EPA National Emissions Inventory (NEI)CSVEmissionsUnited States
US EPA Toxic Release Inventory (TRI) ProgramCSVChemicals
Pollution
United States
USGS[^6] Global Multi-resolution Terrain Elevation Data (GMTED2010)ESRI ASCII GridElevationGlobal
USGS National Hydrography Dataset (NHD)Geopackage
Geodatabase
HydrographyUnited States

See the "download_data" vignette for a detailed description of source-specific download functions.

Example use of download_data using NOAA NCEP North American Regional Reanalysis's (NARR) "weasd" (Daily Accumulated Snow at Surface) variable.

directory <- "/  EXAMPLE  /  FILE  /  PATH  /"
download_data(
  dataset_name = "narr",
  year = 2022,
  variable = "weasd",
  directory_to_save = directory,
  acknowledgement = TRUE,
  download = TRUE,
  hash = TRUE
)
Downloading requested files...
Requested files have been downloaded.
[1] "5655d4281b76f4d4d5bee234c2938f720cfec879"
list.files(file.path(directory, "weasd"))
[1] "weasd.2022.nc"

Process

process_covariates imports and cleans raw geospatial data (downloaded with download_data), and returns a single SpatRaster or SpatVector into the user's R environment. process_covariates "cleans" the data by defining interpretable layer names, ensuring a coordinate reference system is present, and managing `timedata (if applicable).

To avoid errors when using process_covariates, do not edit the raw downloaded data files. Passing user-generated or edited data into process_covariates may result in errors as the underlying functions are adapted to each sources' raw data file type.

Example use of process_covariates using the downloaded "weasd" data.

weasd_process <- process_covariates(
  covariate = "narr",
  date = c("2022-01-01", "2022-01-05"),
  variable = "weasd",
  path = file.path(directory, "weasd"),
  extent = NULL
)
Detected monolevel data...
Cleaning weasd data for 2022...
Returning daily weasd data from 2022-01-01 to 2022-01-05.
weasd_process
class       : SpatRaster
dimensions  : 277, 349, 5  (nrow, ncol, nlyr)
resolution  : 32462.99, 32463  (x, y)
extent      : -16231.49, 11313351, -16231.5, 8976020  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=lcc +lat_0=50 +lon_0=-107 +lat_1=50 +lat_2=50 +x_0=5632642.22547 +y_0=4612545.65137 +datum=WGS84 +units=m +no_defs
source      : weasd.2022.nc:weasd
varname     : weasd (Daily Accumulated Snow at Surface)
names       : weasd_20220101, weasd_20220102, weasd_20220103, weasd_20220104, weasd_20220105
unit        :         kg/m^2,         kg/m^2,         kg/m^2,         kg/m^2,         kg/m^2
time        : 2022-01-01 to 2022-01-05 UTC

Calculate Covariates

calculate_covariates stems from the beethoven project's need for various types of data extracted at precise locations. calculate_covariates, therefore, extracts data from the "cleaned" SpatRaster or SpatVector object at user defined locations. Users can choose to buffer the locations. The function returns a data.frame, sf, or SpatVector with data extracted at all locations for each layer or row in the SpatRaster or SpatVector object, respectively.

Example of calculate_covariates using processed "weasd" data.

locs <- data.frame(id = "001", lon = -78.8277, lat = 35.95013)
weasd_covar <- calculate_covariates(
  covariate = "narr",
  from = weasd_process,
  locs = locs,
  locs_id = "id",
  radius = 0,
  geom = "sf"
)
Detected `data.frame` extraction locations...
Calculating weasd covariates for 2022-01-01...
Calculating weasd covariates for 2022-01-02...
Calculating weasd covariates for 2022-01-03...
Calculating weasd covariates for 2022-01-04...
Calculating weasd covariates for 2022-01-05...
Returning extracted covariates.
weasd_covar
Simple feature collection with 5 features and 3 fields
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: 8184606 ymin: 3523283 xmax: 8184606 ymax: 3523283
Projected CRS: unnamed
   id       time     weasd_0                geometry
1 001 2022-01-01 0.000000000 POINT (8184606 3523283)
2 001 2022-01-02 0.000000000 POINT (8184606 3523283)
3 001 2022-01-03 0.000000000 POINT (8184606 3523283)
4 001 2022-01-04 0.000000000 POINT (8184606 3523283)
5 001 2022-01-05 0.001953125 POINT (8184606 3523283)

Climate and Health Outcomes Research Data Systems

The amadeus package has been developed as part of the National Institute of Environmental Health Science's (NIEHS) Climate and Health Outcomes Research Data Systems (CHORDS) program. CHORDS aims to "build and strengthen data infrastructure for patient-centered outcomes research on climate change and health" by providing curated data, analysis tools, and educational resources. Visit the CHORDS catalog at https://niehs.github.io/chords_landing/index.html.

Additional Resources

The following R packages can also be used to access climate and weather data in R, but each differs from amadeus in the data sources covered or type of functionality provided.

PackageSource
dataRetrievalUSGS Hydrological Data and EPA Water Quality Data
daymetrDaymet
ecmwfrECMWF Reanalysis v5 (ERA5)
RClimChange[^7]NASA Earth Exchange Global Daily Downscaled Projections (NEX-GDDP-CMIP6)
rNOMADSNOAA Operational Model Archive and Distribution System
sen2r[^8]Sentinel-2

Contribution

To add or edit functionality for new data sources or datasets, open a Pull request into the main branch with a detailed description of the proposed changes. Pull requests must pass all status checks, and then will be approved or rejected by amadeus's authors.

Utilize Issues to notify the authors of bugs, questions, or recommendations. Identify each issue with the appropriate label to help ensure a timely response.

[^1]: Multi-Resolution Land Characteristics [^2]: National Aeronautics and Space Administration [^3]: Socioeconomic Data and Applications Center [^4]: National Centers for Environmental Prediction [^5]: United States Environmental Protection Agency [^6]: United States Geological Survey [^7]: Last updated more than two years ago. [^8]: Archived; no longer maintained.

Metadata

Version

1.2.3

License

Unknown

Platforms (77)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows