2009.5.5版
ス解析雨量 利用例
~ 利用初心者 経験 ~
大 大学 鷲見哲也
. ょ
ょ 文書 鷲見 成 20 8暻曒豪雨 流出解析 入手 気象庁 ヤヴジヴン゚ベ
ジケ解析雨量 1km ベックポ 利用 経験 い 書い 前提 以 を述
ょ 次 よう 人間
ン 気象 専門家 い
ンC/C++ 殆 わ ら い
ンUNIX/Linux 知識 殆 い Windowsマヴギ ある
ンFortran 多少 わ る Compaq Visual Fortranをコンド゜メ 使 いる 文書
ン 河川 伊賀川 流域面積約12km
2
流域 均雨量 時間変 を求 る
ン入手解析雨量タヴシ ら 1kmベックポ 当 流域周辺 タヴシをゾキケダタヴシ 抽出 る
いう部 を書い そ 後 流出解析 文献1)2)を見 い
ょ り 文書を 向い いる人 流出解析 ヤヴジヴ・゚ベジケ解析雨量を用い い
Fortran 知識 い Windowsマヴギ いう り 気象解析を専門 れ いる人
よう あり ん 気象タヴシ C/C++ Unix系 対 初心者 ある 条
件
ょ 書い いる 自身 初 扱 多 出来る人 慣れ いる人 いい方法
い ある そ 場 や 手 を書い い タヴシ
を目的 る あれ ソネダゞゟ゚を利用 る を 勧
.取 扱 手順
ょ 主 手 -1 り
ょ
ょ 作業 大 ケゾッハ 行い
ょ タヴシ Grib2 いうネァヴマッダ 縮 れ タヴシ い ケゾッハ れ
を付属 解凍ハュエメヘ キンハャ 解凍 4 ト゜ダ整数タヴシ ネ゙゜ャ 変換 ケゾ ッハ 自作 Fortranハュエメヘ 必要区域 タヴシを抽出 ゾキケダタヴシ 変換
タヴシ DVD) 購入 気象業務支援コンシヴ
タコヴチハュエメヘ DVD付属 コンド゜ャ 実行 4ト゜ダ整数タヴシ ヤパャ値
ネ゙゜ャ 変換
タヴシ抽出ハュエメヘ 作成 Fortran コンド゜ャ 実行 ゾキケダタヴシ作成
-1ょ 処理手
. 入手
ァ.1 購入手続き,入手
ょ ヤヴジヴ 関 る気象庁 タヴシ 気象業務支援コンシヴ ら購入 る モ゚ャシ
゜ヘ 観測タヴシや予測タヴシをアンメ゜ン 得る 能 解析雨量 ゚ベジケ 地 雨量
計を用い 補正を行 いる ある ら 事後 流出解析 用いる ヤヴジヴン゚ベ
ジケ解析雨量 1kmベックポ を使う 適 ある 考え
ょ 表-1 よう 販売 れ い 現 1 毎 1枚 DVD 提供 れ り 現 中 3ヶ
暻経過毎 それ 部 提供 れ ォヴケ 2008 9 暻 刊を待 10
暻 購入
ょ 蛇足 現 内 ある 研究 アンメ゜ン契約 を い い ら 気象
連絡 気象業務支援コンシヴ 気象予報士試験 実施機関 あり 連絡 るよう
指示 れ そ ら 電 を ろ 購入希望 文書ネァヴマッダをベヴャ 送 らい 手続
ょ 解析雨量 他 モ゚ャシ゜ヘ 合成 アンメ゜ン 提供 いる 全国合成ヤヴジ
タヴシ あり 1kmベックポ あり
ょ 購入 DVD 届い 縮タヴシ ある わ り 配信情報 関 る情
報 公開 れ い い 表-2 技術情報 資料 購入
4) 5)
ょ 資料第193号
ン提供開始 関 る情報
ンタヴシネァヴマッダ GRIB2形式 明
記 れ い タヴシネァヴマッダ 細 明 DVD "DOC"ネァャジ内"FORMAT.TXT" 書 れ い
表-2ょ 配信資料 関 る技術情報
3)
表-1ょ ヤヴジヴ 関 るタヴシ 価格
3)
ァ009 年 4 月 現在 ァ009 年 4 月 現在
ァ.ァ 概要
ょ DVD 以 ネァャジ あり
ROOT
ょ ├DATA タヴシ格納ネァャジ ょ ├DOC 諸チキポベンダネ゙゜ャ ょ ├RAV_GRIB 解析雨量画面表示ハュエメヘ ょ └SAMPLE_C 抽出キンハャハュエメヘ タコヴチ
チキポベンダネァャジ 以 含 れ い
DOC
├copyrght.txt 著作 情報
├format.txt タヴシネァヴマッダ解 GRIB2 書式
├RAV_GRIB.txt 解析雨量画面表示ハュエメヘ"RAV_GRIB" 解
├Readme.txt DVDンタヴシ 解 書
├rireki.txt 履歴情報 ヤヴジヴタグシャ 履歴
└runlength.txt 補足資料 GRIB2 使用 るメンヤンエケ符号 法 解
ょ DATAネァャジ 暻 ネァャジ 作られ そ 中 付毎 ネァャジ 作られ い 時刻 GMT 世界標準時 扱われ い 注意 必要 曓時間 2008 8 暻28
午後 ら29 朝 タヴシ 必要 世界標準時 8暻28 一 を使い
ょ タヴシ 30 全ベックポタヴシを格納 ネ゙゜ャ 用意 れ い え GMT
2008 8暻28 0時 曓時間 8暻27 15時 ネ゙゜ャ
”ド__C_R名TD_ァ00808ァ8000000_SRF_GタV_Gブis1km_タメメ60lv_ANAL_ブメibァ.bin”
格納 れ い タヴシ 前1時間 降雨量を示 最終結果 mm/hr 示 れ
よ 1時間雨量 場合 30 タヴシ 重 いる り
ょ 空間ベックポ
ン経 118-115 を2560ベックポ ベックポ45秒 ン緯 20-48 を3360ベックポ ベックポ30秒
割 合計8601600個 タヴシ 格納 れ タヴシ 並び N48° ら 向 ケキャン
れ E118° ら東向 並ん い 格納 ら ケキャン ある 注意
参考
ょ 愛知県岡崎周辺 タヴシ 抽出範 格子 標 言う
ne=2560 ! total cell grid number for EW 全エモッチ数 nn=3360 ! total cell grid number for NS 全エモッチ数 ies=1528+1 ! start cell for EW 対象 西 端
iee=1544 ! end cell for NS 対象 東 端
ins=1785+1 ! start cell for EW 対象 端 らィゞンダ 格子番号 ine=1801 ! end cell for NS 対象 端 らィゞンダ 格子番号
あ 整理 や いよう らィゞンダ い
4ト゜ダ整数 タヴシそ ヤパャ値 呼 れる整数値 観測タヴシ 連続量 離散的 代表値 置 換えられ それを整数 番号 ヤパャ値 保 れ い
ら れを メンヤンエケ いう 縮 方法 全体 タヴシ 縮 れ ネ゙゜ャ300キュト゜ダ
程 以 い
ょ 実際 観測代表値(mm/hr 戻
ょ ン全タヴシ 縮 れ いる を ベックポ ヤパャ値 整数 変換 る
ょ ンヤパャ値を 観測代表値(mm/hr 戻 必要 応 必要 ベックポ タヴシを抽出 る
いう手 必要 前者 表-1 ケゾッハ 後者 ケゾッハ り ケゾッハ
DVD 付属 Cハュエメヘ 何 ソネダ い場合 自 行わ い
ん
ょ ヤパャ値を代表値(mm/hr) 変換 る表 タヴシネ゙゜ャ 含 れ い 解析 時
表-3 通り い ょ 変換ゾヴノャ 変更 れる ある 注意
必要 後述 変換 目を参照 い ょ 表-3 参考 見 い
表-3ょ ヤパャ値―雨量代表値ょ 変換表 2008 8暻28 ベ 値
雨量代表 値mm hr
ベ 値
雨量代表 値mm hr
ベ 値
雨量代表 値mm hr
ベ 値
雨量代表 値mm hr 範囲外または欠測
注 ょ 表 変わる 能性 あり タヴシ を使用 い
ょ タヴシネァヴマッダ 細を書 ん 曑入手 方 タヴシを入手 い
れ 記技術資料を購入 熟 る を 勧
ょ
. ベ 値 へ 変換
ょ 縮 れ いる雨量タヴシを ヤパャ値 4 ト゜ダ整数 タヴシ 解凍ン変換 る過程
を書 れ -1 ハュコケ C/C++ 言語を扱える方 そ 先 ゾキケダタヴ
シ 作成 作業 行える 以 解凍ハュエメヘ C言語 コンド゜ャ 実行
書
ア.1 解凍用サン グ 確認
ょ DVD 入 いる ネァャジ SAMPLE_C をPC 適当 ろ 保 Windowsマヴギ あれ 曓語 ドケ 入 い いよう 場所 安全
ょ コンド゜ャ 実行時 明書 Readme.txt 書 れ い を 勧 SAMPLE_C
├i2pix.c
├Makefile コンド゜ャ時 makeネ゙゜ャ
├pmf_template.h
├prr_template.h
├Readme.txt 解凍ハュエメヘ 明書
├rlencmp.c 縮解凍 キノャヴスン
├sample_decode.h 解凍ハュエメヘ バッジネ゙゜ャ
└sample_grib2_dec.c 解凍ハュエメヘ 曓題
ア.ァ テindowsデタ 上 C/C++言語 使用環境 構築
ょ ハュエメヘ C言語 書 れ い WindowsXP マクン 時点 C/C++
コンド゜メを持 い ん よ コンド゜メ 必要 り 紹
cygwin+gcc
ょ そ 実際 cygwin Windows lunux 環境を用意 るソネダ を゜ンケダヴャ
gcc Gnu C/C++コンド゜メ makeコマンチ ジゞンュヴチ アハクミン 指定 ゜ン
ケダヴャ れら い い 細 Web あり 参照 い ケヘヴ
ゲ 進 問題あり ん そう い場合 Unux 的 世界 通 い い人 苦労 る れ
ん 知識 い 苦労
ょ 主 手 以 り
ンcygwinを提供 いるキ゜ダ ら setupハュエメヘをジゞンュヴチ
ン れを実行 ジゞンュヴチ ゜ンケダヴャ 実行 れる そ 前段階 必要 ハュ
エメヘ選択 る い タネァャダ 指定 れ いる 他 gcc make スゟ
ッェ 入 いる う を確認 い
ン必要 環境変数 を Windows クケゾヘ 録 る
細 曒尾 補遺 記
参考 ょ Visual Studio 2008 Express Edition 利用
ょ MS-Windows 世界 知ら い人 らを利用 る 向い いる れ ん Microsoft ら 無料 C++ 開 環境 提供 れ い それ Visual Studio 2008 Express Edition
ょ http://www.microsoft.com/japan/msdn/vstudio/express/ょ キ゜ダ ら C++を選択 Web ら゜
ンケダヴャ ソネダ 無料 入後30 後 録 必要
ょ Visual Studio 入後 ケシヴダベニポヴ 例
ょ 提供 れ ハュエメヘ群を 既 コヴチ らハュグゟェダを作成 タトッエを実行
そ う い ん 時点 利用をあ ら Windows
マヴギ ダメ゜ る価値 ありそう
以後 cygwinを利用 例 を
ア.ア 解凍用サン グ コンパイ ょ 以 手 実行ネ゙゜ャ コンド゜ャ
ンハュエメヘ ネァャジ SAMPLE_Cを DVD ら C:¥cygwin¥home ネァャジ コヌヴを置
゠ェケハュヴメ ンモダャ゠ンタ゛゚ンマクン
※
場合 バッジネ゙゜ャ sample_decode.h 6行目 暼効 るよう 変更 ょ ※ ょ Windowsマクン 大抵そう 後述 参考 参照
/*ょ ょ ょ ょ ょ ょ ょ ょ ょ ょ 削除 る
#define IS_LITTLE_ENDIAN
*/ょ ょ ょ ょ ょ ょ ょ ょ ょ ょ ょ 削除 る ンケシヴダンハュエメヘ ベニポヴ ら cygwinを起動
ンcd コマンチ ィヤンダタ゛ヤェダモを ネァャジ 移動 ビヴヘタ゛ヤェダモ sample_cょ ネァャジ
ンmakeコマンチを実行
-2ょ cygwin make 実行
ょ ls コマンチ ネァャジ 中身を見る grib2_dec.exeょ いう実行ネ゙゜ャ 作成 れ い れを 後使い Windows ゠ェケハュヴメ 確認 Windows 実行ネ゙゜ャ 使用 能
ア.4 解凍 ス ょ タヴシ 一 例え
”ド__C_R名TD_ァ00808ァ8000000_SRF_GタV_Gブis1km_タメメ60lv_ANAL_ブメibァ.bin”
を 一 ネァャジ binネ゙゜ャを C:¥cygwin¥home¥philly¥SAMPLE_C コヌヴ ) ょ cygwin 解凍を試 ハュンハダ ょ ./grib2_dec.exe ネ゙゜ャ を入力
cygwin pathを通 い い 実行ネ゙゜ャやトッスコマンチ 位置 指定./ 必要
-3ょ 解凍ハュエメヘ 実行
ネ゙゜ャ 長い ゠ェケハュヴメ マ゜コ
ンヌポヴシ 前 変更作業を る り
を ゾキケダをコヌヴ コマンチハュンハ
ダ 左 編集 ベニポヴ ら 貼り付
を実行 い
-4(a)ょ コマンチハュンハダ ゾキケダ操作
-4(b)ょ 長いネ゙゜ャ コヌヴ ゠ェケハュヴメ 前 変更 操作
実行 る 表-4 よう ハュンハダ 出力 れ う SECTION 5 18==19以降 部
表-3 対応 る ヤパャ値 雨量代表値 関係を示 い 部 確認 必要
ょ 実行 結果 ネァャジ 中
ド__C_R名TD_ァ00808ァ8000000_SRF_GタV_Gブis1km_タメメ60lv_ANAL_0_init.bin いう33,600キュト゜ダ ネ゙゜ャ 出来 いれ OK
表-4 標準出力
========== SECT同ON 0 =========== 1 -- 4: 16
5 -- 6: 0 7 : 0 8 : ァ 9 -- 16: 7088976
========== SECT同ON 1 =========== 1 -- 4: ァ1
5 : 1 6 -- 7: ア4 8 -- 9: 0 10 : ァ 11 : 1 1ァ : 0 1ア -- 14: ァ008 15 : 8 16 : ァ8 17 : 15 18 : 0 19 : 0 ァ0 : 0 ァ1 : 0
========== SECT同ON ア =========== 1 -- 4: 7ァ
5 : ア 6 : 0 7 -- 10: 8601600 11 : 0 1ァ : 0 1ア -- 14: 0 15 : 4 16 : 0xフフ 17 -- ァ0: 0xフフフフフフフフ ァ1 : 1 ァァ -- ァ5: 6ア781ア70 ァ6 : 1 ァ7 -- ア0: 6ア5675ァア ア1 -- ア4: ァ560 ア5 -- ア8: アア60 ア9 -- 4ァ: 0 4ア -- 46: 0xフフフフフフフフ 47 -- 50: 479958アア 51 -- 54: 118006ァ50 55 : 48 56 -- 59: ァ0004167 60 -- 6ア: 14999ア750 64 -- 67: 1ァ500 68 -- 71: 8アアア 7ァ : 0
========== SECT同ON 4 ===========
1 -- 4: 8ァ 5 : 4 6 -- 7: 0 8 -- 9: 50008 10 : 1 11 : ァ00 1ァ : 0 1ア : 150 14 : 0xフフ 15 -- 16: 0 17 : 10 18 : 0 19 -- ァァ: -60 ァア : 1 ァ4 : 0xフフ ァ5 -- ァ8: 0xフフフフフフフフ ァ9 : 0xフフ ア0 : 0xフフ ア1 -- ア4: 0xフフフフフフフフ ア5 -- ア6: ァ008 ア7 : 8 ア8 : ァ8 ア9 : 15 40 : 0 41 : 0 4ァ : 1 4ア -- 46: 0 47 : 1 48 : ァ 49 : 0 50 -- 5ア: 60 54 : 0 55 -- 58: 0
59 -- 66: 0001505555555555 67 -- 74: 0005555554555555 75 -- 8ァ: フ67フ5eフ7フフフe0007
========== SECT同ON 5 =========== 1 -- 4: ァ1ア
5 : 5 6 -- 9: 8601600 10 -- 11: ァ00 1ァ : 8 1ア -- 14: 8ア 15 -- 16: 98 17 : 1 18 -- 19: 0 ァ0 -- ァ1: 4 ァァ -- ァア: 10 ァ4 -- ァ5: ァ0 ァ6 -- ァ7: ア0
ァ8 -- ァ9: 40 ア0 -- ア1: 50 アァ -- アア: 60 ア4 -- ア5: 70 ア6 -- ア7: 80 ア8 -- ア9: 90 40 -- 41: 100 4ァ -- 4ア: 110 44 -- 45: 1ァ0 46 -- 47: 1ア0 48 -- 49: 140 50 -- 51: 150 5ァ -- 5ア: 160 54 -- 55: 170 56 -- 57: 180 58 -- 59: 190 60 -- 61: ァ00 6ァ -- 6ア: ァ10 64 -- 65: ァァ0 66 -- 67: ァア0 68 -- 69: ァ40 70 -- 71: ァ50 7ァ -- 7ア: ァ60 74 -- 75: ァ70 76 -- 77: ァ80 78 -- 79: ァ90 80 -- 81: ア00 8ァ -- 8ア: ア10 84 -- 85: アァ0 86 -- 87: アア0 88 -- 89: ア40 90 -- 91: ア50 9ァ -- 9ア: ア60 94 -- 95: ア70 96 -- 97: ア80 98 -- 99: ア90 100 -- 101: 400 10ァ -- 10ア: 410 104 -- 105: 4ァ0 106 -- 107: 4ア0 108 -- 109: 440 110 -- 111: 450 11ァ -- 11ア: 460 114 -- 115: 470 116 -- 117: 480 118 -- 119: 490 1ァ0 -- 1ァ1: 500 1ァァ -- 1ァア: 510 1ァ4 -- 1ァ5: 5ァ0 1ァ6 -- 1ァ7: 5ア0
1ァ8 -- 1ァ9: 540 1ア0 -- 1ア1: 550 1アァ -- 1アア: 560 1ア4 -- 1ア5: 570 1ア6 -- 1ア7: 580 1ア8 -- 1ア9: 590 140 -- 141: 600 14ァ -- 14ア: 610 144 -- 145: 6ァ0 146 -- 147: 6ア0 148 -- 149: 640 150 -- 151: 650 15ァ -- 15ア: 660 154 -- 155: 670 156 -- 157: 680 158 -- 159: 690 160 -- 161: 700 16ァ -- 16ア: 710 164 -- 165: 7ァ0 166 -- 167: 7ア0 168 -- 169: 740 170 -- 171: 750 17ァ -- 17ア: 760 174 -- 175: 770 176 -- 177: 800 178 -- 179: 850 180 -- 181: 900 18ァ -- 18ア: 950 184 -- 185: 1000 186 -- 187: 1050 188 -- 189: 1100 190 -- 191: 1150 19ァ -- 19ア: 1ァ00 194 -- 195: 1ァ50 196 -- 197: 1ア00 198 -- 199: 1400 ァ00 -- ァ01: 1500 ァ0ァ -- ァ0ア: 1600 ァ04 -- ァ05: 1700 ァ06 -- ァ07: 1800 ァ08 -- ァ09: 1900 ァ10 -- ァ11: ァ000 ァ1ァ -- ァ1ア: ァ550
========== SECT同ON 6 =========== 1 -- 4: 6
5 : 6 6 : 0xフフ
========== SECT同ON 7 =========== 1 -- 4: ァァ49ア5
5 : 7
ア.5 連続解凍
ょ 場合 48個 ネ゙゜ャを 処理 る い い コマンチを入力 る 面倒
そ トッスネ゙゜ャを作成 処理 る トッスネ゙゜ャ ゾキケダを ゠
ェコャ 作成 それを貼り付
タヴシ 準備
ン 使 用 る タ ヴ シ を 一 ネ ァ ャ ジ 先
C:¥cygwin¥home¥philly¥SAMPLE_Cょ ネァャジ あ 暻や 付
ネァャジ 入れ い ネ゙゜ャを 直接入れ
トッスネ゙゜ャ 作成
ょ 以 手 トッスネ゙゜ャを作り ャヴハ構成 い ん
ントッスネ゙゜ャ ゾキケダ コマンチを羅列 実行 る
純
ょ ょ ょ ブメibァ_dec.exe ド__C_R名TD_ァ00808ァ8000000_SRF_GタV_Gブis1km_タメメ60lv_ANAL_ブメibァ.bin
よう 記述を 全ネ゙゜ャ 対 並 書い を
ン作成 ゠ェコャ 文 操作 行い 記 よう 式 作成 い
-5ょ ゠ェコャ トッスネ゙゜ャ用ゾキケダ 作成
ン A 列 タヴシを コヌ ヴ ゾキケダ゠タ゛シ 貼り付 ネァャジ C:¥cygwin¥home¥philly¥SAMPLE_C 保 そ ネ゙゜ャ を 例え conv1.bat
ンcygwin トッスネ゙゜ャを実行 pプilly@同sプis ロ/sample_c
る ./conv1.bat
ょ そ 結果 コンソヴャ 3.4 節 ゾケダ時 繰り返 表示 れ そ 33,600 キュト゜ダ ネ゙゜ャ 多 作成 れ
ンう い い場合 トッスコマンチ 属性を実行 pプilly@同sプis ロ/sample_c
$ chmod 777 conv1.bat
pプilly@同sプis ロ/sample_c る ls -als conv1.bat
4 -メwxメwxメwx 1 pプilly ア744 May 5 0ア:5ア conv1.bat
ン れ う い い場合 トッスネ゙゜ャ 区 り 2ト゜ダ CR-LF ある 理
考えられ 丸゠タ゛シ JIS EUCコヴチ 保 い
<参考> 中身
ょ 作成 33,600キュト゜ダ ネ゙゜ャ群 4ト゜ダ整数 8601600個 い 4ト゜ダ 整数 中身を ジンハ 見 ジンハ=DUMP ゾキケダ以外 タヴシ 中身を表示 る よ 16進数 2桁 8ニッダ=1ト゜ダ 位 見る 多い 思い -6 ネモヴ ソネダ DUMP.exeをジゞンュヴチ 実施 結果
-6ょ 4ト゜ダ整数タヴシ ジンハ
4ト゜ダ整数 扱い コンヌポヴシや OS 種類 よ 違うよう Windows を使用 るよ
う ォヴケ -6 よう る 多いよう
ょ ォヴケ 4ト゜ダ 04 00 00 00ょ いう並び 場合 整数 を表 い 16進数
書い 場合 00000004 るわ 格納 並び ネ゙゜ャ 格納 れ いる
い う ゚チヤケ 番地 左 方 方 桁 タヴシ 大 い方 右 方 桁 タヴ
シ 保 れ 方式を モダャ・゠ンタ゛゚ン マクン 呼 そう 最 ゚チヤケ
先頭゚チヤケ い桁 値 格納 れる ょ 一方 汎用計算機やSun ニッエン゠ンタ
゛゚ン マクン あるら い
.Foメtメan グ 出 キス 作成
4.1 目的 前提条件 い
ン 作業環境 Windows 動作 る Compaq Visual Fortran ver6.4 外部メ゜ノメモ 使
い い り
ン ネ゙゜ャ 込 直接ネ゙゜ャ゚ェコケを利用 いる 点 い コンド
゜ャ時 設定 注意 必要 れ ん 実際 Compaq Visual Fortran 場合 設定 必要
ン出力 以 よう る り 作成 ょ ょ ょ 縦 エモッチ 抽出範
ょ ょ ょ エモッチ通 番号 経 緯 各時刻 ヤパャ値
いう並び コンマ区 り csvネ゙゜ャ ォヴケ 抽出エモッチ 256個 時刻 ネ゙゜ャ数 48個 後述 ハュエメヘ ネ゙゜ャ radar-middle.csv いう 前 られ
PID,ょ ょ Eょ ょ ,ょ ょ Nょ ,ょ ょ r00,ょ r01,ょ r02,ょ ょ ょ ょ ょ ンンンンょ ょ ょ ,r45,r46,r47 1, 137.10625, 34.87917, 0.0, 0.0, 0.0, ょ ょ ょ ンンンンょ ょ ょ , 0.0, 0.0, 0.0
2, 137.11874, 34.87917, 0.0, 0.0, 0.0, ょ ょ ょ ンンンンょ ょ ょ , 0.0, 0.0, 0.0 3, 137.13126, 34.87917, 0.0, 0.0, 0.4, ょ ょ ょ ンンンンょ ょ ょ , 0.0, 0.0, 0.0 ょ ン
ょ ン ょ ン
254, 137.26875, 35.00417, 0.0, 1.0, 1.0, ょ ょ ょ ンンンンょ ょ ょ , 0.0, 0.4, 0.4 255, 137.28125, 35.00417, 0.0, 0.4, 2.0, ょ ょ ょ ンンンンょ ょ ょ , 0.0, 0.4, 0.4 256, 137.29375, 35.00417, 0.0, 0.4, 5.0, ょ ょ ょ ンンンンょ ょ ょ , 0.0, 0.4, 0.4
4.ァ 補助的 イ 準備
読 込 イ ス フname.txt 作成
ょ ゠ェコャ -5 様 ネ゙゜ャ モケダを作成 ゾキケダ fname.txt 保
-6ょ ネ゙゜ャ モケダfname.txt 作成
ベ 値→雨量代表値 変換 convtable.txt 作成
ょ 表-3 従 ヤパャ値 雨量代表値 mm/hr) タヴシを作り 1行目 最終ヤパャ値を入れ 0 対応値 入れ い ん ハュエメヘ 配列 0を 言
ょ 表 値 ゾケダ 変換 表-4 コェクミン5 出力 り 作成
98
1 0 ァ 0.4 ア 1 4 ァ
96 190 97 ァ00 98 ァ55
4.ァ Foメtメan グ
ょ れら ら 以 ハュエメヘ 抽出 エモッチ 抽出部 コャ番号 設定 い 2.2
節 明を ん い
ょ ハュエメヘ ネ゙゜ャ 込 Unformattedを使用 1ヤコヴチ 4ト゜ダ メンジペェコケ 込 を行い 装置番号 Open文 Read文
pメoブメam main
inteブeメ*4 iメ(40000,0:50),idum cプaメacteメ フin(0:48)*6ア,フout(0:48)*18 メeal x(40000),y(40000),メ(0:ァ55) c
open(4,フile='convtable.txt') メead(4,*) ncon
do k=1,ncon
メead(4,*) kdum,メ(k) end do
close(4) c
ne=ァ560 よ total cell ブメid numbeメ フoメ Eテ 全グ ッ 数 nn=アア60 よ total cell ブメid numbeメ フoメ NS 全グ ッ 数 ies=15ァ8+1 よ staメt cell フoメ Eテ 対象 西 端
iee=1544 よ end cell フoメ NS 対象 東 端
ins=1785+1 よ staメt cell フoメ Eテ 対象 南 端, ,南か カウン 格子番号 ine=1801 よ end cell フoメ NS 対象 北 端, ,南か カウン 格子番号 nii=(iee-ies+1)*(ine-ins+1)
ii=0
do in=ins,ine do ie=ies,iee
ii=(iee-ies+1)*(in-ins)+(ie-ies+1) x(ii)=118.+(メeal(ie)-0.5)*45./ア600. y(ii)=ァ0.+(メeal(in)-0.5)*ア0./ア600. end do
end do c
ii=0
open(ァ,フile='フname.txt') メead(ァ,*) ntime
do iフil=0,ntime-1
メead(ァ,'(a6ア,1x,a18)') フin(iフil),フout(iフil)
open(1,フile=フin(iフil),フoメm='unフoメmatted',メecl=4,maxメec=8601600) do in=ine,ins,-1
do ie=ies,iee c ii=ii+1
ii=(iee-ies+1)*(in-ins)+(ie-ies+1) iメec=(nn-in+1)*ne+ie
メead(1,メec=iメec) iメ(ii,iフil) wメite(*,'(ア(a8,i1ァ))')
り ' iフil=',iフil,' iメec=',iメec,' iメ=',iメ(ii,iフil) end do
end do close(1) end do close(ァ) c
open(ア,フile='メadaメ-middle.csv')
wメite(ア,'(aア,ァ(a1,a1),ァ00(a1,a1,iァ.ァ))')
り 'タ同D',',','E',',','N',((',','メ',iフil),iフil=0,ntime-1) do ii=1,nii
wメite(ア,'(iア,ァ(a1,フ10.5),ァ00(a1,フ5.1))')
り ii,',',x(ii),',',y(ii),((',',メ(iメ(ii,iフil))),iフil=0,ntime-1) end do
close(ア) stop end
メンジペェコケ 対応 る コンド゜ャ時 設定 必要 れ ん 場合 -7
り モダャ゠ンタ゛゚ンマクン ある メンジペェコケ 関 る設定 必要 場
合 あり
ProjectSettings -Fortran -category=Cmpativility ょ ょ Unformatted file conversion をLittle ENdianを選択
ょ ょ - Use F77 Integer constantsをスゟッェ ょ ょ Option I/O Formatをスゟッェ
-7ょ コンド゜ャアハクミン 設定 unformatted file 設定 Compaq Visual Fortran 6.4 例
ょ う 4.1節 示 csvネ゙゜ャを作成 る 出来
ょ 最後 誤り等 い ら 鷲見 t-sumi@daido-it.ac.JP 知ら い
参考文献
1)ょ 鷲見哲也(2009):岡崎市伊賀川 る2008 8暻曒豪雨災害調査 土木学会河川技術論文集 印 刷中
2)ょ 大 大学鷲見研究 ビヴヘヒヴグ:http://godos2.daido-it.ac.jp/~sumi/index.html 3)ょ 気象業務支援コンシヴビヴヘヒヴグ:http://www.jmbsc.or.jp/
4)ょ 気象庁編:1kmベックポ全国合成ヤヴジヴ GPV 提供等 い 配信情報 関 る技術情報 気 象編 第162号 気象業務支援コンシヴ 行 2004
5)ょ 気象庁編:1kmベックポ1kmベックポ解析雨量ン降水短時間予報GPV 提供等 い 配信情 報 関 る技術情報 気象編 第193号 気象業務支援コンシヴ 行 2005
補遺: Cyブwin インス
2009.5.5現
ウン インス
ょ 早 ん ヒヴグ
1)
方法 従 ゜ンケダヴャ http://sohda.net/cygwin/setup.html
ょ cygwin キ゜ダ
3)ょ
http://cygwin.com ら Cygwin コッダ゚ッハハュエメヘ setup.exeをジゞン
ュヴチ 適当 場所 保 ネ゙゜ャ を実行 ジノャェモッェ
タネァャダ り
A 右 ゾキケダ区 り い Unix/binary を選択 ゾキケダ区 り Unix LF 区 りを想定
DOS Windows 2ト゜ダ CR-LF
B れ ネ゙゜ャ出力時 区 りをLF Unix →CR-LF DOS形式 変換
込 時 逆 る いう想定
れら 判断 迷い 回 ハュエメヘ LF区 り A)=UNIXを選択
cygwin コッダ゚ッハネ゙゜ャ 保 先 指定 よい ゜ンケダヴャ 終わ ら れ ら 作成 れるネァャジ http%3a%2f%2****%2fpub%2fcygwin%2f serup.exe 削除 よい
IE5を選択 る 成功率高い れ ん 近 キ゜ダを選択 ょう http://ftp.iij.ad.jpを選択
ょ
゜ ン ケ ダ ヴ ャ る ド ッ ォ ヴ グ選択画面
Devel エャヴハを開
そ 中 コンド゜メ ある gcc (C, C++), f77(fortran)
make 必要
曓当 必要 ドッォヴグを一 一 選択 る ろ ある 何 必要 正確 判断 い そ エャヴハDevel全部を暼効 る 一番 Default を一回ェモッェ
Install 変える ェモッェ 変わる 少 時間 る れ い
ょ cygwin unix 基曓 ドッォヴグ 選択 れ いる 次
ジゞンュヴチ あ ゜ンケダヴャ 進行 終了 る タケェダッハ クミヴダィッダ 出来
環境設定
ょ http://sohda.net/cygwin/setenv.html よそ 従い ょ
ょ c://cygwin/ cygwin 世界 unix ャヴダタ゛ヤェダモ り タケェダッハ クミヴダィッダ ケシヴダベニポヴ を実行
トヴグミン 1.5.25-15 .bashrc 自動生成 れ
例 ュエ゜ンマヴギ philly 以後philly 現 ュエ゜ン いるID 置 換え い
ょ mount コマンチを実行 結果 左 Windows チメ゜ノやネァャジ 前 on /以 cygwin タ゛ヤェダモ 前
例え :
philly マヴギ領域 cygwin /home/philly Windows c:¥cygwin/home/philly/ Windows Dチメ゜ノ cygwin /cygdrive/dょ り
ょ 一 れを終了 exit 閉
次 Windows 環境変数を設定
例え マ゜コンヌポヴシ 右ェモッェ ハュドゾ゛ より クケゾヘハュドゾ゛→ 細→環境変数→マヴギ環境変数ょ 行い
CYGWIN :ょ ntsec HOME :ょ /home/sohda MAKE_MODE :ょ UNIX SHELL :ょ /bin/bash
cygwin 諸設定 .bashrscを行い http://sohda.net/cygwin/setenv.htmlを参照 れ
よい 設定 い 進 ょ 特 PATH 設定を い い 実行ネ゙゜
ャやトッスネ゙゜ャ 実行時 注意 必要 ょ ィヤンダタ゛ヤェダモ 実行ネ゙゜ャを実施 る ./を最初 る必要 あり
れ 必要最 限 設定 完了
make 実施 こ 部 , 文 ア.ア 節 重複 .
ょ い 解凍用キンハャハュエメヘ用ネァャジ SAMPLE_C を c:¥cygwin¥home¥philly コヌヴ cygwin /home/philly/SAMPLE_C/ る )
曓文 書い いるよう モダャ゠ンタ゛゚ンマクン
※
場合 バッジネ゙゜ャ sample_decode.h
6行目 暼効 るよう ゾキケダ゠タ゛シ 変更 ょ
ょ ょ /*ょ ょ ょ ょ ょ ょ ょ ょ ょ ょ 削除 る
#define IS_LITTLE_ENDIAN
*/ょ ょ ょ ょ ょ ょ ょ ょ ょ ょ ょ 削除 る
ょ cygwinを起動 cdコマンチ ネァャジ 移動 そ makeコマンチを実施
ls ネ゙゜ャを確認 grib2_dec.exe 作成 れ 実行ネ゙゜ャ
参考サイ 補遺 :
1)ょ 早 ん ヒヴグ ゜ンケダヴャ 方法 :http://sohda.net/cygwin/ 2)ょ cygwin ヒヴグ 英語 :ょ http://cygwin.com/