幅の検出 アルゴリズムの整理 div1.gs

1.中央値を求める。配列の番号を記録
 中央値は、0度高度±1000m内で
  a)dBZhの最大値のレベルで定義。←減衰の影響があるので参考にする。
  b)d2dBZhの最小値のレベルで定義。
  c)d2rhoの最大値のレベルで定義。

2.中央値で閾値を満たすかどうかを判定する。満たさなければBB(ML?)は存在しないとする。
  a)dBZh 35dBZ
b)d2dBZh -5dBZ
c)d2rho 0.02
3.中央にBBが判断できれば、上方へ向かって閾値を下回る配列番号を検索する。下回ったところの一つ前が上端。
4.下端も求める。
5.上端と下端を引き算して幅を求める。

TODO
中央値のdBZが小さい場合は、処理をせずにBBなしと判定する。

とりあえずの結果。
it 地上のdbz 融解層内のdBZ最大 レンジビン 高度 d2dbZ レンジビン 高度 rML幅 d2rho レンジビン 高度 pML幅
1 21 16 17 3796 -4.03 24 4846 -999 0.23 27 5296 450
地上の値次第で、統計できる。→fort.91には作業用としてdBZhが条件に満たないものも含んでいる。→統計のためには出力する際にBBの条件を満たすものだけ出力する。

/g/syaka/prg/prgmkdat/bb【水水】
読み込みデータはgradsで2次差分をとったもの。「'C:\\home\\jobs\\2010\\syaka\\grads\\0726.grd'」

C:\home\jobs\2010\syaka\grads\fwrite.gsの計算結果。

fwrite.gsの実行前に、画像の確認div1.gsを実施
div1.gsに「open G:\syaka\prg\prgmkdat\grads\test.ctl」
を指定しており、読み込みデータを設定している。

dBZh35だと少し条件が厳しいかもしれない。←計算するときに考える。
2次差分を求めるときは次のようにやった。c_sed.xがDOSから起動できれば自動化できるかもしれない。
0)/c/home/jobs/2010/syaka/gradsでgradsをバックグラウンド起動
1)c & close 1 on grads
2)change target_kouu in c_sed.x @G:\syaka\prg\prgmkdat\grads
3)exec c_sed.x on mingw --> test.ctl changed
4)exec div1.gs on grads
5)run fwritex.gs MMDD on grads --> get d2.file