[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:002432] Re: Global attribute



竹広です. 

どうもありがとうございます. 配列要素のクラス確かめたような
気がしたんだけどなぁ. もう一度試してみます. 


> 竹広さん
> 
> だいぶ前のメールのフォローです.
> 
> > > それから入力が複数ファイルの場合には gphys.data.file の返り値が
> > > NetCDF Class でなくファイル名の配列になってしまうので, 
> > > おなじ方法がとれません. その場合には別途一つのファイルを開いて
> > > Global attribute を読み取るぐらいでいいのでしょうか. 
> > > もっと洒落た方法があったら教えて下さい. 
> > 
> > ファイル「名」の配列を返すのは一貫性にかけますね。
> > ファイルオブジェクトを返すように変えたほうがいいと思います
> > → 今後検討します。
> 
> 現状でも,ちゃんとファイルオブジェクトの配列になってます.
> (上記は「ファイルオブジェクトの配列を返すように変えたほうが
> いいと思います」と書くつもりでした.)
> このあたりは相当長期間いじってないので,バージョンが古くても同じ
> はずです.
> 
> 例:
> (時系列が三つのファイル nc0-12h/prr.nc, nc12-24h/prr.nc,
> nc24-36h/prr.nc に分かれている場合に)
> 
> % irb --simple-prompt
> >> require "numru/gphys"; include NumRu
> => Object
> >> prr = GPhys::IO.open(Dir.glob('nc*/prr.nc').sort,'prr')
> => <GPhys grid=<3D grid <axis pos=<'lon' in 'nc0-12h/prr.nc'  sfloat[406]>>
>         <axis pos=<'lat' in 'nc0-12h/prr.nc'  sfloat[348]>>
>         <axis pos=<NumRu::VArrayComposite shape=[145] #_of_tiles=[3]>>>
>    data=<NumRu::VArrayComposite shape=[406, 348, 145] #_of_tiles=[1, 1, 3]>>
> >> files = prr.data.file
> => NArray.object(1,1,3): 
> [ [ [ NetCDF:nc0-12h/prr.nc ] ], 
>   [ [ NetCDF:nc12-24h/prr.nc ] ], 
>   [ [ NetCDF:nc24-36h/prr.nc ] ] ]
> >> files[0].class
> => NumRu::NetCDF
> >> files[1].class
> => NumRu::NetCDF
> 
> 堀之内
>