[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002432] Re: Global attribute
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:002432] Re: Global attribute
- From: Shin-ichi Takehiro <takepiro@xxxxxxxxxxxxxx>
- Date: Tue, 30 Aug 2005 09:36:18 +0900
竹広です.
どうもありがとうございます. 配列要素のクラス確かめたような
気がしたんだけどなぁ. もう一度試してみます.
> 竹広さん
>
> だいぶ前のメールのフォローです.
>
> > > それから入力が複数ファイルの場合には 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
>
> 堀之内
>