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

[dennou-ruby:002683] Re: Grid#cut の挙動



堀之内です。

遅くなりましたが、ドキュメントを直して cvs commit しました。
なお、Grid クラスのマニュアルには、

> リファレンスマニュアルでは,cutと[]の挙動は領域の指定方法の違いだけ,と
> なっていますので,

とは書いておらず、"similar" (sameではない) と書いてあるだけなのですが、
戻り値の記述が間違ってたので、そこを直しました。

# ところで、よければ GPhys をどう活用されてるか、ご紹介いただけ
   ないでしょうか。「同業者」でないとすると、どのような方面で
   活用されているか興味がありますので。

> hirocyと申します.
> 
> GPhysを大変便利に使わせていただいています.ありがとうございます.
> 使っていて,以下の挙動に気づきましたので報告します.
> GPhysのバージョンは0.5.1です.Mac OS X 10.4 にて動かしています.
> 
> ・Grid/Axisに対するcutの結果が,Grid/Axisではなく,Arrayになっている.
> (cutしたGrid/Axisとslicerからなるsize=2の配列になっている)
> 
> 具体的には以下です.
> チュートリアルで使われているNetCDFファイルをサンプルとしています.
> 
> irb(main):001:0> gphys = GPhys::IO.open('T.jan.nc', 'T')
> => <GPhys grid=<3D grid <axis pos=<'lon' in 'T.jan.nc'  sfloat[36]>>
>         <axis pos=<'lat' in 'T.jan.nc'  sfloat[19]>>
>         <axis pos=<'level' in 'T.jan.nc'  sfloat[9]>>>
>    data=<'T' in 'T.jan.nc'  sfloat[36, 19, 9]>>
> irb(main):002:0> grid = gphys.grid_copy
> => <3D grid <axis pos=<'lon' sfloat[36] val=[0.0,10.0,20.0,30.0,...]>>
>         <axis pos=<'lat' sfloat[19] val=[90.0,80.0,70.0,60.0,...]>>
>         <axis pos=<'level' sfloat[9] val=[1000.0,850.0,600.0,400.0,...]>>>
> irb(main):003:0> grid[false].class
> => NumRu::Grid
> irb(main):004:0> grid.cut(false).class
> => Array
> irb(main):005:0> grid.axis('lon')[true].class
> => NumRu::Axis
> irb(main):006:0> grid.axis('lon').cut(true).class
> => Array
> 
> なお,GPhysに対するcutは[]と同じ結果を返します.
> 
> リファレンスマニュアルでは,cutと[]の挙動は領域の指定方法の違いだけ,と
> なっていますので,仕様またはマニュアルのいずれかを直す必要があるかと
> 思います.いかがでしょう.
> 
> -- 
> // hirocy

堀之内 武                      horinout@xxxxxxxxxxxxxxxxxx
京都大学生存圏研究所                 611-0011 宇治市五ヶ庄