4

RでNetCDFファイルを開くのに苦労しています。

library(ncdf)
# read in NetCDF file
maize.nc<-open.ncdf("C:/Users/Jo/Desktop/pft_harvest_maize.nc")

次のエラー メッセージが表示されます。

 Error in R_nc_open: NetCDF: Unknown file format
 Error in open.ncdf("C:/Users/Jo/Desktop/pft_harvest_maize.nc") : 
   Error in open.ncdf trying to open file C:/Users/Jo/Desktop/pft_harvest_maize.nc

奇妙なことは、まったく同じデータ型のまったく同じシミュレーションからの Runoff-Data を含む別の NetCDF ファイルが問題なく開くことです。

ファイルサイズの違いは、ランオフ: 56.1 MB (58,870,472 バイト) とハーベスト: 149 MB (156,968,508 バイト) です。そのため、実際には、ファイルを開くときに失敗するほど大きくはありません。この問題の原因となったエラーを追跡する方法を知っている人はいますか??

RNetCDFパッケージを使用しても同じ問題が発生します ( Error: NetCDF: Unknown file format)

ncdump から私は得る:

netcdf pft_harvest_maize {
dimensions:
        time = 199 ;
        npft = 32 ;
        latitude = 78 ;
        longitude = 79 ;
variables:
        string NamePFT(npft) ;
        int time(time) ;
                time:units = "Years" ;
        float latitude(latitude) ;
                latitude:units = "degrees_north" ;
                latitude:long_name = "latitude" ;
            latitude:standard_name = "latitude" ;
            latitude:axis = "Y" ;
    float longitude(longitude) ;
            longitude:units = "degrees_east" ;
            longitude:long_name = "longitude" ;
            longitude:standard_name = "longitude" ;
            longitude:axis = "X" ;
    float harvest(time, npft, latitude, longitude) ;
            harvest:units = "gC/m2/yr" ;
            harvest:long_name = "harvested carbon" ;
            harvest:missing_value = -9999.99f ;
            harvest:_FillValue = -9999.99f 
}

ファイルはここにあります: netCDF-file

4

2 に答える 2

3

ncdump -k からのダンプは、netcdf ファイル形式を netCDF-4 として提供します。ncdf4ncdf はバージョン 4 のファイルと下位互換性がないように見えるため、パッケージでファイルを開くことができました。

「ただし、ncdf パッケージは、netcdf バージョン 4 ファイルのインターフェイスを提供しません。」

ncdf4ドキュメントから。

library(ncdf4)
mycdf <- nc_open(file.choose(), verbose = TRUE, write = FALSE)
timedata <- ncvar_get(mycdf,'time')
lat <- ncvar_get(mycdf,'latitude')
long <- ncvar_get(mycdf,'longitude')
harvestdata <- ncvar_get(mycdf,'harvest')

str(harvestdata)

与える

num [1:79, 1:78, 1:32, 1:199] NA NA NA NA NA NA NA NA NA NA ...
于 2013-05-09T00:29:05.880 に答える
1

収穫されたトウモロコシの netcdf ファイルは単純に壊れているか、netcdf ファイルでさえないと思います (ファイル名は実際の内容については何も言いません)。NCViewで開くか、ncdumpを使用してダンプしてみてください。これらのツールでも失敗する場合は、ファイルが破損しているか不完全です。さらに、私たちに助けてもらいたい場合は、ファイルを利用できるようにする必要があります。

于 2013-05-08T14:45:16.417 に答える