格子点データの解析 4 気象庁合成レーダーの解析 気象庁合成レーダーは全国 20 か所に設置された気象レーダーによって観測されたエコー強度 ( レーダーで観測される換算降水強度 ) とエコー頂高度 ( レーダーで観測される降水エコーの高さ ) のデータです エコー強度は格子間隔が 1 km エコー頂

Similar documents
作図コマンド : pscoast -R125/148/30/46 -JM15c -B5g5 -Di -W5 -S235 -X6c -Y4c > test.ps 作図例 : 2 分布図の作成 2.1 点を描く 地点の分布を作図するときは たとえば以下のように行います > pscoast -R125/1

格子点データの解析 1 月平均全球客観解析データの解析 客観解析データや衛星観測データのような格子点データは バイナリ形式のデータファイルに記録されていることが多いです バイナリ形式のデータファイルは テキスト形式の場合とは異なり 直接中身を見ることができません プログラムを書いてデータを読み出して

GrADS の使い方 GrADS(Grid Analysis and Display System) は おもに 客観解析データのような格子点データを地図上に作図するために使われるアプリケーションです 全球スケールの気象を扱う分野で広く使われています GrADS は Unix 系の OS 上でよく利

FORTRAN( と C) によるプログラミング 5 ファイル入出力 ここではファイルからデータを読みこんだり ファイルにデータを書き出したりするプログラムを作成してみます はじめに テキスト形式で書かれたデータファイルに書かれているデータを読みこんで配列に代入し 標準出力に書き出すプログラムを作り

Microsoft Word - JRA55_TL319_manual.docx

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

Microsoft PowerPoint - 14th.ppt [互換モード]

Microsoft Word - Cプログラミング演習(10)

情報処理演習 B8クラス

Microsoft PowerPoint - kougi2.ppt

1 C STL(1) C C C libc C C C++ STL(Standard Template Library ) libc libc C++ C STL libc STL iostream Algorithm libc STL string vector l

memo

情報処理概論(第二日目)

PowerPoint Presentation

Cプログラミング1(再) 第2回

Taro-ファイル処理(公開版).jtd

DIASフォーラム0731.pptx

画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう

Microsoft PowerPoint - prog04.ppt

SWAN とは 入力 出力 風データ地形データ SWAN で計算 波高周期波向

PowerPoint プレゼンテーション

というプロンプトだったのが gnuplot> というプロンプトに変わっていることに注意してください gnuplot を終了させるときには gnuplot> というプロンプトの後ろで quit と打ちこみます すると /home/snaoki> のようなプロンプトに戻るはずです 2 グラフを描いてみよ

情報処理概論(第二日目)

Microsoft PowerPoint - prog06.ppt

comment.dvi

第1回 プログラミング演習3 センサーアプリケーション

Microsoft PowerPoint - handout09.ppt

ファイル入出力

12.2 電気回路網に関するキルヒホッフの法則による解法 2 多元連立 1 次方程式の工学的応用についての例を 2 つ示す.1 つはブリッジ T 型回路, もう 1 つはホーイストンブリッジ回路である. 示された回路図と与えられた回路定数からキルヒホッフの法則を使って多元連立 1 次方程式を導出する

スクールCOBOL2002

Microsoft PowerPoint - kougi4.ppt

風力発電インデックスの算出方法について 1. 風力発電インデックスについて風力発電インデックスは 気象庁 GPV(RSM) 1 局地気象モデル 2 (ANEMOS:LAWEPS-1 次領域モデル ) マスコンモデル 3 により 1km メッシュの地上高 70m における 24 時間の毎時風速を予測し

/* do-while */ #include <stdio.h> #include <math.h> int main(void) double val1, val2, arith_mean, geo_mean; printf( \n ); do printf( ); scanf( %lf, &v

今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること

Google Earth 用 ボリューム可視化ソフトウェア VDVGE

gnuplot の使い方 gnuplot は汎用的で しかも手軽に使えるプロッティング プログラムです 計算結果をグラフにするとき に非常に便利なので ぜひ覚えてください 1 gnuplot の始め方 終わり方 gnuplot の始め方は ターミナル上のプロンプトの後ろで gnuplot と打つだけ

スライド 1

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

PowerPoint プレゼンテーション

C言語講座 ~ファイル入出力編~

コマンド入力による操作1(ロード、プロット、画像ファイル出力等)

Taro-再帰関数Ⅲ(公開版).jtd

Taro-2分探索木Ⅰ(公開版).jtd

PowerPoint プレゼンテーション

理工学図書館後期 LS 講習会 きれいなグラフを作ろう! gnuplot 入門

Transcription:

格子点データの解析 4 気象庁合成レーダーの解析 気象庁合成レーダーは全国 20 か所に設置された気象レーダーによって観測されたエコー強度 ( レーダーで観測される換算降水強度 ) とエコー頂高度 ( レーダーで観測される降水エコーの高さ ) のデータです エコー強度は格子間隔が 1 km エコー頂高度は 2.5 km であり どちらも 10 分おきにデータが得られます ここでは GRIB2 形式で保存されているエコー強度データを用いて レーダーエコー合成図 を作成してみます 4.1 GRIB2 形式から通常のバイナリ形式への変換 まずターミナルを立ち上げます 立ち上げたら mkdir コマンドで自分のホームの下に適当な作業ディレク トリを作ってください 次に cd コマンドで作業ディレクトリに移動します /home/snaoki> mkdir radartest /home/snaoki> cd radartest 今回は 2018 年 8 月 27 日 11 時 (UTC)(20 時 (JST)) のデータを解析します 以下のようなコマンドを実 行し tar ファイル Z C_RJTD_20180827110000_RDR_JMAGPV grib2.tar を展開し GRIB2 形式のデータファイ ル Z C_RJTD_20180827110000_RDR_JMAGPV_Ggis1km_Prr10lv_ANAL_grib2.bin の中身を確認します /home/snaoki/radartest> tar xvf Z C_RJTD_20180827110000_RDR_JMAGPV grib2.tar /home/snaoki/radartest> ls Z C_RJTD_20180827110000_RDR_JMAGPV_Ggis1km_Prr10lv_ANAL_grib2.bin Z C_RJTD_20180827110000_RDR_JMAGPV_Gll2p5km_Phhlv_ANAL_grib2.bin Z C_RJTD_20180827110000_RDR_JMAGPV grib2.tar /home/snaoki/radartest> wgrib2 Z C_RJTD_20180827110000_RDR_JMAGPV_Ggis1km_Prr10lv_ANAL_grib2.bin 1:0:d=2018082711:var discipline=0 center=34 local_table=1 parmcat=1 parm=201:no_level:: データファイルに収録されているデータの一覧が書き出されます 今回はエコー強度のみのファイルです エ コー強度のデータは 1 番なので "-d 1" と指定します /home/snaoki/radartest> wgrib2 Z C_RJTD_20180827110000_RDR_JMAGPV_Ggis1km_Prr10lv_ANAL_grib2.bin -d 1 -no_header -bin R.dat ( 注意 : 途中で改行はしません ) "-no_header" はヘッダ情報のない通常のバイナリ形式であることを意味し "-bin" の後で出力ファイル名を指 定します 出力ファイル名は R.dat です 45

電磁波の波長に比べて 電磁波を散乱する粒子の直径が十分に小さい場合 散乱断面積は粒子の直径の6 乗に比例することが知られています このような散乱をレイリー散乱といいます 気象レーダーによる観測では 受信した反射波の強さからレーダー反射因子が求められます レーダー反射因子は 1m 3 に含まれる降水粒子の直径の6 乗の和として定義されます 今回用いているデータでは レーダー反射因子の値は降水強度に換算されています レーダー反射因子 [mm 6 /m 3 ] と降水強度 [mm/h] との標準的な関係としては がよく使われます 現実的なの値に対しては非常に大きな値を持つため を用いてレーダー反射因子を表すのが普通です 気象レーダーが観測しているのは 降水強度ではなく レー ダー反射因子です そこで 一旦 逆算して降水強度をレーダー反射因子に換算します プログラム : #include <stdio.h> #include <math.h> int main (void){ int mmax=3360, lmax=2560; int m, l; static float a[3360][2560]; FILE *fp; fp = fopen ("R.dat", "rb"); fread (a, sizeof(float), mmax*lmax, fp); for (m=0; m<=mmax-1; m++){ for (l=0; l<=lmax-1; l++){ if (a[m][l] > 0.){ a[m][l] = 10. * log10 (200. * pow (a[m][l], 1.6)); else{ a[m][l] = 0.; fclose (fp); fp = fopen ("dbz.dat", "wb"); fwrite (a, sizeof(float), mmax*lmax, fp); fclose (fp); return 0; 46

/home/snaoki/radartest> cc prog.c -lm /home/snaoki/radartest>./a.out レーダー反射因子は dbz.dat というファイルに書き出されましたが このファイルの形式をコントロールファ イルに記述しておきます 以下のようなテキスト形式のファイルを作成し dbz.ctl というファイル名で保存 しておきます 変数名は "A" としています コントロールファイル : DSET dbz.dat UNDEF 0.0 XDEF 2560 LINEAR 118.006250 0.012500 YDEF 3360 LINEAR 20.004167 0.008333 ZDEF 1 LEVELS 1000 TDEF 1 LINEAR 00z01jan2011 1mo VARS 1 A 0 99 Output ENDVARS TDEF( 時間間隔 ) は実際には 10 分ですが エラーを防ぐためのダミーとして 1 か月にしています まず GrADS で作図し データを確かめてみましょう /home/snaoki/radartest> grads ga-> open dbz.ctl ga-> set mpdset hires ga-> set lon 138.4 141.2 ga-> set lat 34.7 36.9 ga-> set gxout shaded ga-> d a ga-> cbar ga-> quit 4.2 レーダーエコー合成図 通常のバイナリ形式のデータファイル dbz.dat に書かれているデータを GMT で作図します GMT で作図する ためには まず xyz2grd というコマンドを用いて データファイルを GMT で読める形式に変換する必要があ ります /home/snaoki/radartest> xyz2grd dbz.dat -Gtest.grd -R118.006250/149.993750/20.004167/47.995033 47

-I0.012500/0.008333 -N0 -ZBLf ( 注意 : 途中で改行はしません ) -G で出力ファイル名 -R で経度 / 緯度範囲を指定します 始点はコントロールファイルの通りに 終点はコン トロールファイルに書かれている始点と格子間隔から計算します さらに -I で格子間隔 -N で欠損値 -Z でデータの書式を指定しています BL は左下が始点であることを表し f は浮動小数点であること示します 次に grdimage などのコマンドで作図します /home/snaoki/radartest> grdimage test.grd -R138.4/34.7/141.2/36.9r -JM15c -Csample.cpt K > test.ps ( 注意 : 途中で改行はしません ) /home/snaoki/radartest> pscoast -R -J -B1g1 -Df -W5 -O -K >> test.ps /home/snaoki/radartest> psxy pref_japan.txt -R -J -B -m -W2ta -O -K >> test.ps /home/snaoki/radartest> psscale -D16.5c/4c/8c/0.5c -Csample.cpt -Ba4f4g4::/:dBZ: -O >> test.ps /home/snaoki/radartest> convert -rotate 90 test.ps test.gif まず grdimage で分布図を作成します -Csample.cpt でカラーパレットファイルを指定しています 次に pscoast で海岸線 psxy で県境を描きます psxy では pref_japan.txt に書かれている県境のデータを利用しています -m は切れ目があること -W2ta で太さ (2) と点線 (ta) を指定しています さらに psscale で凡例を作成します -D16.5c/4c/8c/0.5c で凡例の位置 -Ba4f4g4::/:dBZ: で目盛りとラベルを指定しています 最後に convert コマンドで PS 形式のファイルを GIF 形式に変換します カラーパレットファイル : 8.1 0 0 255 20 0 0 255 20 0 95 255 24 0 95 255 24 0 191 255 28 0 191 255 28 0 255 0 32 0 255 0 32 127 255 0 36 127 255 0 36 255 255 0 40 255 255 0 40 255 159 0 44 255 159 0 44 255 127 0 48 255 127 0 48 255 63 0 52 255 63 0 52 255 0 0 56 255 0 0 56 255 0 0 59.9 255 0 0 B 255 255 255 F 255 0 0 N 127 127 127 48

作図例 :2018 年 8 月 27 日 11 時 (UTC) のレーダーエコー合成図 課題 E:GMT を用いて 2018 年 8 月 27 日 9 10 11 時 (UTC) の レーダーエコー合成図 ( レーダー反射 因子の分布図 ) を作成し 印刷して提出せよ 作図する領域は 北緯 34.7~36.9 度 東経 138.4~141.2 度とす る 49

作図例 :2018 年 8 月 27 日 9 10 時 (UTC) のレーダーエコー合成図 ( 上が 9 時 下が 10 時 ) この演習では気象庁合成レーダー格子点値を用いている 50