2017-11-09 16 views
-1

私は、APEC Climate centerが開発したAIMSモデルを使用しています。モデルはftpサーバーからデータをダウンロードし、datasource.RのLoadCmip5DataFromAdss関数を呼び出してモデルにデータをロードします。 githubの上でFTPサーバーからローカルディレクトリにデータソースを変更する

#do.call("LoadCmip5DataFromAdss", parameters) 

私はそれがかかるので、私は代わりに、ダウンロードのローカルディレクトリからデータを取得したいデータに

LoadCmip5DataFromAdss <- function(dbdir, NtlCode) { 

    fname <- paste("cmip5_daily_", NtlCode, ".zip", sep="") 

    if(nchar(NtlCode)==4 && substr(NtlCode,1,2)=="US"){ 
    adss <- "ftp://cis.apcc21.org/CMIP5DB/US/" 
    }else{ 
    adss <- "ftp://cis.apcc21.org/CMIP5DB/" 
    } 

をダウンロードするには、FTPサーバーのパスを与えるLoadCmip5DataFromAdssのソースコードを発見しました多くの時間。それ、どうやったら出来るの? セットアップでは、datasource.Rのみが与えられているため、私のPC上でLoadCmip5DataFromAdssを含むファイルはどこにありますか?

+0

'LoadCmip5DataFromAdss'は単なる関数ではないファイルです! – amrrs

+0

あなたは特定のパッケージを使用していますか? – Keniajin

+0

あなたはRパッケージを意味しますか? – saadoon

答えて

0

すべてその関数はありませんが、それはそれを解凍してZIPファイルを削除し、それをダウンロードした後、あなたはdbdirに指定したディレクトリに(あなたがNtlCode + .zipに指定したものは何でもcmip5_daily_ +)zipファイルをコピーしています。ここでrSQMから全体機能があります:機能使用の対

unzip(YOUR_LOCAL_NtlCode_ZIP_FILE, exdir = WHERE_YOUR_dbdir_IS) 

:あなただけのような何かを行うことができ

LoadCmip5DataFromAdss <- function(dbdir, NtlCode) { 

    fname <- paste("cmip5_daily_", NtlCode, ".zip", sep="") 

    if(nchar(NtlCode)==4 && substr(NtlCode,1,2)=="US"){ 
    adss <- "ftp://cis.apcc21.org/CMIP5DB/US/" 
    }else{ 
    adss <- "ftp://cis.apcc21.org/CMIP5DB/" 
    } 

    srcfname <- paste(adss, fname, sep="") 
    dstfname <- paste(dbdir, "/", fname, sep = "") 
    download.file(srcfname, dstfname, mode = "wb") 
    unzip(dstfname, exdir = dbdir) 
    unlink(dstfname, force = T) 
    cat("CMIP5 scenario data at",NtlCode,"is successfully loaded.\n") 
}