2015-07-21 94 views
0

在創建柵格時間序列之前,我遇到了從列表中堆疊柵格的問題。當我使用示例數據直接在R環境中執行此操作時,它運行良好。 在此之前的錯誤代碼是:從Linux上的R列表中錯誤地堆疊柵格

FunR<-function(r){ 
    ext<-raster(extent(r),nrow=1100,ncol=1100) 
    crs(ext)<-crs(r) 
    D<-rasterize(r,ext,field="LFRP") 
    EC<-extent(-20, 60,0,30) 
    D2<-extend(D,EC) 
    D3<-crop(D2,extent(-18,20,2,30)) 
    s <- raster(nrow=600, ncol=1000,extent(-18,20,2,30)) 
    crs(s)<-crs(WA) 
    Ds <- resample(D3, s, method='bilinear') 
    crs(Ds)<-crs(WA) 
    Ds 
} 
###Create rasters and crop 
DL4<-sapply(DL3,FunR) 
DL5<-stack(DL4) #(error occurs after this line) 

但是,一旦我把它作爲一個腳本,在HPC我碰到下面的錯誤運行:

Error in x[[1]] : subscript out of bounds 
Calls: stack -> stack -> .local 

我如何獲得的騎這個,請嗎?另外,我如何擺脫我的清單上完全是NA的文件?我懷疑這可能也是一個問題。 這裏是我的「的qsub」腳本:

#PBS -o fre8.txt 
#PBS -e fren8.txt 
#PBS -N FRP08_quarterly 
#PBS -q high_mem 
#PBS -l walltime=50:00:00 
#PBS -l nodes=1:ppn=4 
#PBS -l vmem=400gb 
#PBS -m bea 
#PBS -M [email protected] 
module load R/3.1.3 
cd /scratch/aroo1 
R --no-save -q -f FRPquarts.R 
+0

大家好。現在,我的腳本運行,但在幾個小時後自動停止。如何讓R在HPC上穩定?我現在有完整的代碼,可以在Linux上完美運行,但在HPC上運行幾個小時後會崩潰。 –

回答

0

我發現,在HPC Linux環境使用柵格庫通常會爲輸出誤差,如果@中模塊沒有被明確載入了會議。 舉例來說,使用Linux集羣我經常使用運行腳本之前加載@中的SLURM: 負載GIS/@中-1.9.2

隨着SLURM,我已經使用的「模塊無濟於事」,列出所有可用的模塊已安裝在集羣中。我相信qsub有一個非常相似的命令。只要注意gdal模塊路徑/名稱,並使用load或module load命令使其運行。現在,如果gdal不可用,您將不得不讓管理員將其安裝到集羣,或者編寫腳本來安裝到您自己的主目錄。

+0

嗨盧卡斯,謝謝你的回覆。我編輯了上面的代碼以反映qsub代碼。我該如何爲gdal添加一行? –

+0

在Slurm中,我使用'模塊可用'來列出集羣中已安裝的所有可用模塊。我相信qsub有一個非常相似的命令。只要注意gdal模塊路徑/名稱,並使用load或module load命令使其運行。現在,如果gdal不可用,您將不得不讓管理員將其安裝到集羣,或者編寫腳本來安裝到您自己的主目錄。 –