Need maintenance for the directory path change in NASA EOSDIS. This function first retrieves the all hdf download links on a certain day, then only selects the relevant tiles from the retrieved links. Download is only done at the queried horizontal-vertical tile number combinations. An exception is MOD06_L2 product, which is produced every five minutes every day.
Usage
download_modis(
product = c("MOD09GA", "MOD11A1", "MOD06_L2", "MCD19A2", "MOD13A2", "VNP46A2"),
version = "61",
horizontal_tiles = c(7, 13),
vertical_tiles = c(3, 6),
mod06_links = NULL,
nasa_earth_data_token = NULL,
date = c("2023-09-01", "2023-09-01"),
directory_to_save = NULL,
acknowledgement = FALSE,
download = FALSE,
remove_command = FALSE,
hash = FALSE
)
Arguments
- product
character(1). One of
c("MOD09GA", "MOD11A1", "MOD06_L2", "MCD19A2", "MOD13A2", "VNP46A2")
- version
character(1). Default is
"61"
, meaning v061.- horizontal_tiles
integer(2). Horizontal tile numbers
c({start}, {end})
. Default isc(7, 13)
.- vertical_tiles
integer(2). Vertical tile numbers
c({start}, {end})
. Default isc(3, 6)
.- mod06_links
character(1). CSV file path to MOD06_L2 download links from NASA LAADS MOD06_L2. Default is
NULL
.- nasa_earth_data_token
character(1). Token for downloading data from NASA. Should be set before trying running the function.
- date
character(1 or 2). length of 10. Date or start/end dates for downloading data. Format "YYYY-MM-DD" (ex. January 1, 2018 =
"2018-01-01"
). Note: ignored ifproduct == "MOD06_L2"
.- directory_to_save
character(1). Directory to save data.
- acknowledgement
logical(1). By setting
TRUE
the user acknowledges that the data downloaded using this function may be very large and use lots of machine storage and memory.- download
logical(1). Download data or only save wget commands.
- remove_command
logical(1). Remove (
TRUE
) or keep (FALSE
) the text file containing download commands.- hash
logical(1). By setting
TRUE
the function will return anrlang::hash_file()
hash character corresponding to the downloaded files. Default isFALSE
.
Value
For
hash = FALSE
, NULLFor
hash = TRUE
, anrlang::hash_file
character.HDF (.hdf) files will be stored in year/day_of_year sub-directories within
directory_to_save
.
Note
Both dates in date
should be in the same year.
Directory structure looks like
input/modis/raw/{version}/{product}/{year}/{day_of_year}.
References
data_mcd19a22021amadeus
data_mod06l2_2017amadeus
data_mod09ga2021amadeus
data_mod11a12021amadeus
data_mod13a22021amadeus
article_roman2018vnp46amadeus
Examples
if (FALSE) { # \dontrun{
## NOTE: Examples are wrapped in `/dontrun{}` to avoid sharing sensitive
## NASA EarthData tokden information.
# example with MOD09GA product
download_modis(
product = "MOD09GA",
version = "61",
horizontal_tiles = c(8, 8),
vertical_tiles = c(4, 4),
date = "2024-01-01",
nasa_earth_data_token = "./pathtotoken/token.txt",
directory_to_save = tempdir(),
acknowledgement = TRUE,
download = FALSE, # NOTE: download skipped for examples,
remove_command = TRUE
)
# example with MOD06_L2 product
download_modis(
product = "MOD06_L2",
version = "61",
horizontal_tiles = c(8, 8),
vertical_tiles = c(4, 4),
date = "2024-01-01",
mod06_links =
system.file(
"extdata", "nasa", "LAADS_query.2024-08-02T12_49.csv",
package = "amadeus"
),
nasa_earth_data_token = "./pathtotoken/token.txt",
directory_to_save = tempdir(),
acknowledgement = TRUE,
download = FALSE, # NOTE: download skipped for examples,
remove_command = TRUE
)
# example with VNP46A2 product
download_modis(
product = "VNP46A2",
version = "61",
horizontal_tiles = c(8, 8),
vertical_tiles = c(4, 4),
date = "2024-01-01",
nasa_earth_data_token = "./pathtotoken/token.txt",
directory_to_save = tempdir(),
acknowledgement = TRUE,
download = FALSE, # NOTE: download skipped for examples,
remove_command = TRUE
)
} # }