x2sys_init − 航跡データファイルのデータベースを初期化する |
x2sys_init TAG −Ddeffile [ −Esuffix ] [ −F ] [ −Gd|g ] [ −Idx[/dy] ] [ −M[i|o][flag] ] [ −Rwest/east/south/north[r] ] [ −V ] [ −Wt|dgap ] |
x2sys_init は航跡データの一種に特有なデータベースのセットを初期化する。 これらのデータ、関連したデータベース、キーパラメータはシステム TAG と呼 ばれる略記号で与えられる。 TAG はファイルフォーマット、データが地理的か 否 か 、 航 跡 イ ン デックスのビンの解像度といった設定を記憶している。 x2sys_init の実行はデータの航跡がどこへ行きどの観測データが利用可能かを そのまま表す x2sys_binlist を実行する前に必要となる。この情報は航跡デー タベースを更新する x2sys_put への入力になる。それから x2sys_get は与 え られた領域内で利用可能な航跡及びデータを見つけるのに使うことができる。 |
TAG |
このデータタイプシステムの一意的なタグ名。 |
|||
−D |
このデータセットの定義ファイル。 |
オプションフラグとそれに付属する引き数の間にスペースを入れないこと。 |
−E |
これらのデータファイルのファイル拡張子(サフィックス)を指定 する。もし与えられなければ定義ファイルのプレフィックスを拡張 子 として使う( −D 参照)。 |
||
−F |
古いファイルがあるときでも新しいファイルを作る [デフォルト では古いファイルがあれば強制終了する]。 |
||
−G |
地理座標を選択する。日付変更線を不連続にするには d を(経 度 が -180 から +180 になる)、グリニッジ子午線を不連続にするには g を(経度が 0 から 360 になる[デフォルト])付けること。 |
||
−I |
x_inc [及び随意で y_inc ] は格子間隔である。分を示すには m を、秒を示すには c を付けること。 |
||
−M |
複数のセグメントからなるファイルであることを意味する。セグ メントは特別な行で区切られる。アスキーファイルでは最初の文字 は flag でなければならない [デフォルトは’>’]。バイナリファイルでは 全てのフィールドが NaN でなければならない。 |
||
−R |
west, east, south, 及び north は対象とする領域を指定する 。 小数値を含む度又は [+-]dd:mm[:ss.xxx][W|E|S|N] のフォーマットで 指定できる。東西南北の代わりに地図座標の左下と右上を使うとき は r を 付 けること。 2 つの略号 −Rg −Rd は全球領域(それぞれ経度 0/360 又は -180/+180 と緯度 -90/+90 )を表す。 |
||
−V |
冗長モードを選択する。標準エラー出力に経過報告を送る[デフォ ルトでは「黙って」実行する]。 |
||
−W |
t 又は d を与え、クロスオーバーのそれぞれの側での隣接する 2 点間に許容される最大の時間のギャップ(ユーザ単位、これは典型的に は秒[無限])、又は距離のギャップ(ユーザ単位、これは典型的には km [無限])を付けること。 |
*.def ファイルはデータファイルフォーマットの情報を含む。 *.def ファイル は 2 つのセクションを持つ。それは (1) ヘッダ情報と (2) 列情報である。全 てのヘッダ情報は最初の列の先頭に文字 # が付き、直後に大文字の指示語が続 く。指示語が引き数をとるときは空白で区切られる。後に # で始まるコメント を追加しても良い。 ASCII
はデータファイルがアスキーフォーマットであることを示す。 列情報は各列につき 1 つの行からなり、それらはデータファイルに現れる列の 順番になっている。各列について 7 つの属性を与えなければならない。 name type NaN NaN-proxy scale offset oformat name は列の変数の名前である。 2
つの必要な座標の列には特別な名前 lon (
又はカルテジアンなら x )及び lat (又は
y )、随意の時間データがあると き は time
を使うことが想定されている。 ア スキーデータについては type フォーマットは常に a である。 NaN は欠け ているデータ( NaN )を表すのに使われている何らかの値 (例えば -9999 )があ る ときは Y にするべきである。もしそうなら、 NaN-proxy の値はそれに応じ て設定されるべきである (そうでなければ無視される)。 scale と offset は そ れらが読み込まれた後にデータ値に適用され (始めにスケールされ、次にオ フセットされる)、 oformat は一部のプログラムでフォーマットされた出力 に 対して使われる。 oformat に - を与えると GMT のフォーマット化の仕組みが 代わりに使われる ( す な わ ち PLOT_DEGREE_FORMAT, PLOT_DATE_FORMAT, PLOT_CLOCK_FORMAT )。一部のファイルフォーマットは既設の定義ファイルを持 っている。これらには mgd77 (プレーンなアスキー MGD77 データファイル) 、 mgd77+ (拡張された MGD77+ netCDF ファイル)、 gmt (古い mgg サプリメント バイナリファイル)、 xy (プレーンなアスキー x, y テーブル)、 xyz (同じ、 z 列あり)、 geo (プレーンなアスキー経度、緯度ファイル)、及び geoz (同じ 、 z 列あり)が含まれる。 |
航跡データファイルの大きなセットを持っているとき、 x2sys ツールを使って こ れらを整理することができる。ここではその概略を示す。その航跡データフ ァイルフォーマットは文字情報の 2 つのヘッダ行とそれに続いて 6 つ の 列( lat,lon, time, obs1, obs2, obs3 )が等しくフォーマットされた任意の数のデ ータ行からなり、ファイル名は *.trk であるとする。これを "line" フォーマ ットと呼ぶことにする。まず、 line.def ファイルを作成する。 # Define file for the line format 次に TAG 及びこれらの line 航跡ファイルのデータベースを作成する。これら は地理的なデータを含むものとし、航跡データの分布を 1 x 1 度の解像度に保 っておきたいとする。 x2sys_init LINE −V −G −Dline −R0/360/-90/90 −I1/1 −Etrk ここでは LINE をシステムタグとして使っている。 x2sys ツールが line デー タファイルを読み込もうとするとき、調べるべき追加ディレクトリを、最初 に カレントディレクトリ、次にファイル TAG_paths.txt から探す。従って、その ようなファイル(ここでは LINE_paths.txt )を作成しデータディレクトリの フ ル パスをそこに入れておくこと。全ての TAG 関連のファイル(定義ファイル、 タグファイル、構築された航跡データベース)は $X2SYS_HOME により示され た ディレクトリにあると想定される。 |
tbf ファイルの作成 |
一旦(空の) TAG データベースが初期化されたら、それを増やすための 2 つの段階へ行く。まず x2sys_binlist を実行し、全ての航跡ファイ ルに対して 1 つ(以上)の複数セグメントの航跡ビンインデックスファ イル( tbf )を作成する。これらには 1 x 1 度のビン(又は任意の他の ブ ロックの大きさ、 −I 参照)のどこを各航跡が訪れ、どの観測項目( この場合は obs1, obs2, obs3 )が実際に観測されたか (全ての航跡に ど こでも 3 つの観測項目全部があるとは限らない)を示す情報が含ま れている。例えば、航跡がファイル tracks.lis に挙げられている と き、このコマンドを実行することができる。 x2sys_binlist −V −TLINE ‘cat tracks.lis‘ > tracks.tbf |
インデックスデータベースの更新 |
次に、航跡ビンインデックスファイルは、 TAG データベースに情報を 追加する x2sys_put に与えられる。 x2sys_put −V −TLINE tracks.tbf |
データの検索 |
ここで x2sys_get を使って、あるサブ領域の内部にある全ての航跡を 見 つけたり、随意でこれらの航跡に対する検索の範囲を特定の観測項 目の組合せに限定したりすることができる。例えば、指定された領 域 内で obs1 と obs3 の両方を持つ全ての航跡を見つける。 x2sys_get −V −TLINE −R20/40/-40/-20 −Fobs1,obs3 > tracks.tbf |
MGD77[+] 又は GMT |
定 義 ファイルは既に MGD77 ファイル(標準アスキー及び拡張 netCDF ベースの MGD77+ ファイルの両方)、 mgg サプリメントにより加工 さ れる古い *.gmt ファイル、プレーンな x,y[,z] 及び lon,lat[,z] の 航跡については存在する。 NGDC からの MGD77 データを使うために新 しい航跡データベースを初期化する。 x2sys_init MGD77 −V −Dmgd77 −Emgd77 −Rd −Gd −I1/1 −Wt900 −Wd5 ここではデータ間のギャップを示す閾値として 15 分( 900 秒)又は 5 km を選んだ。他の刻み幅は同じである。 |
バイナリファイル |
line ファイルが実際には(飛ばされるべき) 128 バイトのヘッダ構 造 の 後にデータレコードを持ち、 lon, lat, time が倍精度の数で、 3 つの観測項目が 2 バイト整数で 0.1 を掛けなければならないバイ ナ リファイルだとする。そして、最初の 2 つの観測項目は利用可能なデ ータが無いことを意味する -32768 である可能性がある。ここで必 要 になるのは、別の line.def ファイルである。 # Define file for the binary line format 残りの段階は同じである。 |
x2sys_binlist(l) x2sys_get(l) x2sys_put(l) |