2.2.2 プログラムの作成
本研究ではSmith and Sandwell(1994)の手法に従いデータ処理を行ったが、[1]FFT前の周縁部コサインテイパー処理、[2]重力異常データの海底面への補間、[3]伝達関数Sの計算、[4]水深バンドパス波長成分の推定と長波長成分との結合、[5]残差埋め戻し、[6]重み付き移動平均水深予測の6つの処理に関しては主にC言語プログラムを開発して処理に対応した。下方接続、フィルタリング、補間等の処理でGMTを用いる際はCシェルによりツールを作成した。また、単純なデータ変換等にはAWKを用いた。図表の作成にはArcView(主に地図)及びExcelを使用した。
以下、具体的な処理過程を説明する。
(1)以下の処理では品質チェック済みの水深点データセットから[経度、緯度、水深]を抽出して用いた。
・計算の都合上、水深値の符号は下向きを負として処理した。
抽出データ例:
130.536,29.825,-324.0
130.548,29.837,-345.0
130.558,29.849,-379.0
130.568,29.860,-433.0
130.578,29.872,-430.0
130.586,29.885,-484.0
…
モデル海域(G1405)での結果を図2-14に示す。
(2)GMTのblockmedianコマンドを用いて格子点を中心に1分×1分の範囲で中央値を抽出した。(注:Smith and Sandwell(1994)では3分×1.5分)(
図2-4手順1-2の一部)
%blockmedian$1-I1.0m/1.0m-R130.0/140.0/30.0/36.0-Q-V>$2
$1:入力テキストファイル(x y z)
$2:出力テキストファイル(x y median_z)
-I2.0m/1.0m:x(経度)方向1分、y(緯度)方向1分の間隔を指定。
-R130.0/140,0/30.0/36.0:格子の範囲を経度・緯度で指定。
-Q:水深値zの中央値を選択する処理を指定。
-V:処理経過表示モードの指定。
モデル海域(G1405)での結果を図2-15に示す。
(拡大画面: 158 KB)
図2-14 船舶観測水深(G1405)
(拡大画面: 202 KB)
図2-15 船舶観測水深blockmedian結果
%nearneighbor$1-I1.0m/1.0m-R130.0/140.0/30.0/36.0-G$2-S1m-N1-V
$1:入力テキストファイル(x y z)
-I1.0m/1.0m:x方向1分、y方向1分の間隔を指定。
$2:出力grdファイル(GMT用フォーマットのバイナリ形式)
-S1m:探索半径1分を指定。
-N1:探索円を分割せず処理を実行するモードを指定。
注:
・データの局所的な分布による影響を避けるため、最初にblockmedianコマンドで1分×1分メッシュ内の中央値を抜き出しておく。(この時の入出力では点の座標は移動しない。)それからnearneighborコマンドで1分×1分格子点に半径1分の円内での重み付き平均値を割り当てている。
・nearneighborコマンドでは格子点からの距離で水深点データの重み付けをしている。
w(r)=1/(1+d^2)
where
d=3*r/search_radius,r=[distance from the node]
モデル海域(G1405)での結果を
図2-16に示す。