2017-04-18 3 views
0

分析出力を個々のNCDF4ファイルに書き込むためのスクリプトがあります。スクリプトが最初のファイルを書き込んで停止します。私は取得しています エラーがある: - R_nc4_createで分析から複数​​のNCDF4ファイルを作成する際にループできません

エラー:アクセス許可は拒否されました(作成モードが4096だった) nc_createでエラーが発生しました(ncfname、リスト(tmp_def、tmp_def2)、force_v4 = T):nc_createで エラー!

そこに何かのように見える: -

ncfname<- sprintf('%sA.nc', Listbreak3) 

、私はそれを把握することはできません。

私のスクリプトは、はるかに大きな分析の一部です。しかし、利益の一部は以下の通りです。

それがループすることができ、しかし、私はループが

ホープ誰かがループ内で複数のNCDF4ファイル

書き込みNCDF4ファイル #
tunits<-"days since 1800-01-01 00:00:00" 

    #Define dimensions 
    ################################################################## 
    londim<-ncdim_def("Lon","degrees_east",as.double(Lon)) 
    latdim<-ncdim_def("Lat", "degrees_north",as.double(Lat)) 
    timedim<-ncdim_def("timeset",tunits,as.double(timeset)) 

    #Define variables 
    ################################################################## 
    fillvalue<-NA 

    dlname<-"2 meter air temperature" 
    dlname2<-" 2 meter max air temperature" 

    tmp_def<-ncvar_def("Y2ts_Stripped","deg_C", 
    list(londim,latdim,timedim),fillvalue,dlname,prec = "double") 
    tmp_def2<-ncvar_def("X2ts_Stripped","deg_C", 
    list(londim,latdim,timedim),fillvalue,dlname2,prec = "double") 

    ncatt_put(ncout,"Lon","axis","X") 
    ncatt_put(ncout, "Lat", "axis", "Y") 
    ncatt_put(ncout, "timeset","axis", "T") 

    ################################################# 
    title<-c(1:2) 
    names(title)<-c("jack","jill") 
    title<-as.data.frame(title) 
    ############################################### 
    Listbreak<-filelist 


    #Create Ncdf4 file and put arrays 
    ################################################################## 
    for (i in 1:length(Listbreak)){ 
    Listbreak2<-do.call(rbind, strsplit(Listbreak, "[[:punct:]]|\\s")) 
    [,c(1, 2,3)]###Breaking up the file name 
    Listbreak3<-Listbreak2[,2] 


    ncfname<- sprintf('%sA.nc', Listbreak3) 

    ncout<-nc_create(ncfname,list(tmp_def,tmp_def2),force_v4=T) 

    ncvar_put(ncout,tmp_def,Y2ts_Stripped,start=NA,count = NA) 

    ncvar_put(ncout,tmp_def2,X2ts_stripped, start= NA,count = NA) 

    } 

    # attributes # the 0 designates the attribute as global 
    ########################################################### 
    ncatt_put(ncout,0,"Make_NCDF4_File",1, prec="int") 
    ncatt_put(ncout,0,"Maynooth_University",1,prec="short") 
    ncatt_put(ncout,0,"AR000087828",1, prec="short") 
    ncatt_put(ncout,0,"description","this is the script to write NCDF4 
    files") 


    #Close file and write date to disk 
    ########################################################## 
    nc_close(ncout) 

答えて

0

エラーを書いています大丈夫だと思います

Listbreak < -filelist Listbreak2 < -do.call(rbind、strsplit(Listbreak、 "[[:punct:]] | \ S」))、C(1,2,3)] ###のファイル名を分割 Listbreak3 < -Listbreak2 [2]

N < - 長さ(Listbreak)

(iについて1:N){

ncfname<- paste0(substr(Listbreak[i],1,16),'a.nc') 
関連する問題