RubyNetCDF は NetCDF ライブラリーの Ruby インターフェースである。Ruby はフリーなオブジェクト指向スクリプト言語であり、 http://www.ruby-lang.org/ja/ から入手できる。RubyNetCDF は数値配列として、 Ruby で一般的に使われている多次元数値配列ライブラリー NArray を用いて いる(http://www.ruby-lang.org/en/raa-list.rhtml?name=NArray)。 NArray はデータを、C のポインターが指す連続したメモリー領域 に保持し、計算機資源を効率よく利用する。NArray は Python における NumPy と似るが、幾つかのテストは NArray のほうが NumPy より効率が良い ことを示唆している。
RubyNetCDF は以下の4つのクラスから構成される。
クラス NetCDF -- ファイルのクラス
一つのNetCDFクラスのオブジェクトは一つの NetCDF ファイルに対応する
クラス NetCDFDim -- 次元のクラス
C 版 NetCDF では、次元は、ファイルのIDと次元IDという2変数の組で表されるが、 Ruby 版では一つの NetCDFDim オブジェクトで代表される
クラス NetCDFVar -- 変数のクラス
C 版 NetCDF では、変数は、ファイルのIDと変数IDという2変数の組で表されるが、 Ruby 版では一つの NetCDFVar オブジェクトで代表される
クラス NetCDFAtt -- 属性のクラス
C 版 NetCDF では、属性は、ファイルのIDと変数IDと属性名の組で表されるが、 Ruby 版では一つの NetCDFAtt オブジェクトで代表される
エラーは基本的には例外を発生することにより対処する。但し、値を返すメソッ ドでは軽微なエラーは nil を返すことで対処する(属性値を得るために指定 された名前の属性が存在しないときなど)。例外的な状況で nil を発生する メソッドについてはマニュアルに明記してある。
組み込みの File クラスと同じセキュリティー対応をしていてる。
メソッド名(引数1, 引数2, ...) -- 省略可能な引数は 引数名=ftHルgl の形で示す
機能の解説
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
クラスメソッド
インスタンスメソッド
クラスメソッド
インスタンスメソッド
クラスメソッド
インスタンスメソッド
クラスメソッド
インスタンスメソッド
NetCDF.open(filename, mode="r", share=false)
ファイルオープン(クラスメソッド)mode="w" でファイルが存在しなければ新規作成
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
NetCDF.new
NetCDF.openメソッドのエイリアスである
NetCDF.create(filename, noclobber=false, share=false)
NetCDFファイルを作る(クラスメソッド)
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
close
ファイルクローズ
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
ndims
ファイル中の次元の数を返す
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
nvars
ファイル中の変数の数を返す
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
natts
ファイル中のグローバル属性の数を返す
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
unlimited
ファイル中のunlimited dimensionを返す
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
path
ファイルのパス. open/create時のfilename引数の中身を返す.
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
redef
define modeにする。既にそうなら何もしない。
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
enddef
data mode に入る。既にそうなら何もしない。
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
sync
メモリー中のバッファーをディスク上に反映してファイルを同期させる
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
def_dim(dimension_name, length)
dimensionを定義
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
put_att(attribute_name, value, atttype=nil)
グローバル属性を設定
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
def_var(variable_name, vartype, dimensions)
変数を定義
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
var(var_name)
ファイルに既存の変数をオープン
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
dim(dimension_name)
既存の次元をオープン
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
att(attribute_name)
既存のグローバル属性をオープン
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
fill=(filemode)
fillmodeの変更。(NetCDF のデフォルトは FILL である。)
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
each_dim{ ... }
次元に関するイテレータ. 例: {|i| print i.name,"\n"} で全次元の名前を表示.
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
each_var{ ... }
変数に関するイテレータ. 例: {|i| print i.name,"\n"} で全変数の名前を表示.
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
each_att{ ... }
グローバル属性に関するイテレータ. 例: {|i| print i.name,"\n"} で全属性の名前を表示.
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
dim_names
ファイル中の全次元の名前を配列に入れて返す。
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
var_names
ファイル中の全変数の名前を配列に入れて返す。
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
att_names
ファイル中の全グローバル属性の名前を配列に入れて返す。 引数
戻り値
対応する(利用する) C 版 NetCDF の関数
length
次元の長さを返す
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
name=(dimension_newname)
名前をつけかえる
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
name
名前を返す
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
unlimited?
無制限次元かどうか?
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
dim(dim_num)
その変数における dim_num 番目(0から数える)の次元を問合わせる。
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
dims
その変数の全次元を配列にいれて返す
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
each_att{ ... }
変数中の全属性(NetCDFAtt)に関するイテレータ
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
dim_names
変数中の全次元の名前を配列に入れて返す。
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
att_names
変数中の全属性の名前を配列に入れて返す。
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
name
変数の名前を返す
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
name=(variable_newname)
名前を付け替える
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
ndims
次元の数を問う
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
vartype
変数値の型を問う
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
natts
属性の数を問う
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
file
その変数が属するファイルを問合わせる
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
att(attribute_name)
名前を指定した属性を返す
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
put_att(attribute_name, value, atttype=nil)
属性を設定
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
put(value, option=nil)
値を入れる
引数
option (Hash) : 変数の一部分を指定するためのオプション引数。省 略すれば、変数全体が対象となる。ハッシュのキーとしては、 "start","end","stride"の組、または"index"が使用できる。"index" は1要素(スカラー)を指す。"end","stride"は省略可。省略するにし ろしないにしろ、書きこむべき要素の数が valueのそれと一致するようにし なければならない。start,end,indexではArrayの場合と同様、負の値で後ろ からの位置を指定できる。"stride"は正の値のみ受け付けるので、配 列を引っくり返したければ後から別途やることになる。
例: 変数が2次元の場合:
{"start"=>[2,5],"end"=>[6,-1],"stride"=>[2,4]} -- 第1次元目は、 要素 2 から 6 まで 1 つおき (0から数えるので要素 2 は 3 番目であ ることに注意)、第2次元目は、要素 6 から 最後(=-1)まで 3 つおき にとったサブセット。
{"index"=>[0,0]}: 最初の要素にあた るスカラー値
{"index"=>[0,-2]}: 1次元目は最初, 2次元目は最後から2番目にあた るスカラー値
戻り値
対応する(利用する) C 版 NetCDF の関数
get(option=nil)
値を取り出す
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
name
属性の名前を返す
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
name=(attribute_newname)
属性の名前を変更
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
copy(var_or_file)
属性を別の変数またはファイルにコピー。ファイルの場合はグローバル属性になる
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
delete
属性を削除
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
put(value, atttype=nil)
属性の値を設定
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
get
属性の中身を取り出す
引数
戻り値
対応する(利用する) C 版 NetCDF の関数
atttype
属性の種類を問う
引数
戻り値
対応する(利用する) C 版 NetCDF の関数