Reference manuals of the GPhys library(http://ruby.gfd-dennou.org/products/gphys/doc/)の日本語訳です。

クラスメソッド

GPhys.new(grid, data)

コンストラクタ。
引数
  • grid (a Grid) : 格子
  • data (a VArray) : データ。griddataは同じ形状でなければならない
返り値
  • GPhysオブジェクト
注意
  • 引数はGPhysオブジェクトを生成するために複製されない

GPhys.each_along_dims(gphyses, *loopdims){...} # a block is expected

一度ではメモリに読み込めないような大きいGPhysオブジェクトを処理するイテレータ。
loopdimsで指定された次元でGPhysオブジェクト(gphyses)を分割してループする。ブロックの返り値がArrayの場合、それはGPhysオブジェクトで構成されていると考えてよい。このメソッドの返り値は、あたかもイテレーションが全く行われていないかのように、全ての結果が再構成されているArrayとなる。これはGPhys::IO.each_along_dims_writeの振る舞いと同じである。ブロックの返り値がArrayでない場合、このメソッドはnilを返す。
警告
  • GPhys::IO.each_along_dims_writeと異なり、このメソッドの結果はファイルに書き込まれないので、ブロックの返り値としてGPhysのArrayを挿入する場合は注意する。おそらく、入力データよりもそれらのサイズを小さくする必要がある。
引数
  • gphyses (GPhys or Array of GPhys) : 処理されるGPhysオブジェクト。これらは全てloopdimsで指定された次元を持っていなければならず、その長さはファイルによって異なってはならない。その他の次元は任意であり、例えばloopdims==["time"]である限り、gphysesは[a(lon,lat,time), b(lat,time)]であってもよい
  • loopdims (Array of String or Integer) : (Stringならば)名前、(Integerならば)ゼロからカウント
  • expected block : gphyses中のGPhysオブジェクトの内でarguments == numberである個数
返り値
  • ブロックの返り値がArrayの場合、全ての結果が書きこまれているGPhysオブジェクト(このArrayはGPhysオブジェクトで必ず構成されている)。ブロックの返り値がArrayでない場合、nilが返される
エラー
  • 以下は例外を発生させる(引数についての例外も含む)
    • loopdimsで指定されている次元がgphyses中のGPhysオブジェクトで共有されていない
    • ブロックの返り値はArrayだが、それがGPhysオブジェクトで構成されていない
    • (ブロックの返り値がArrayの場合に限り)ループのために使われている次元(loopdims)が、返されるGPhysオブジェクトから除かれている
使い方
  • GPhys::IO.each_along_dims_writeについてのマニュアルを参照

インスタンスメソッド

data

データオブジェクトを返す。
返り値
  • VArrayオブジェクト
注意
  • データオブジェクトは複製されない

grid_copy

グリッドオブジェクトのコピー(深いクローン)を返す。
返り値
  • Gridオブジェクト
注意
  • There is a PROTECTED method grid, which returns the grid object without duplicating.

copy

メモリ上に深いクローンを作成する
返り値
  • GPhysオブジェクト

name

GPhysオブジェクトの名前を返す。この名前はGPhysオブジェクトの中のデータオブジェクトの名前に等しい。
返り値
  • Stringオブジェクト

name=(nm)

GPhysオブジェクトの名前を設定する。
引数
  • nm (String)
返り値
  • nm(引数)

rename(nm)

name=と同様だが、selfが返される。
引数
  • nm (String)
返り値
  • self

val

データ値を返す。
返り値
  • NArrayオブジェクトかNArrayMissオブジェクト。これは常にコピーであり、書き込みはselfに影響しない

val=(v)

データ値に書きこむ。
引数
  • v (NArray, NArrayMiss, or Numeric) : 書き込まれるデータ
返り値
  • v(引数)
注意
  • replace_valと異なり、vの内容はコピーされる

replace_val(v)

データ値を書き換える。
引数
  • v (NArray or NArrayMiss) : 書き込まれるデータ
返り値
  • self
注意
  • このメソッドはval=と同様だが、数値データオブジェクトは全てvで置き換わる。もしデータがファイル中にある場合、これはあまり意味がない(ファイルは書き換えられず、メモリ上にGPhysオブジェクトを取得するのみ)

att_names

データオブジェクトの属性名を返す。
返り値
  • StringのArrayオブジェクト

get_att(name)

nameという名前の属性値を取得する。
引数
  • name(String)
返り値
  • Stringオブジェクト、NArrayオブジェクト、nil

set_att(name, val)

put_att(name, val)

データオブジェクトの属性を設定する。
引数
  • name (String)
  • val (String, NArray, or nil)
返り値
  • self

del_att(name)

データオブジェクトの属性を消去する。
引数
  • name (String)
返り値
  • self

ntype

データオブジェクトの数値型を返す。
返り値
  • "float"や"sfloat"などのStringオブジェクト
注意

typecode

データオブジェクトの数値型を返す。
返り値
  • NArray::FLOATやNArray::SFLOATなどのNArrayコンスタント
注意

units

データオブジェクトの単位を返す。
返り値
  • Unitsオブジェクト

units=(units)

データオブジェクトの単位を変更する。
引数
  • units (Units or String)
返り値
  • units(引数)

convert_units(to)

データオブジェクトの単位を変換する。
引数
  • to (a Units)
返り値
  • GPhysオブジェクト

long_name

データオブジェクトの"long_name"属性を返す。
返り値
  • Stringオブジェクト

long_name=(to)

データオブジェクトの"long_name"属性を変更または設定する。
引数
  • to (a String)
返り値
  • to(引数)

[]

部分集合を返す。
引数
  • NArray#[]やNetCDFVar#[]などと同様
返り値
  • GPhysオブジェクト

[] =

部分集合の値を設定する。
返り値
  • 右辺にあるデータオブジェクト

cut

[]と同様だが、部分集合は物理座標系で指定される
引数
  • pattern 1 : []のものと同様。1番目の引数が1次元目の部分集合を指定する
  • pattern 2: Hashオブジェクト。そのキーは軸の名前
  • Pattern 1
gphys.cut(135.5,0..20.5,false)
  • Pattern 2
gphys.cut({'lon'=>135.5,'lat'=>0..20})
返り値
  • GPhysオブジェクト

cut_rank_conserving

cutと同様だが、あらゆる次元(長さは1でもよい)も除去せず階数を維持する

axnames

軸の名前を返す。
返り値
  • StringのArrayオブジェクト

rank

階数を返す。
返り値
  • Integerオブジェクト

axis(dim)

ある次元のAxisオブジェクトを返す。
引数
  • dim (Integer or String)
返り値
  • Axisオブジェクト

coord(dim)

coordinate(dim)

座標変数を返す。
引数
  • dim (Integer or String)
返り値
  • VArrayオブジェクト
注意
coord(dim)はaxis(dim).posと等価

lost_axes

処理中に除去された軸の情報を返す。
例えば、描画の注釈に役立つ(適用にはGGraphのコードを参照)
返り値
  • StringのArrayオブジェクト

dim_index( dimname )

次元の整数ID(ゼロからカウント)を返す。
引数
  • dimname (String or Integer) : これが整数の場合、このメソッド自明
返り値
  • Integerオブジェクト

integrate(dim)

ある次元に沿って積分する。
返り値
  • GPhysオブジェクト
注意
  • アルゴリズムの実装はAxisクラスで行われている

average(dim)

ある次元で平均化する。
返り値
  • GPhysオブジェクト
注意
  • アルゴリズムの実装はAxisクラスで行われている。

eddy(*dim)

平均からの偏差。
引数
  • 平均を取る次元(IntegerかString)のリスト(noneも含む)
返り値
  • GPhysオブジェクト
注意
  • 定義は以下の通りにすぎない
def eddy(*dim)
  self - self.mean(*dim)
end

first1D

2次元、3次元などの次元の、先頭を選択した1次元部分集合を返す。つまり、self[true, 0, 0, ...](描画用)
引数
  • なし
返り値
  • GPhysオブジェクト

first2D

3次元、4次元などの次元の、先頭を選択した2次元部分集合を返す。つまり、self[true, true, 0, 0, ...](描画用)
引数
  • なし
返り値
  • GPhysオブジェクト

first3D

4次元、5次元などの次元の、先頭を選択した3次元部分集合を返す。つまり、self[true, true, true, 0, ...](描画用)
引数
  • なし
返り値
  • GPhysオブジェクト

coerce(other)

既知の通り。

shape_coerce(other)

coerceに似ているが、数値型を変えずに形状を変えるだけ。

transpose(*dims)

転置する。
引数
  • dims (integers) : 例えば、2次元オブジェクトを転置するなら[1,0]、3次元オブジェクトならば、[1,0,2]、[2,1,0]など。
返り値
  • GPhysオブジェクト

shape_current

GPhysオブジェクトの現在の形状を返す。
返り値
  • IntegerのArrayオブジェクト

shape

shape_currentのエイリアス。

cyclic_ext(dim_or_dimname, modulo)

周期的に次元を拡張する。
この拡張は一つの格子点を追加することで一周できる場合のみ行われる。よって、360を法とする座標変数[0,90,180,270]におけるデータが([0,90,180,270,360]へと)拡張される。ただし、[0,90,180]にあるデータは同様の法では拡張されない。この場合はselfが返る。
引数
  • dim_or_dimname (String or Integer)
  • modulo (Numeric)
返り値
  • GPhysオブジェクト(selfもあり得る)

数学関数(インスタンスメソッド)

sqrt, exp, log, log10, log2, sin, cos, tan, sinh, cosh, tanh, asin, acos, atan, asinh, acosh, atanh, csc, sec, cot, csch, sech, coth, acsc, asec, acot, acsch, asech, acoth

バイナリ演算子

-, +, *, /, %, **, .add!, .sub!, .mul!, .div!, mod!, >, >=, <, <=, &, |, ^, .eq, .ne, .gt, .ge, .lt, .le, .and, .or, .xor, .not

単項演算子Unary operators

~ - +

平均など(インスタンスメソッド)

mean, sum, stddev, min, max, median

その他のインスタンスメソッド

これらのメソッドはNArrayオブジェクトを返す(GPhysオブジェクトではない)。

all?, any?, none?, where, where2, floor, ceil, round, to_f, to_i, to_a

管理人/副管理人のみ編集できます