MGD77MANAGE

名前
書式
説明
オプション

議論
謝辞
関連事項
文献

名前

mgd77manage − MGD77+ ファイルの拡張列を管理する

書式

mgd77manage NGDC-ids [ −A[+]a|c|d|D|e|g|i|n|t|Tfileinfo ] [ −Cf|g|e ] [ −Dabbrev1,abbrev2,... ] [ −Eempty ] [ −Iabbrev/name/unit/t/scale/offset/comment ] [ −Ne|k|m|n ] [ −Q[value] ] [ −V ] [ −bi[s|S|d|D][ncol] ]

説明

mgd77manage は MGD77+ netCDF ファイルの拡張カスタム列の管理を扱う 。 1 列 以上の列を削除したり、新しい列を追加したり、既存の列を新しいデータに 更新したり、誤差補正情報( *.e77 ファイル)を与えたりすることができる。新 し いデータはテーブル( −b が使われていない限りアスキー)から得られたり、 既存の列とある理論的な数式に基づいて得られたり、あるいは航跡に沿った グ リッド ( GMT グリッド又はサンドウェル/スミスのメルカトル *.img グリッド から選ぶこと) のサンプリングから得られたりする。新しいデータは指定さ れ た 形式の追加データ列の形で MGD77+ ファイルに追加される。データファイル は変更され、新しいファイルは作られない。詳しい議論については、下の「 議 論」のセクションを参照すること。

NGDC-ids

は 5 種類の指定子のうちの 1 つ以上になりうる。
1) 8 文字の NGDC ID 、例えば 01010083, JA010010 等。
2) 2 文字の <agency> コード。各機関から全ての航海を返す。
3) 4 文字の <agency><vessel> コード。その船舶から全ての航海を返 す。
4) =<list>, ここで <list> は NGDC ID を行ごとに 1 つずつ持っ た テーブル。
5) 何も指定されなければデータベースの全ての航海を返す。
( 機 関 及 び 船舶コードについては mgd77info −F を参照)。拡張子 ".mgd77" 又は ".nc" は必要ならば自動的に付加される (特定のフ ァ イル形式を無視するには −I を使うこと)。航海ファイルは最初にカレ ントディレクトリから探され次に $MGD77_HOME/mgd77_paths.txt に挙 げられた全てのディレクトリから探される [ $MGD77_HOME が設定され ていなければデフォルトで $GMTHOME/share/mgd77 になる]。
Windows では現在 (1) と (4) しかサポートされていないので注意。

オプション

オプションフラグとそれに付属する引き数の間にスペースを入れないこと。

−A

新しいデータ列を追加する。ファイルに同じ省略形の既存の列 が 既 に存在するときは念のためファイルの更新は行わないようにしてい る。この設定を打ち消すには −A+ を設定すること (しかしながら、最 初 に既存の列を削除してからでないと更新できない場合もある。その ようなときには警告される)。列のソースコードを a, c, d, D, e, g, i, n, t, 又は T から選択すること。それぞれの選択に関する詳細な 説明は以下の通り。

a には付け加える単一列のテーブルのファイル名を付けること。フ ァ イ ルは MGD77+ ファイルと同じ行数でなければならない。ファイルが 与えられないときは代わりに標準入力から読み込む。

c は既存のデータ又は補正及び標準場の公式から導かれる新しい列 を 作 る 。未補正水深から差し引かれたカーター補正については c を、 IGF の重力標準場(別名「正規重力」)については g を、 IGRF の全磁 力 標 準場については m を付けること。重力については航海の MGD77 ヘッダのパラメータ Gravity Theoretical Formula Code に基づい た 標 準場が選ばれる。これが設定されていないか無効のときはデフォル トで IGF 1980 になる。必要であれば 1 = Heiskanen 1924, 2 = International 1930, 3 = IGF1967, 又は 4 = IGF1980 のコードを付 けることによりこれを変更することができる。

d には最初の列に航跡に沿った距離があり次の列にデータ値がある 2 列 のテーブルのファイル名を付けること。ファイルが与えられないと きは代わりに標準入力から読み込む。 MGD77+ ファイルの距離と一 致 する行に新しい値が割り当てられ、その他の距離では NaN に設定され る。あるいは、代わりに大文字 D を与えると全ての行の距離において 列 から内挿する。距離の単位の選択については −N を、距離の計算方 法については −C を参照すること。

e はカレントディレクトリ又は $MGD77_HOME/E77 にある NGDC_ID.e77 と いう名前の mgd77sniffer から得られた e77 誤差/補正ログを見つ けようとする。このファイルは検証されヘッダの値を変更するのに 使 わ れ、ある列に対する系統的な補正(スケールやオフセット等)を特定 し、標準の MGD77 データセットの各データ列に対してビットフラ グ( 0 = 良い, 1 = 悪い )を持つ特別な列 flag を更新する。見つかった 固定補正項(調査機関が誤った単位を使ったため 0.1 あるいは 10 で スケールする必要があるときなど) は netCDF MGD77+ ファイルに属性 として書き込まれ、データが mgd77list により読み込まれるときに適 用 される。クロスオーバー解析により決められた一時的な補正はデー タファイルには保存されないが補正テーブルに残 さ れ る( 詳 細 は mgd77list を参照)。デフォルトでは、対応する調整が適用されている かどうかを e77 ファイルの各行の最初の文字( Y 又は N )から調べる 。 −Ae に以下の中から 1 つ以上の記号を追加することにより、この 動作を変更することができる。 H は Y/N に関わらず全てのヘッダ の 補正を適用し、 h は全てのヘッダの補正を無視する。 F は Y/N に関 わらず全ての固定された系統的なトレンド補正を適用し、 f はそれら を無視する。 n, v, s, 及び g はそれぞれ航路、データ値、データの 傾き、及びグリッドの比較に付属するビットフラグを無視する。ビ ッ トフラグに対して、 −Ae はファイルに存在する全てのビットフラグを 新しい値に置き換えることを意味し、 −A+e は新しいフラグと既存 の フラグを合成することを意味する。

g は 3 次補間法(但し −Q を参照)を使って MGD77+ ファイルが与える 航跡に沿って GMT の地理的な(経度、緯度)グリッドをサンプルする。 GMT のグリッドファイルの名前を付けること。

i は 3 次補間法(但し −Q を参照)を使って MGD77+ ファイルが与える 航跡に沿ってサンドウェル/スミスのメルカトル *.img グリッドを サ ン プルする。グリッド化データスケール(典型的には 1 又は 0.1 )、 IMG ファイルモード( 0-3 )、そして img グリッドファイル名を付 け ること。モードの説明は以下の通り。 (0) 全ての点のデータを返す、 拘束コードを含まない Img ファイル、 (1) 全ての点のデータを返 す 、 拘束コードを含む Img ファイル、 (2) 拘束された点ではデータ、 他の点では NaN を返す、拘束コードを含む Img ファイル、 (3) 拘束 された点では 1 、他の点では 0 を返す、拘束コードを含む Img ファ イル。

n には最初の列に行番号( 0 から nrows - 1 まで)があり次の列に デ ータ値がある 2 列のテーブルのファイル名を付けること。ファイルが 与えられないときは代わりに標準入力から読み込む。 MGD77+ ファ イ ル の行番号と一致する行に新しい値が割り当てられ、その他の行では NaN に設定される。

t には最初の列に航跡に沿った絶対時刻があり次の列にデータ値が あ る 2 列のテーブルのファイル名を付けること。ファイルが与えられな いときは代わりに標準入力から読み込む。 MGD77+ ファイルの時刻 と 一致する行に新しい値が割り当てられ、その他の時刻では NaN に設定 される。

−C

1 文字のコードを付けて −Ad|D を使うときの航跡に沿った距離の 計算の手順を選択すること(選択する単位については −N を参照)。

f 平面地球距離。
g
大円距離[デフォルト]。
e
現在の GMT 楕円上での測地線距離。

−D

MGD77+ ファイルから削除したい列の省略形のコンマ区切りのリス トを与えること。このオプションを新しいデータに置き換えるため に 使わないこと(代わりに −A+ を使うこと)。 netCDF ファイルから変数 を消去することはできないので削除される列を含まない新しいファ イ ル を作らなければならない。一度ファイルの作成に成功してから古い ファイルの名前を一時的に変更し、新しいファイルの名前を古いフ ァ イ ルの名前に変更し、そして古い、名前を変更されたファイルを消去 する。

−E

空の文字列を埋めるのに繰り返される 1 文字を与える。例 え ば ’9’ とすると "99999..." のような文字列になる[ 9 ]。

−I

ファイル情報に加えて拡張列に関する追加情報を指定しなければ ならない。選択したデータの短い ( 16 文字以下で、文字、数字、 又 は アンダースコアのみ使用可) 省略形、より説明的な名前、データ単 位、 netCDF ファイルに記録するのに使うデータ型を表す 1 文字のコ ード ( byte, short, float, int, double, 又は text )、データを選 んだ記録型により決まる範囲内に適合するようにするための任意の ス ケ ール及びオフセット、これらのデータが表現するものを記述した一 般的なコメント( < 128 文字)を指定すること。文字列のデータ型が選 択 されたときは −A の議論の各項の「値」は文字列データを参照する ので注意。更に、内挿に関する議論は適用されず NaN 値は「文字列無 し」の値となる (これが何であるかについては −E を参照)。複数の単 語については項の前後に引用符を配置すること(例 え ば "Corrected Depth" )。

−N

e ( メートル), k (km), m (マイル), 又は n (海里)を付けて −Ad|D を使うときに使われる距離の単位を指定すること[デフォルトは −Nk (km) ]。

−Q

高速モード。 3 次補間法[デフォルト]の代わりに 1 次補間法で 内挿する。オプションで、 0 <= value <= 1 の範囲の value を付 け ることができる。このパラメータは NaN 値の格子へどれだけ内挿範囲 を近づけるかを制御する。例えば、 value が 0.5 ならば NaN でない 格 子から NaN の格子までの 1/2 までは内挿される。あるいは、 0.1 ならばその約 90% まで、などとなる [デフォルトは 1 で、これは 近 接 す る 4 つの格子のいずれも NaN にはならないことを意味する]。 value が 0 ならば内挿しないで最も近い格子の値を返すだけである。 −Ag|i が選択されたときだけ関係する。

−V

冗長モードを選択する。標準エラー出力に経過報告を送る[デフォ ルトでは「黙って」実行する]。

−bi

バイナリ入力を選択する。単精度に対しては s を付けること [ デ フォルトは d (倍精度)]。大文字の S (又は D) にするとバイトス ワップを行う。これは −A オプションの一部において指定される 1 又 は 2 列のデータに適用される。バイナリ入力オプションは数値データ 列にのみ使用できる。

航海 01010047.nc 及び 01010008.nc に拡張データ列として Geosat/ERS-1 重 力 のバージョン 11.2 を付け加え、 2 バイト整数の mGal*10 単位で値を格納 する。

mgd77manage 01010047 01010008 −Ai10/1/grav.11.2.img −Isatgrav/"Geosat/ERS-1 gravity"/"mGal"/s/10/0/"Sandwell/Smith version 11.2" −V

航海 01010047.nc の地磁気データをフィルタし、 MGD77+ ファイルに与えられ た時刻へ内挿したものを浮動小数点型の拡張データ列として付け加える。

mgd77manage 01010047 −ATmymag.tm −Ifiltmag/"Intermediate-wavelength magnetic residuals"/"nTesla"/f/1/0/"Useful for looking for isochrons" −V

全 て の MGD77+ ファイルから既存の拡張列 satfaa, coastdist, 及び satvgg を削除する。

mgd77manage ‘cat allmgd77.lis‘ −Dsatfaa,coastdist,satvgg −V

全ての MGD77+ ファイルの補正 IGRF 標準場からなる 4 バイト浮動小数点の列 を作る。

mgd77manage ‘cat allmgd77.lis‘ −Acm −Iigrf/"IGRF reference field"/"nTesla"/f/1/0/"IGRF version 10 for 1990-2010" −V

議論

1. 序言
mgd77 サプリメントは (1) 既存の mgg サプリメントの限定的な機能の改良 、 (2) 拡張データ列の容認によるスクリップスの gmt+ サプリメントからの一部 のアイデアの編入、 (3) アーキテクチャー非依存の CF-1.0 及び COARDS 規格 の netCDF ファイルフォーマットで記録された海底物理学的航跡測線データの 管理の新しい可能性を試みたものである。ここでは背後にある考えの一部と フ ァイルを管理するのに必要な手順を述べる。

2. 導入
出 発点は NGDC から CD-ROM, DVD-ROM, 及び FTP で配布されている MGD77 ア スキーデータファイルである。ファイルをローカルにインストールす る の に Geodas を使って、水深の列を往復走時と往復走時が存在すればカーター表で埋 める "Carter corrected depth" オプションを選ぶ。この段階では約 5000 の 個別の航海ファイルがある。これらを選んだ 1 つ以上のサブディレクトリに置 き、ファイル mgd77_paths.txt にこれらのサブディレクトリ名を( 1 行 に 1 つ) 記載し、そのファイルを $MGD77_HOME の示すディレクトリに置く。この変 数が設定されていないときはデフォルトで $GMTHOME/share/mgd77 になる。

3. 変換
mgd77convert
を使ってアスキー MGD77 ファイルを新しい netCDF MGD77+ フォ ー マットに変換する。典型的には、(拡張あり又は無しで)変換する全ての航海 の一覧を作って次のように実行する。

mgd77convert −Fa −Tc −V −Lwe+ ‘cat cruises.lis‘ > log.txt

冗長設定にすると確実に変換中の全ての問題を報告する。新しい *.nc ファ イ ル も 1 つ 以 上に分かれたサブディレクトリに置くことができ、これらも mgd77_paths.txt ファイルに挙げられているべきである。 *.nc ファイル用 の ディレクトリは *.mgd77 用のディレクトリよりも前に置くことを勧める。後で ある拡張を含むファイルのために検索範囲を限定したい場合は −I オプショ ン を使うべきである。

4. 新しい列の追加
mgd77manage
は *.nc ファイルに追加のデータ列を加えることを可能にしてい る。これらは文字列を含めて何でも良いが、最もよくありそうなのは与えら れ た グリッドから航跡に沿ってサンプルされた数値又はある目的のためにフィル タされたか加工された既存の列である。フォーマット上そのような拡張列は 32 列までサポートされている。列の追加方法についてはこの man ページを参照す ること。後でこれらの列の一部を消去したり、ある列に関連したデータを更 新 したりすることができる。 mgd77list のようなデータ抽出ツールを使って標準 の MGD77 の列 (航路、時刻、及び通常の地球物理学的観測値) とカスタムの列 の混合したものを抽出することができる。

5. 誤差要因
誤差の修正方法を議論する前にまず MGD77 データに関連した誤差の異なる種類 を挙げる。 (1) ヘッダの情報フィールドの一部が MGD77 の要件を満たして い ないか必要な情報が欠けているときに生じるヘッダ行のエラー。 mgd77convert は追加の冗長設定が選択されているときこれらのエラーを出力する。これら の エ ラーは典型的にはデータに影響を及ぼさず、代わりにメタデータにエラーを 発生させる。 (2) MGD77 の要件を満たしているにもかかわらず、あるデータ列 が 不正にエンコードされているときに生じる固定的な系統誤差。これは通常、 データが 10 又は 0.1 のような一定の因子によりずれているとか、場合によっ て はファゾムからメートルへの換算単位である 1.8288 だけずれているといっ たことを意味する。 (3) データを記録した機器又は信号入力後の処理が航跡に 沿 った時間、緯度、船首方位、又は他の物理的あるいは論理的説明のつく項目 の組合せの系統的関数とみなせるときに発生する未知の系統誤差。これらの 項 目 は航跡に沿った調査又は航跡を横切る調査のようなデータ解析技術により除 去できる場合もあり、データに適用したときに最適な方法でこれらの望まれ な い 信号を除去するための補正項を作ることができる。これらの補正項はその決 定のために新しいデータを考慮に入れた場合に変更される可能性があるので 、 このような補正は一時的なものと考えられる。 (4) 個々のデータ点又は連続デ ータが可能な範囲の外側にあったり、その他通常でない状況にあったりして 規 則 を破っている場合がある。更に、有効な範囲内の連続データでも不合理な変 化傾向を与えることがある。そのため、各点の状態を決定しビットフラグで 良 又 は悪を表すことができるようになっている。方針としては、誤差要因 1, 2, 及び 4 は関連する *.nc ファイルにメタデータとして情報を与えることにより 修正するが、誤差要因 3 の修正のためには(全体が修正されるものなので)補正 用の別のリストで管理する。

6. 誤差の発見
mgd77sniffer
は元の MGD77 アスキーファイルを航跡に沿って異常が無いか 徹 底的に検査して対応する *.e77 エラーログを作成するツールである。見つかっ た全ての問題はエラーログにされ、必要ならば推奨される固定補正項が与え ら れる。解析者は提案された補正値が本当に有効であるか確かめ(本当に明らかな 単位のエラーだけを修正したい)、これらのエラーログを編集しこれらの補正項 を 変更して関連するコードキーの変更によりそれらを有効にする (より詳しい ことは mgd77sniffer を参照すること)。 mgd77manage はこれらのエラーロ グ を 取り込み、 (1) ログで提案された誤ったヘッダ行を修正し、 (2) ある列を 読み込むときに使われる固定修正項を挿入し、 (3) 見つかったビットフラグを 挿 入する。後で別の問題が見つかったときにこの手順を再実行すると全てのフ ラグが再度作られる。

7. 誤差の修正
抽出プログラム mgd77list はデータを要求したときに直接補正を適用する。ま ず 、悪いビットフラグを持ったデータは抑止される。次に、固定的な系統誤差 項を持ったデータがしかるべく修正される。 3 番目に、(補正テーブルが与 え られれば)一時的な補正項を持ったデータはその補正が適用される。これらの全 ての手順は関連するメタデータの存在が必要であり全てユーザにより再定義 す る ことができる。更に、ユーザは分離したデータ列として独自のビットフラグ を加えて、どのデータが出力を抑止されるかを指示する mgd77list の論理テス トを使うこともできる。

謝辞

IGRF の 計 算 は イ ギリス地質調査所の Susan Macmillan により書かれた Fortran プログラムに基づき、 Joaquim Luis により f2c を使って C に変 換 され、 Paul Wessel により GMT の形式に修正された。

関連事項

mgd77convert(l), mgd77list(l), mgd77info(l), mgd77sniffer(l) mgd77track(l) x2sys_init(l)

文献

Wessel, P., and W. H. F. Smith, 2005, The Generic Mapping Tools (GMT) version 4.1 Technical Reference & Cookbook, SOEST/NOAA.
Wessel, P., and W. H. F. Smith, 1998, New, Improved Version of Generic Mapping Tools Released, EOS Trans., AGU, 79 (47), p. 579.
Wessel, P., and W. H. F. Smith, 1995, New Version of the Generic Mapping Tools Released, EOS Trans., AGU, 76 (33), p. 329.
Wessel, P., and W. H. F. Smith, 1995, New Version of the Generic Mapping Tools Released, http://www.agu.org/eos_elec/95154e.html, Copyright 1995 by the American Geophysical Union.
Wessel, P., and W. H. F. Smith, 1991, Free Software Helps Map and Display Data, EOS Trans., AGU, 72 (41), p. 441.
The Marine Geophysical Data Exchange Format - "MGD77", http://www.ngdc.noaa.gov/mgg/dat/geodas/docs/mgd77.txt 参照
IGRF, http://www.ngdc.noaa.gov/IAGA/vmod/igrf.html 参照