1

R で netCDF ファイルのバッチのメタ データをチェックしています。SO ではファイルのアップロードが許可されていないように見えるため、単純化された netCDF ファイルの例のヘッダーを以下に添付しました。

netcdf no2 {
dimensions:
    lon = 360 ;
    lat = 179 ;
    time = UNLIMITED ; // (10 currently)
variables:
    double lon(lon) ;
        lon:units = "degsE" ;
    double lat(lat) ;
        lat:units = "degsN" ;
    int time(time) ;
        time:units = "days since 1900-01-01" ;
    float no2(time, lat, lon) ;
        no2:units = "ug/m3" ;
        no2:missing_value = 1.e+30f ;
        no2:long_name = "nitrogen dioxide" ;
        no2:standard_name = "no2" ;
}

基本的には、変数のいくつかの属性、たとえば「no2」の「standard_name」、「long_name」、「units」を一度にベクトルに取得しようとしました。ただし、att.get.ncdf()パッケージncdfでは一度に 1 つしか許可されていないようです。コードを繰り返してより多くの属性を取得するのはかなり面倒で骨の折れる可能性があるため、もっときちんとした方法があるに違いないと思いますが、Googleで見つけることができませんでした. 誰かが私と彼らの経験を共有してもらえますか?

どうもありがとう!

4

1 に答える 1

3

ncdf変数のすべての属性を取得する方法を提供していないようです。ただし、属性がわかっている場合は、ループまたはを使用してそれらを取得できますsapply

例えば:

filename <- "no2"
nc <- open.ncdf( filename )
var <- "no"
attrs <- c('standard_name','long_name','units','missing_value')
sapply(attrs,function(x)
   att.get.ncdf( nc, var, x)$value)
close.ncdf(nc)

standard_name          long_name              units      missing_value 
         "no2" "nitrogen dioxide"            "ug/m3"             "1200" 
于 2013-02-13T19:19:53.343 に答える