R で for ループを使用して、フォルダーから netCDF ファイルを読み取り、指定された経度、緯度のリストの値を抽出しています。1つの問題を除いて、動作しているように見えます。ループが日付に対して値を返す場合、2 月 28 日の後の 1 月 29 日から 31 日までが作成されます。ここに私のRコードがあります:
# given latitude, longitude list
sb1 <- data.frame(longitude=1:10,latitude =1:10)
# Extracting zonal or sub-basin average rainfall from netCDF file
sb1_r <- c()
date <- c()
rain_month <- c()
rain_year <- c()
for (year in 1998:1998){
for (month in 1:3){
for (day in seq_along(1:31)){
FileName <- paste('3B42_daily',year,sprintf("%02d",month),sprintf("%02d", day),'7.SUB.nc', sep='.')
if (!file.exists(FileName)){
next
} else {
File <- nc_open(FileName)
rain <- ncvar_get(File, 'r')
sb1_r[day] <- mean(apply(sb1,1,function(x)rain[x[1],x[2]]),na.rm = TRUE)
date[day] <- paste(year,sprintf("%02d", month),sprintf("%02d", day),sep='-')
rain_month <- data.frame(date,sb1_r)
nc_close(File)
}
}
rain_year <- rbind(rain_year,rain_month)
}
}
次のリンクから 3 か月間の毎日の netCDF データを確認できます: https://drive.google.com/open?id=0B8rqKaYt0VEaMWVGc1gzdXI1U28