2.2 次元
次元は実際の物理的な次元(例えば、時刻・緯度・経度・高度等)を表すために使用します。また、次元は他の数量のインデックス(例えば、観測点やモデル現行番号)としても使用できます。
NetCDF次元は名前(name)と長さ(length)を持っています。次元長とは任意の正の整数ですが、NetCDFファイル中の一つの次元はUNLIMITEDの長さを持つことができます。
そのような次元は無制限次元(unlimited dimension)もしくは記録次元(record dimension)と呼ばれます。無制限次元を持つ変数はその次元に沿って無制限に伸ばすことができます。無制限次元インデックスは従来の記録指向型ファイルにおける記録番号のようなものです。一つのNetCDFファイルは最大で一つの無制限次元しか持てませんが、無制限次元を持たなくても構いません。もし、変数が無制限次元を持つとしたら、その次元は最も重要な(最も遅く変化する)ものでなくてはなりません。従って、無制限次元は必ずCDL形式の最初の次元でなければならず、FORTRAN配列宣言においては最後の次元でなくてはなりません。
CDL次元宣言はCDLキーワードの次元dimensionsに続く行(複数行でも可)に書かれます。同一行における複数の次元宣言はコンマで区切ります。宣言はおのおの名前=長さ(name = length)で表されます。
上記の例では4つの次元lat, lon, level, そしてtimeがあります。最初の3つの次元は固定長です。Timeは無制限長UNLIMITEDを与えられており、これはtimeが無制限(unlimited)であることを意味します。
NetCDFファイル中で名前のあるデータの基本単位は変数(variable)です。変数はその形(shape)が次元のリストとして定義されます。それらの次元は既に存在していなければなりません。次元の個数はランク(rank)もしくはディメンショナリティ(dimensionality)と呼ばれます。スカラー変数はランク0となり、ベクトルはランク1、行列はランク2ということになります。
変数の形を定義するのに同じ次元を複数回使用しても構いません。(以前のバージョンのNetCDFではこれは不可能でした。)例えば、correlation(instrument, instrument)と定義して、異なる機器で測定された値の相関を示す行列を表すことができます。しかし、物理的な空間/時間に相当する次元を持つデータは、たとえその次元のいくつかが同じ値を取る場合においても、異なる次元で構成される形を取るべきです。
Quadralay Corporation http://www.webworks.com Voice: (512) 719-3399 Fax: (512) 719-3606 sales@webworks.com |