MGD77LIST

名前
書式
説明
オプション

IGRF
IGF
補正
関連事項
文献

名前

mgd77list − MGD77[+] ファイルからデータを抽出する

書式

mgd77list NGDC-ids −Fcolumns[,logic][:bittests] [ −Ac|d|f|mcode ] [ −Cf|g|e ] [ −Dastartdate ] [ −Dbstopdate ] [ −E ] [ −H[i][nrec] ] [ −Iignore ] [ −X[corrtable] ] [ −M[flag] ] [ −Nd|sunit ] [ −Qa|vmin/max ] [ −Rwest/east/south/north[r] ] [ −Sastartdist[unit] ] [ −Sbstopdist[unit] ] [ −T[m|e] ] [ −V ] [ −Wweight ] [ −Z+|- ] [ −bo[s|S|d|D][ncol] ]

説明

mgd77list は <NGDC-id>.[mgd77|nc] ファイルを読み込みアスキー[又はバイナ リ]テーブルを作成する。 <NGDC-id>.[mgd77|nc] ファイルにはレグ id 、時刻 と位置、重力、地磁気、水深などの地球物理学的観測値、制御コード及びエ ト ベ ス補正や日変化補正などの補正値のような航跡情報が含まれる。 MGD77+ 拡 張 netCDF ファイルは追加のユーザによる列も含むことができる (利用可能 な 列 の一覧を得るには mgd77info −C を使うこと。また独自のカスタム列を追加 する方法を知るには mgd77manage を参照すること)。ユーザはこれらのパラ メ ー タ、 6 つの計算された量(距離、船首方位、速度、カーター補正、重力及び 地磁気の全球標準場)、時刻の暦のサブ単位(年、月、日、時、分、秒)、 NGDC id 、そして予め設定された重み( −W 参照) の任意の組合せを抽出することが できる。サブセクションは航跡に沿った経過時間又は距離の間隔あるいは地 理 的 な領域の選択により指定することができる。最後に、各々の出力行はデータ 値やビットフラグによる任意の数の論理テストを通すことを求めることがで き る。

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) しかサポートされていないので注意。

−F

必要とする columns の文字列は求める出力順で与えられたパラメ ー タの省略形のコンマ区切りの一覧でなければならない。大文字で与 えられるパラメータは出力に現れる行で NaN であってはならない。別 々 に指定しない限り、 (アスキーならば)出力フォーマットは GMT の パラメータ D_FORMAT により制御される。利用可能な省略形は以下 の 通り。

drt

数値の記録方式で、通常 3 又は 5 ( 2000 年問題対応済みの航 海に対して)。

id

調査 ID の文字列(レグ名)。

ngdcid

8 文字の NGDC 航海 ID の文字列(通常はファイルのプレフィ ックス)。

time

GMT の パ ラ メ ー タ OUTPUT_DATE_FORMAT 及 び OUTPUT_CLOCK_FORMAT により指定された絶対暦時刻( atime 、デフ ォ ル ト) 又 は GMT のパラメータ D_FORMAT 及び TIME_SYSTEM (又は TIME_EPOCH 及び TIME_UNIT )により指定された相対時刻( rtime ) の どちらかを選ぶこと。

lon

GMT のパラメータ OUTPUT_DEGREE_FORMAT により指定されたフォ ーマットの経度。

lat

GMT のパラメータ OUTPUT_DEGREE_FORMAT により指定されたフォ ーマットの緯度。

twt

往復走時(秒単位)。

depth

補正水深( m 単位、水面下が正)。

mtf1

センサ 1 の全磁力( nTesla 単位)。

mtf2

センサ 2 の全磁力( nTesla 単位)。

mag

残差地磁気異常( nTesla 単位)。

gobs

観測重力( mGal 単位)。

faa

フリーエア重力異常( mGal 単位)。

ptc

位置タイプコード( 1 = 固定, 3 = 内挿, 9 = 不定)。

bcc

走時を深さに変換するのに使った手順を示す水深補正コード。 ( 01-55 = 深さの補正に使ったマシューズゾーン、 59 = マシューズ 補 正が使われたがゾーンはデータ記録では指定されていない、 60 = T-S に関する桑原公式、 61 = T-S に関するウィルソン公式、 62 = T-S に 関するデル・グロッソ公式、 63 = カーター表、 88 = その他、ヘ ッダセクションに記載、 99 = 不定)。

btc

水深値を得た方法を示す水深タイプコード( 1 = 観測, 3 = 内 挿, 9 = 不定)。

msens

残差の計算に使った磁気センサ( 1 = 第 1 、又は前方センサ 、 2 = 第 2 、又は後方センサ、 9 = 不定)。

msd

磁気センサの深さ(又は高さ)( m 単位、水面下が正)

diur

地磁気日変化補正( nTesla 単位)。

eot

エトベス補正( mGal 単位)。

sln

音波探査の測線番号の文字列。

sspn

音波探査のショットポイント番号の文字列。

nqc

測位精度コード( 5 = 疑わしい、提供機関による、 6 = 疑わ し い、 NGDC による、 9 = 問題は見当たらない)。

更に、以下の派生的な数値を求めることができる。

year

各行の年。

month

各行の月。

day

各行の月の日。

hour

各行の時。

min

各行の分。

sec

各行の小数を含む秒。

dist

レグの開始からの航跡に沿った距離。計算方法については、 −C 参照[球面上の大円距離]、また距離の単位については、 −N 参照[ km ]。

az

北から時計回りに測った船の方位(船首方位)(度単位)。

vel

船の速度。単位については −N 参照[ m/s ]。

weight

このデータセットに適用される重み( −W 参照)。

carter

twt が( m 単位で)ファイルに存在するときに使われる、カー ターの深さ補正。補正前の深さから補正値が差し引かれて補正後の 深 さになる。

igrf

国際標準地球磁場(全磁力)( nTesla 単位)。

ngrav

国際標準重力場(「正規重力」)( mGal 単位)。重力場は航海の MGD77 ヘッダのパラメータである正規重力計算式コードに基づいて 選 択 される。これが設定されていないとき又は無効なときはデフォルト で IGF 1980 を使う。代わりに、 −Af を使って重力場を直接指定する こともできる(更なる詳細はそのオプションを参照)。

以下の短縮フラグも認識される。

all

これはファイル中の全てのデータ列を返す。

mgd77

これは公式な MGD77 の順序で全ての 27 の MGD77 フィールド を書き出す。

geo

これは出力を 10 フィールド( time, lon, lat と 7 つの地球物 理 学的観測値 twt, depth, mtf1, mtf2, mag, gobs, 及び faa )に限 定する。これらのセットに + を付けることにより上に挙げ た dist, azim, vel, 及び weight も付け加えることができる。

オ プションとして、 ,logic を付けることにより任意の観測データに 対して論理テストを加えることができる。これ自身は parOPvalue と い う形式の 1 つ以上のコンマ区切りの命令からなっており、 par は 上に挙げたパラメータの 1 つ、 OP は論理演算子( <, <=, =, !=, >=, >, | ) 、 value は比較に使われる定数である。浮動小数点パラ メータは数値的に比較され、文字パラメータは(先頭と末尾の空白が除 去された後に)辞書的に比較される。ビット比較 (|) は value の少な くとも 1 つのビットが par で立てられていなければならないこと を 意味する。行が出力されるためにはテストのうちの少なくとも 1 つが 真でなければならない。但し、大文字のパラメータを使ったテスト で は 全てが真でなければ出力されない。テストを指定することは対応す る列が出力ストリームに含まれることを意味するわけではなく、そ れ が現れるためには columns に存在していなければならないので注意。 演算子の一部は特別な UNIX 文字であるため −F の引き数全体を引 用 符で囲むことが推奨される。

最後に、 MGD77+ ファイルについては随意で :bittests を付けること ができる。ここで : (コロン)の後に 1 つ以上のコン マ 区 切 り の +-col 項が置かれる。これは各々の挙げられた列についてのみ特定の ビットフラグを比較する。ここで、 + は選んだビットが 1 (オン) 、 - は選んだビットが 0 (オフ)でなければならないことを意味する。全 ての与えられたビットテストを通らなければならない。デフォルト で は、特別な MGD77_flags 列が存在する MGD77+ ファイルではこれらの フラグを使って、オンビット(悪いデータとしてフラグされたことを意 味 する)に関連した観測データが NaN に設定される。この挙動をオフ にする(すなわち立てられたビットフラグが無い)には後に何も情報 が 続かない : を付けること。

オプション

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

−A

デ フ ォルトでは、修正された水深 (depth), 地磁気残差異常 (mag), フリーエア重力異常 (faa), 及び導出された量であるカーター 水深補正 (carter) は ( −F で選択された場合は)全てそのまま出力さ れる。このオプションはその動作を調整する。これらの列のそれぞ れ に対してデータを調整する 2−4 の方法がある。適用したい手順に対し て c(arter), d(epth), f(aa), 又は m(ag) 及びデータ code を付 け ること。数字の code (1, 2, 4, 及び 8) を足し合わせることにより あるデータ列に対して複数の手順を選択することができる。 例 え ば −Ac3 は始めに手法 −Ac1 でカーター補正の推定を試し、もし depth が NaN であれば次に −Ac2 で twt のみの使用を試みる。全ての場 合 に おいて、ある調整手順の要求する値が 1 つでも NaN であれば結果 は NaN になる。

−Ac

カーター補正項の計算方法を決める。以下では、 C(twt) は カ ー ター補正水深(これは lon, lat にも依存する)を表し、 U(twt, v) は MGD77 ヘッダ中の "Assumed Sound Velocity" パラメータ v を (それが有効な速度であれば、そうでなければ 1500 m/s をデフォルト として) 使った未補正水深 (= twt * v / 2) である。あるいは、好き な 速度 v を m/s 単位で付けること。 TU(depth, v) は(おそらく)未 補正の depth から推定された往復走時で、 TC(depth) はカーター 補 正公式を使って(おそらく)補正済みの depth から逆変換して求めた往 復走時である。以下から選択すること。

−Ac1[,v] は U(twt, v) と depth の差を返す[デフォルト]。
−Ac2
[,v] は U(twt, v) とカーター (twt) の差を返す。
−Ac4
[,v] は(未補正と仮定された) depth とカーター (TU(depth)) の 差を返す。
−Ac8
[,v] は U(TC(depth), v) と depth の差を返す。

−Ad

depth 列の出力方法を決める。

−Ad1 はデータセットに記録された通りの depth を返す[デフォルト] 。
−Ad2
[,v] は計算された未補正水深 U(twt, v) を返す。
−Ad4
は計算された補正水深 C(twt) を返す。

−Af

faa 列の出力方法を決める。 ngrav (すなわち国際標準重 力 場( IGF )、あるいは「正規重力」)が必要ならば MGD77 ヘッダパラメ ータの "Theoretical Gravity Formula Code" に基づいて選択され る 。このコードが存在しないか無効であればデフォルトで 4 になる。あ るいは、好きな field (1−4) を付けて 1 (Heiskanen 1924), 2 (IGF 1930), 3 (IGF 1967) 又は 4 (IGF 1980) から選択すること。以下か ら選択すること。

−Af1[,field] はデータセットに記録された通りの faa を返す[デフォ ル ト]。随意で、 −F で出力列として ngrav を要求したときは使用す る IGF field を設定すること。
−Af2
[,field] は(随意で使用する field 指示語とともに) gobsngrav の差を返す。

−Am

mag 列の出力方法を決める。ファイルには 1 つ又は 2 つの 全磁力測定結果があり( mtf1mtf2 )、列 msens はどちらが優先セ ンサーであるかを表していることがある( 1 又は 2 、未定義のことも ある)。以下から選択すること。 −Am1 はデータセットに記録され た 通りの mag を返す[デフォルト]。

−Am2mgfxigrf の差を返す。ここで xmsens データ列の示 す優先センサー( 1 又は 2 )である (指定されていなければデフォ ル トで 1 になる)。
−Am4
mgfxigrf の差を返す。ここで xmsens データ列の示 さないセンサー( 2 又は 1 )である (指定されていなければデフォ ル トで 2 になる)。

−C

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

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

−Da

startdate (yyyy-mm-ddT[hh:mm:ss]) よりも前に収集されたデー タを出力しない[デフォルトは航海の開始]。

−Db

stopdate (yyyy-mm-ddT[hh:mm:ss]) よりも後に収集されたデー タを出力しない[デフォルトは航海の終了]。

−E

完全一致。全ての要求された地球物理学的データ列に合致した 行 だけを出力する [デフォルトでは観測データ列の少なくとも 1 つが合 致した列を出力する]。

−H

それぞれのデータ列の名前を持ったヘッダ行を出力する。

−I

考慮されるデータファイルフォーマットから特定のものを無視 す る 。 MGD77 アスキー、 MGD77+ netCDF 、又はプレーンなタブ区切り のアスキーテーブルファイルを無視するにはそれぞれ a|c|t を付ける こと。このオプションは 1 つより多くのフォーマットを無視するため に繰り返しても良い [デフォルトでは何も無視しない]。

−L

実施可能な列に対して最適補正を適用する。使用する補正表の 名 前を付けること [デフォルトでは $MGD77_HOME ディレクトリの補正表 mgd77_corrections.d を使う]。このファイルのフォーマットについて は、下の「補正」を参照すること。

−M

それぞれの航海の航海 ID を持った複数セグメントヘッダ行を出 力する。

−N

距離については d を、速度については s を付け、それから必 要 な unite (メートル又は m/s )、 k ( km 又は km/hr )、 m (マ イル又は マイル/hr)、又は n (海里又はノット)で与えること [デ フ ォルトは −Ndk −Nse ( km 及び m/s )]。

−Qa

方位角の許容範囲( min/max )を指定する。この範囲以外の航跡 方位を持つデータ行は無視される[ 0-360 ]。

−Qv

速度の許容範囲( min/max 又は上限が無いときは単に min )を指 定する。この範囲以外の航跡速度を持つデータ行は無視される[ 0 -無 限]。

−R

west, east, south, 及び north は対象とする領域を指定する 。 小数値を含む度又は [+-]dd:mm[:ss.xxx][W|E|S|N] のフォーマットで 指定できる。東西南北の代わりに地図座標の左下と右上を使うとき は r を 付 けること。 2 つの略号 −Rg −Rd は全球領域(それぞれ経度 0/360 又は -180/+180 と緯度 -90/+90 )を表す。

−Sa

出発港からの航跡に沿った startdist メートルより短い距離 の デ ータを出力しない。 km なら k を、マイルなら m を、海里なら n を付けること[デフォルトは 0 メートル]。

−Sb

出発港からの航跡に沿った stopdist メートルより長い距離のデ ータを出力しない。 km なら k を、マイルなら m を、海里なら n を 付けること[デフォルトは航跡の最後]。

−T

MGD77+ ファイルの元になったオリジナルの MGD77 ファイルを 作 っ た機関が使った単位の誤り等を修正するために使われた MGD77+ に 記録されている修正項に基づく自動調整を行わない (このオプショ ン は プレーンな MGD77 アスキーファイルに対しては無効である)。この オプションを MGD77 又は拡張された列のセットだけに限定するには m 又は e を付けること [デフォルトでは両方に適用する]。

−V

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

−W

これらのデータに対する重みを設定する。重み出力オプション が −F に 設定されなければならない。 blockmean, blockmedian, 及び blockmode により提供される重み平均技術でデータを処理するとき に これは有用である[ 1 ]。

−Z

水面下の depth, carter, 及び msd の値に対して求める符号を付 ける ( −Z- は負の水深を与える) [デフォルトでは下向きが正]。

−bo

バイナリ出力モードを選択する (単精度。倍精度にするに は d を 付 けること。出力されるバイトをスワップするには S|D を使うこ と) [デフォルトはアスキー]。 −bo が選択されると −H は無視される 。同様に、文字列のデータ列は選択できない。

01010047.mgd77 から 1971 年 6 月 3 日 20:45 に始まり距離 5000 km で終わ る(距離、船首方位、重力、水深)の一覧を出力する。

mgd77list 01010047 −Da1971-06-03T20:45 −Sb5000 −Fdist,azim,faa,depth > myfile.d

file cruises.lis に挙げられている指定領域内の全ての航海データのフリーエ ア異常を使って blockmean 及び surface に入力するバイナリデータを作る。

mgd77list ‘cat cruises.lis‘ −Flon,lat,faa −R-40/-30/25/35 −bo > allgrav.b

ファイル cruises.lis に挙げられた全ての航海から内挿されていない( btc != 1 )水深が 9000 メートルを超える位置を抽出する。

mgd77list ‘cat cruises.lis‘ −F"depth,DEPTH>9000,BTC!=1" > really_deep.d

航 海 id がファイル cruises.lis に挙げられた全ての MGD77+ netCDF ファイ ルから、水深が 3 km より浅くて全ての要求するデータ列が NaN でないデータ 行の dist, faa, 及び grav12_2 を抽出する。

mgd77list ‘cat cruises.lis‘ −E −Ia −F"dist,faa,grav12_2,depth<3000" > shallow_grav.d

航海 id がファイル cruises.lis に挙げられた全ての MGD77+ netCDF ファ イ ルから dist, faa, 及び grav12_2 を抽出するが、 faa のビットフラグが悪い 値を示しているデータ行だけを出力する。

mgd77list ‘cat cruises.lis‘ −E −Ia −F"dist,faa,grav12_2:+faa" > bad_grav.d

ファイル cruises.lis に挙げられた全ての航海から lon, lat, mag, 及び faa を出力するが、最近の標準場に基づいて 2 つの残差を再計算する。

mgd77list ‘cat cruises.lis‘ −Flon,lat,mag,faa −Af2,4 −Am2 > data.d

IGRF

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

IGF

使われる数式はここではソースコードから直接導かれる定数を使って再現さ れ る (もし誤りがあれば知らせていただきたい)。
(1) g = 978052.0 * [1 + 0.005285 * sin^2(lat) - 7e-6 * sin^2(2*lat) + 27e-6 * cos^2(lat) * cos^2(lon-18)]
(2) g = 978049.0 * [1 + 0.0052884 * sin^2(lat) - 0.0000059 * sin^2(2*lat)]
(3) g = 978031.846 * [1 + 0.0053024 * sin^2(lat) - 0.0000058 * sin^2(2*lat)]
(4) g = 978032.67714 * [(1 + 0.00193185138639 * sin^2(lat)) / sqrt (1 - 0.00669437999013 * sin^2(lat))]

補正

補 正表は補正を実行するのに必要な係数とパラメータを持ったアスキーファイ ルである。 # で始まるコメント行を入れることができる。全ての補正の行は次 の形式である。

cruiseID observation correction

ここで cruiseID は NGDC のプレフィックス、 observation は上の −F に挙げ られた地球物理学的観測値の省略形の 1 つであり、 correction は足し上げら れてから出力前に観測データから差し引かれる 1 つ以上の項からなっている。 それぞれの項は次の構文の通りでなければならない。

factor[*[function]([scale](abbrev[-origin]))[^power]]

ここで角型括弧内の項は随意である (角型括弧自身は使われないが通常の丸 括 弧は指定されたとおりに使われなければならない)。項の間を除いて空白を入れ てはならない。 factor は基底関数の振幅であり、随意の function は sin, cos, 又は exp の中の 1 つにすることができる。随意の scale 及び origin は引き数を(随意の関数に渡す前に)変換するのに使うことができる。 引 き 数 abbrev は上に挙げられた観測データの省略形の中の 1 つである。 originT で与えられるとファイルの一番初めの行の abbrev の値で置き換えること を 意 味 する (これは普通は time に対してのみ行われる)。最初の行のデータが NaN のときは origin をゼロに戻す。随意で、振幅を掛ける前に数値全体を 与 え られた power に上げる。以下は航海 99999999 に対し、 depth からカータ ー補正を除去し、 faa から線形トレンドを除去し、地磁気異常( mag )を船 首 方 位及び緯度による奇妙な依存性により補正し、 gobs に 10 mGal を加えた( ゆえに -10 で与えられた)、架空の補正の例である。

99999999 depth 1.0*((carter))
99999999 faa 14.1 1e-5*((time-T))
99999999 mag 0.5*cos(0.5*(azim-19))^2 1.0*exp(-1e-3(lat))^1.5
99999999 gobs -10

関連事項

mgd77convert(l), mgd77info(l), mgd77manage(l), mgd77track(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 参照