This vignette demonstrates how to download, process, and calculate
covariates from the Climatology Lab’s gridMET dataset
using amadeus
functions. Details are provided for each
function’s parameters and outputs. The examples utilize daily specific
humidity data. See https://www.climatologylab.org/wget-gridmet.html for
full variable names and acronyms. The messages returned by
amadeus
functions have been omitted for brevity.
Start by downloading the netCDF data files with
download_data
.
dataset_name = "gridmet"
: gridMET dataset name.variable = "Near-Surface Specific Humidity"
: specific
humidity variable name.year = c(2019, 2020)
: years of interest.directory_to_save = dir
: directory to save the
downloaded files.acknowledgement = TRUE
: acknowledge that the raw data
files are large and may consume lots of local storage.download = TRUE
: download the data files.remove_command = TRUE
: remove the temporary command
file used to download the data.hash = TRUE
: generate unique SHA-1 hash for the
downloaded files.<- tempdir()
dir ::download_data(
amadeusdataset_name = "gridmet",
variable = "Near-Surface Specific Humidity",
year = c(2019, 2020),
directory_to_save = dir,
acknowledgement = TRUE,
download = TRUE,
remove_command = TRUE,
hash = TRUE
)
[1] "aa5116525468299d1fc483b108b3e841fc40d7e5"
Check the downloaded netCDF files.
list.files(dir, recursive = TRUE, pattern = "sph")
[1] "sph/sph_2019.nc" "sph/sph_2020.nc"
Import and process the downloaded netCDF files with
process_covariates
.
covariate = "gridmet"
: gridMET dataset name.variable = "Near-Surface Specific Humidity"
: specific
humidity variable name.date = c("2019-12-13", "2022-01-10")
: date range of
interest.path = paste0(dir, "/sph")
: directory containing the
downloaded files.<- amadeus::process_covariates(
sph_process covariate = "gridmet",
variable = "Near-Surface Specific Humidity",
date = c("2019-12-18", "2020-01-10"),
path = file.path(dir, "/sph")
)
Check the processed SpatRaster
object.
sph_process
class : SpatRaster
dimensions : 585, 1386, 24 (nrow, ncol, nlyr)
resolution : 0.04166667, 0.04166667 (x, y)
extent : -124.7875, -67.0375, 25.04583, 49.42083 (xmin, xmax, ymin, ymax)
coord. ref. : lon/lat WGS 84 (EPSG:4326)
sources : sph_2019.nc (14 layers)
sph_2020.nc (10 layers)
varnames : sph (near-surface specific humidity)
sph (near-surface specific humidity)
names : sph_20191218, sph_20191219, sph_20191220, sph_20191221, sph_20191222, sph_20191223, ...
unit : kg/kg, kg/kg, kg/kg, kg/kg, kg/kg, kg/kg, ...
time (days) : 2019-12-18 to 2020-01-10
::plot(sph_process[[1]]) terra
Calculate covariates for California county boundaries with
calculate_covariates
. County boundaries are accessed with
the tigris::counties
function.
covariate = "gridmet"
: gridMET dataset name.from = sph_process
: processed SpatRaster
object.locs = tigris::counties("CA", year = 2019)
: California
county boundaries.locs_id = "NAME"
: county name identifier.radius = 0
: size of buffer radius around each
county.geom = "sf"
: return covariates as an sf
object.library(tigris)
<- amadeus::calculate_covariates(
sph_covar covariate = "gridmet",
from = sph_process,
locs = tigris::counties("CA", year = 2019),
locs_id = "NAME",
radius = 0,
geom = "terra"
)
Check the calculated covariates sf
object.
sph_covar
class : SpatVector
geometry : polygons
dimensions : 1392, 3 (geometries, attributes)
extent : -124.482, -114.1312, 32.52883, 42.0095 (xmin, xmax, ymin, ymax)
coord. ref. : lon/lat WGS 84 (EPSG:4326)
names : NAME time sph_0
type : <chr> <POSIXt> <num>
values : Sierra 2019-12-18 0.003101
Sacramento 2019-12-18 0.005791
Santa Barbara 2019-12-18 0.004594