2015-07-21 4 views
0

У меня возникли проблемы с укладкой моих растров из списка, прежде чем создавать временные ряды растра. Когда я делаю это непосредственно в среде R с использованием выборочных данных, это работает отлично. Коды до этой ошибки:Ошибка укладки растров из списка в R на Linux

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) 

Однако, как только я отправить его в качестве сценария для запуска на КВД я получаю следующее сообщение об ошибке:

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

Я обнаружил, что с помощью библиотеки растровой в КВД Линукс сред, как правило, дают выходные ошибки, если GDAL модуль явно не загружен в сеансе. Например, с помощью Слерма на Linux кластере Я часто приходится загружать GDAL перед запуском сценариев с использованием: нагрузки ГИС/библиотеки GDAL-1.9.2

С Слерма, я использовал «модуль» безрезультатно список всех доступных модулей уже установленных в кластере. Я уверен, что qsub имеет очень похожую команду. Просто обратите внимание на путь/имя модуля gdal и используйте команду загрузки нагрузки или загрузки модуля, чтобы запустить ее. Теперь, если gdal недоступен, вам придется либо получить администраторов, чтобы установить его в кластер, либо написать сценарий для установки в ваш собственный домашний каталог.

+0

Привет, Лукас, спасибо, что ответили. Я изменил коды выше, чтобы отразить коды qsub. как добавить строку для gdal, пожалуйста? –

+0

С помощью Slurm я использовал 'module avail' для отображения всех доступных модулей, уже установленных в кластере. Я уверен, что qsub имеет очень похожую команду. Просто обратите внимание на путь/имя модуля gdal и используйте команду загрузки нагрузки или загрузки модуля, чтобы запустить ее. Теперь, если gdal недоступен, вам придется либо получить администраторов, чтобы установить его в кластер, либо написать сценарий для установки в ваш собственный домашний каталог. –