(例) T(x, y) : x とy の2次元データ
物理量ライブラリ使用
1次元
•異なる次元数のデータにも対応
•データ形式に関係なく計算可能
•出力先を指定すると自動的にファイルの作成を行う。
メモリ
2次元
NetCDF
2次元に拡張
file = NetCDF.open(filename)
物理量ライブラリ不使用
•単項・二項演算
Tbar : Tの1次元目に関する平均(1次元データ)
のとき、 b=T-Tbar を求める。
T = file.var(“t”)
Tval = T.get
Tbarval = Tval.avg(0)
bval = Narray.float(*Tval.shape[1..-1])
for i in 0..(Tval.shape[0]-1)
bval[ 0..-1, j ] = Tval[
0..-1 , j ] – Tbarval[ j ]
ループを回して異なる次元数のデータに対処している。
newfile = NetCDF.create(newfilename)
newvar = newfile.def_var(“b”, “float”,
newdims)
newfile.close
出力先に応じて新しいファイルを作成しデータを出力させなければならない。
end
・・・
・・・
newvar.put(bval)
主な機能
T=GPhysRect.open(GDataNetCDF, filename)
Tbar = T.avg(0)
b = (T-Tbar).copy(GDataNetCDF,
newfilename)
2次元
NetCDF