Learn R Programming

amadeus (version 1.3.2.1)

download_modis: Download MODIS product files

Description

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", "MYD09GA", "MOD09GQ", "MYD09GQ", "MOD09A1", "MYD09A1",
    "MOD09Q1", "MYD09Q1", "MOD11A1", "MYD11A1", "MOD11A2", "MYD11A2", "MOD11B1",
    "MYD11B1", "MOD13A1", "MYD13A1", "MOD13A2", "MYD13A2", "MOD13A3", "MYD13A3",
    "MOD06_L2", "MCD19A2", "VNP46A2"),
  version = "061",
  nasa_earth_data_token = NULL,
  date = c("2023-09-01", "2023-09-01"),
  extent = c(-125, 22, -64, 50),
  directory_to_save = NULL,
  acknowledgement = FALSE,
  download = FALSE,
  remove_command = FALSE,
  hash = FALSE
)

Value

  • For hash = FALSE, NULL

  • For hash = TRUE, an rlang::hash_file character.

  • HDF (.hdf) files will be stored in year/day_of_year sub-directories within directory_to_save.

Arguments

product

character(1). One of c("MOD09GA", "MOD11A1", "MOD06_L2", "MCD19A2", "MOD13A2", "VNP46A2")

version

character(1). Default is "061", meaning v061.

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 if product == "MOD06_L2".

extent

numeric(4). Bounding box for downloading data. Format is c(min_lon, max_lon, min_lat, max_lat). Default is c(-125, 22, -64, 50), approximately covering the continental United States.

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 an rlang::hash_file() hash character corresponding to the downloaded files. Default is FALSE.

Author

Mitchell Manware, Insang Song

References

data_mcd19a22021amadeus

data_mod06l2_2017amadeus

data_mod09ga2021amadeus

data_mod11a12021amadeus

data_mod13a22021amadeus

article_roman2018vnp46amadeus

Examples

Run this code
if (FALSE) {
## NOTE: Examples are wrapped in `/dontrun{}` to avoid sharing sensitive
##       NASA EarthData tokden information.
vec_extent <- c(-80, 35, -75, 40)
# example with MOD09GA product
download_modis(
  product = "MOD09GA",
  version = "061",
  date = "2024-01-01",
  extent = vec_extent,
  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 = "6.1",
  extent = vec_extent,
  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 VNP46A2 product
download_modis(
  product = "VNP46A2",
  version = "5200",
  date = "2024-01-01",
  extent = vec_extent,
  nasa_earth_data_token = "./pathtotoken/token.txt",
  directory_to_save = tempdir(),
  acknowledgement = TRUE,
  download = FALSE, # NOTE: download skipped for examples,
  remove_command = TRUE
)
}

Run the code above in your browser using DataLab