-
Notifications
You must be signed in to change notification settings - Fork 7
/
01.1_download_EVI.R
78 lines (63 loc) · 2.05 KB
/
01.1_download_EVI.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# This script is going to download the MODIS EVI/FIRE and VIIRS data from the http server
# -- MOD13A2
# translate the matlab code to the R code
rm(list = ls())
# install the packages
repos = "http://cran.us.r-project.org"
get.pkg <- function(pkg){
loaded <- do.call("require",list(package=pkg))
if(!loaded){
print(paste("trying to install",pkg))
install.packages(pkg,dependencies=TRUE,repos=repos)
loaded <- do.call("require",list(package=pkg))
if(loaded){
print(paste(pkg,"installed and loaded"))
}
else {
stop(paste("could not install",pkg))
}
}
}
get.pkg("RCurl")
library(pracma)
library(base)
library(arules)
# give the year of data wanted be downloading
# could write to a function if required multiple years
iyear = 2019
# data starting from Feburary of 2000
if(iyear == 2000){
s_icomp = 4
e_icomp = 23
} else if(iyear == 2019){
s_icomp = 1
e_icomp = 10
} else{
s_icomp = 1
e_icomp = 23
}
accept_tile_string <- "*h29v12*.hdf"
# data temporal resolution
interval <- 16
idate <- paste0(as.character(iyear), "/01/01")
starting_date <- as.Date(idate)
# download data
for(icomp in 3:10){
if((icomp >= s_icomp) & (icomp <= e_icomp)){
idoy = (icomp - 1) * interval + 1
this_date = starting_date + (icomp-1) * interval
this_year = as.numeric(format(this_date,'%Y'))
this_month = as.numeric(format(this_date,'%m'))
this_day = as.numeric(format(this_date,'%d'))
date_str = sprintf('%04d.%02d.%02d', this_year, this_month, this_day)
save_root = sprintf('/projectnb/dietzelab/tmccabe/mccabete/Fire_forecast_509/data/MOD13A2/%04d/%03d/',
iyear, idoy)
if(dir.exists(save_root) == F){
dir.create(file.path(save_root), recursive = TRUE)
}
setwd(save_root)
cmd = sprintf('wget --user yingtong_zhang --password zyt921113TT -A %s -r -nH -np -nv --cut-dirs=4 https://e4ftl01.cr.usgs.gov/MOLT/MOD13A2.006/%s/', accept_tile_string, date_str)
system(cmd)
fprintf('YEAR=%04d,Idoy=%03d,Icomp=%02d done!\n',iyear,idoy,icomp)
}
}