2
這是一個困難的時間概念化。我目前有一個netcdf文件,其中包含1979-2016年的每月氣候平均值。我想從這個較大的光柵堆棧中單獨製作一個光柵堆棧(即從1個光柵堆棧到38)。我不能爲我的生活弄清楚這一點。任何建議都會很棒!數據可以在這裏找到:http://nimbus.cos.uidaho.edu/abatz/DATA/vpd19792016.nc從較大的柵格堆棧中創建柵格堆棧的許多子集
我迄今爲止開始如下:
library(raster)
library(lubridate)
library(rgdal)
library(tidyverse)
library(tools)
file = "../data/raw/climate/aet_19792016.nc"
file_split <- file %>%
basename %>%
strsplit(split = "_") %>%
unlist
var <- file_split[1]
year <- substr(file_split[2], start = 1, stop = 4)
endyear <- substr(file_split[2], start = 5, stop = 8)
start_date <- as.Date(paste(year, "01", "01", sep = "-"))
end_date <- as.Date(paste(ifelse(year == endyear, year, endyear), "12", "31", sep = "-"))
date_seq <- seq(start_date, end_date, by = "1 month")
month_seq <- month(date_seq)
nc <- nc_open(file)
nc_att <- attributes(nc$var)$names
ncvar <- ncvar_get(nc, nc_att)
tvar <- aperm(ncvar, c(3,2,1))
proj <- "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0 "
raster <- brick(tvar, crs= proj)
extent(raster) <- c(-124.793, -67.043, 25.04186, 49.41686)
names(raster) <- paste(var, year(date_seq),
unique(month(date_seq, label = TRUE)),
sep = "_")
unstack(raster)
在此先感謝您的任何建議!
這就是它!超級有用 - 非常感謝你的回覆。 –