[分享] 颱風路徑預測程式 V4.00

看板TY_Research作者 (小多啦)時間15年前 (2010/08/13 11:36), 編輯推噓26(26055)
留言81則, 19人參與, 最新討論串1/1
"颱風路徑預測程式 V4.00" (Typhoon Predictor V4.00) 這是最新版的小程式,除了原本的未來10天路徑預測,侵襲機率分析的功能外 另外還加入了強度預測的功能。 程式的複雜度也大大提升,程式碼總行數從原本的2700行增多到6500行。 執行的時間也從原本的一秒鐘就可以跑出結果,變成要等一段時間。 原則上,所需要的時間會跟當時所模擬的大氣環境、熱帶氣旋的壽命長短、使用者的電腦 配備有關。一般來說,大約需要1~10分鐘吧。 簡單說明一下強度預測功能好了,這個功能首先要上CIMSS的網站 去抓目前的海溫圖和渦度圖、6小時前和目前的風切圖、幅散圖、幅合圖共八張圖。 放到跟小程式同一個資料夾後,就可以開始跑模擬了。(詳細的操作方法可以參考裡面的 說明文件) 至於強度模型的運作原理,簡單說就是先把那八張圖讀進來後,加上使用者所輸入的某些 參數。當然除了以上所輸入的資料以外,小程式也有考量到地形對氣旋的破壞,以及在雙 颱效應下對強度的影響。利用所建立的一些模型來跑模擬,就可以跑出結果來了。 至於準確度怎樣,這個不保證一定準確,因為強度預測本來就很困難,可能還比路徑預測 還要難。 另外,小程式也可以預測擾動未來可能的發展。 舉一個初始強度為15KTS,渦度很普通擾動的為例子 如果預測出來的強度掉到10KTS以下,那就是"已消散",也就是相當於NRL的撤編。 如果預測出來的強度在10~15KTS,代表說附近的環境不太好,有消散(撤編)的可能性在。 如果預測出來的強度在15~20KTS,代表說附近環境普通~還不錯,擾動緩慢整合和增強。 如果預測出來的強度在20~25KTS,代表說小程式看好這個擾動可以發TCFA。 不過擾動強度預測的準確度可能不高,畢竟要一個擾動才剛形成 就要精準地預測未來會不會發展,會發展到什麼強度,哪時候消散,本身就是非常困難 的。所以小程式的強度預測只是參考的而已,希望大家不要太過在意預測的結果 不準不負責啊XD PS:小程式強度預測的有效範圍: 1.強度至少要有15KTS以上 2.必須在3N~58N,100E~170E之間,超出此範圍的話,強度就不會有變化 載點: 颱風路徑預測程式 V4.01 繁體中文版 http://www.mediafire.com/download.php?e7gov2ia2ory9re _________________________________________________ 至於統計資料,我除了做小程式路徑和強度預測誤差統計之外 也有做今年以來JTWC所有預測的路徑和強度誤差統計 (01W~05W in 2010) 統計資料分成以下3個部份 1.強度預測平均偏差值 先解釋一下,這裡的偏差值 = 預測值-實際值 若強度平均偏差值為正,代表說強度預測有高估的傾向 相反地若為負,則代表說有低估的傾向 事實上,統計到目前為止,不論是小程式還是JTWC的強度預測 做出來的平均偏差值幾乎都為負,而且隨著預報時間的增加,負偏差幾乎就愈大 大家可以參考下圖,X座標的單位是小時,Y座標的單位是KT http://0rz.tw/9YQJy 72小時後的平均負偏差都可以達到20KTS上下,也就是強度預測傾向低估TC的強度 2.強度預測平均誤差值 前面是平均偏差,而這裡是平均誤差,誤差值 = 偏差值的絕對值 對小程式來說 12小時平均誤差為 4.09 KTS 24小時平均誤差為 8.26 KTS 36小時平均誤差為 12.51 KTS 48小時平均誤差為 17.29 KTS 72小時平均誤差為 24.14 KTS 96小時平均誤差為 18.99 KTS 120小時平均誤差為 12.31 KTS 對JTWC今年以來的預測來說 12小時平均誤差為 5.87 KTS 24小時平均誤差為 8.27 KTS 36小時平均誤差為 10.38 KTS 48小時平均誤差為 10.78 KTS 72小時平均誤差為 11.36 KTS 96小時平均誤差為 22.52 KTS 120小時平均誤差為 19.2 KTS 可參考下圖 http://0rz.tw/jEMcu 小程式在某些時間點,例如12、24(平手)、96、120小時的預測都是略微勝過JTWC的 在其他時間點則是明顯誤差大很多 3.路徑預測平均誤差值 對小程式來說 12小時平均誤差: 104KM 標準差 62KM 70%機率預報圓半徑為 137KM 24小時平均誤差: 207KM 標準差 107KM 70%機率預報圓半徑為 264KM 48小時平均誤差: 406KM 標準差 207KM 70%機率預報圓半徑為 516KM 72小時平均誤差: 633KM 標準差 362KM 70%機率預報圓半徑為 825KM 120小時平均誤差: 856KM 標準差 572KM 70%機率預報圓半徑為1159KM 168小時平均誤差: 964KM 標準差 728KM 70%機率預報圓半徑為1350KM 240小時平均誤差:2711KM 標準差1331KM 70%機率預報圓半徑為3416KM 對JTWC來說 12小時平均誤差: 75KM 24小時平均誤差: 112KM 36小時平均誤差: 140KM 48小時平均誤差: 185KM 72小時平均誤差: 343KM 96小時平均誤差: 516KM 120小時平均誤差:872KM 可參考下圖表,X座標單位為小時,Y座標單位為KM http://0rz.tw/Ojis2 在路徑預測方面,除了120小時的預測以外,其他時間點小程式誤差都比JTWC還要大不少 這很合理,因為主觀的預測準確度本來就大於這種寫程式跑出來的預測 所以小程式的確還有很大的改善空間 在V4.00的檔案裡,我還有附上JTWC 01W~05W每一報的詳細誤差資料,大家也可以看看 另外也有附上舊版的小程式 (V3.04),是沒有強度預測功能的 如果大家只要預測路徑就好的話,那可以直接使用舊版的小程式就行了 因為舊版小程式的執行速度快很多 如果大家有任何問題,例如程式執行有問題的話,歡迎推文或者站內信 那就這樣囉 ^__^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.163.19.59

08/13 11:45, , 1F
好厲害@@ 小程式是怎麼讀取那幾張圖呢?
08/13 11:45, 1F

08/13 11:55, , 2F
這是閣下自己寫的程式嗎?
08/13 11:55, 2F

08/13 11:56, , 3F
感謝分享!
08/13 11:56, 3F

08/13 12:00, , 4F
Dory大,這不會是你正在搞的論文主題?XD
08/13 12:00, 4F

08/13 12:46, , 5F
不推不行...
08/13 12:46, 5F

08/13 13:44, , 6F
08/13 13:44, 6F

08/13 14:23, , 7F
推@@
08/13 14:23, 7F

08/13 15:29, , 8F
回S大 讀取那幾張圖其實是超級麻煩的事情...
08/13 15:29, 8F

08/13 15:30, , 9F
要想好的演算法,我大約花了幾十個小時在想圖片讀取
08/13 15:30, 9F

08/13 15:30, , 10F
這方面的程式要怎麼寫...0rz
08/13 15:30, 10F

08/13 15:31, , 11F
風切、渦度、海溫圖的讀取還算簡單 讀顏色就好
08/13 15:31, 11F

08/13 15:32, , 12F
但是幅散、幅合的讀取 簡直難到爆...不能用顏色來辨別
08/13 15:32, 12F

08/13 15:33, , 13F
最後還是有寫出來阿 只是不保證能100%正確地讀取
08/13 15:33, 13F

08/13 15:34, , 14F
回A大 這是我自己寫的程式沒錯
08/13 15:34, 14F

08/13 15:34, , 15F
回I大 會寫這個程式是因為有興趣 跟啥論文沒關係啦XD
08/13 15:34, 15F

08/13 18:10, , 16F
推~~~~~~~
08/13 18:10, 16F

08/13 20:48, , 17F
D大真厲害!
08/13 20:48, 17F

08/13 21:43, , 18F
強!!
08/13 21:43, 18F

08/13 22:10, , 19F
真厲害,請問讀取色階是用matlab讀取嗎?另外想問說
08/13 22:10, 19F

08/13 22:11, , 20F
JTWC的強度跟路徑計算誤差的這些資料,是去哪擷取的?
08/13 22:11, 20F

08/13 22:12, , 21F
是到NRL每個颱風過去JTWC每一報的預測值去計算的嗎?
08/13 22:12, 21F

08/13 22:12, , 22F
因為本身有想要用類神經去估計颱風的路徑跟強度
08/13 22:12, 22F

08/13 22:13, , 23F
所以想請教你一下,感謝^^"
08/13 22:13, 23F

08/13 22:14, , 24F
JTWC每年出爐的熱帶氣旋報告都會有預測誤差的數據
08/13 22:14, 24F

08/13 22:15, , 25F
可至JTWC網站下載
08/13 22:15, 25F

08/13 22:16, , 26F
回W大 可以到這裡看 http://0rz.tw/vr5tw
08/13 22:16, 26F

08/13 22:17, , 27F
文章裡面的誤差資料是我自己算的
08/13 22:17, 27F

08/13 22:17, , 28F
上面那個網址裡 有每個時間點的位置和 每一報的預測
08/13 22:17, 28F

08/13 22:18, , 29F
08/13 22:18, 29F

08/13 22:19, , 30F
每個TC都有 Forecast Track Archive 和Track History
08/13 22:19, 30F

08/13 22:19, , 31F
對照兩者就可以算出 每個TC每一報的誤差
08/13 22:19, 31F

08/13 22:24, , 32F
另外 讀取色階並不是用MATLAB的 是用C++裡面的函數
08/13 22:24, 32F

08/13 22:25, , 33F
簡單說可以把圖形的每個PIXEL讀成char的值 0~255
08/13 22:25, 33F

08/13 22:27, , 34F
然後每個char的值都會對應到某個顏色 例如0對應到
08/13 22:27, 34F

08/13 22:29, , 35F
黑色 而黑色又會對應到圖中的某個值
08/13 22:29, 35F

08/13 22:47, , 36F
這是論文成果吧 酷!
08/13 22:47, 36F

08/13 23:23, , 37F
讚!
08/13 23:23, 37F

08/14 00:24, , 38F
很強喔推推推
08/14 00:24, 38F

08/14 00:48, , 39F
推一個
08/14 00:48, 39F
※ 編輯: DoraBoy 來自: 218.163.22.94 (08/14 11:04)

08/14 11:15, , 40F
感謝D大,你的網站我昨天晚上剛好發現XD
08/14 11:15, 40F

08/14 11:18, , 41F
緯度經度一起輸入會當掉XD還有我跑好久ㄧ格都沒有...
08/14 11:18, 41F

08/14 11:21, , 42F
哈哈 BUG很多沒錯 我也懶得抓XD 不過只要正常使用的
08/14 11:21, 42F

08/14 11:21, , 43F
話 應該沒問題吧
08/14 11:21, 43F

08/14 11:22, , 44F
至於跑好久一格都沒有 應該沒那麼誇張吧...0rz
08/14 11:22, 44F

08/14 11:22, , 45F
通常第一格要跑最久 大約要跑個1~3分鐘吧 之後就會
08/14 11:22, 45F

08/14 11:22, , 46F
愈跑愈快
08/14 11:22, 46F

08/14 11:23, , 47F
忘了說了 以上的時間是在CPU全開的前提下跑的
08/14 11:23, 47F

08/14 11:24, , 48F
如果說還編用其他程式的話 可能要跑更久沒錯
08/14 11:24, 48F

08/14 11:24, , 49F
XD 不過我現在一格都還沒出來......
08/14 11:24, 49F

08/14 11:25, , 50F
S大繼續等看看吧 程式我今天都跑好幾次了 應該沒問題
08/14 11:25, 50F

08/14 11:26, , 51F
程式停止運作=口=!!!
08/14 11:26, 51F

08/14 11:27, , 52F
XD S大確定8張圖都有抓好了嗎 檔名要檢查喔 都要是
08/14 11:27, 52F

08/14 11:27, , 53F
256色的點陣圖
08/14 11:27, 53F

08/14 11:28, , 54F
小程式大約會佔掉80多MB的記憶體 和大部分的CPU
08/14 11:28, 54F

08/14 11:30, , 55F
會停止運作最有可能的原因就是那8張圖有問題
08/14 11:30, 55F

08/14 11:31, , 56F
喔喔原來如此~~那我再去檢查~
08/14 11:31, 56F

08/14 11:46, , 57F
D大所用的CPU是哪個?RAM的速度應該也是有影響到吧?
08/14 11:46, 57F

08/14 11:49, , 58F
我的CPU好像是 Intel Duo processor T5750
08/14 11:49, 58F

08/14 11:50, , 59F
D大能提一下所用電腦軟硬體規格嗎?這樣評估效能較準
08/14 11:50, 59F

08/14 11:55, , 60F
其實我也不太清楚阿 好像是2MB的L2 cache
08/14 11:55, 60F

08/14 11:55, , 61F
記憶體3G (但其實小程式只需用到80MB的記憶體而已)
08/14 11:55, 61F

08/14 12:21, , 62F
嗯嗯是有成功~不過現在沒氣旋好難輸入參數囧>
08/14 12:21, 62F
※ 編輯: DoraBoy 來自: 218.163.22.94 (08/14 12:37)

08/14 17:05, , 63F
請問D大有沒有考慮OpenSource 讓大家一起來寫呢~:)
08/14 17:05, 63F

08/14 18:36, , 64F
沒有考慮過說 這種東西要大家一起寫也不方便吧XD
08/14 18:36, 64F

08/14 22:36, , 65F
其實很多你知道的軟體都是OpenSource大家一起寫出來
08/14 22:36, 65F

08/14 22:37, , 66F
例如PcMan還有許多繪圖及物理引擎也是開源程式。
08/14 22:37, 66F

08/14 22:38, , 67F
大家一起寫程式 現在已經有許多不錯的免費版本管控
08/14 22:38, 67F

08/14 22:38, , 68F
軟體 例如SVN(本身也是免費) 如果原作者認為有問題
08/14 22:38, 68F

08/14 22:39, , 69F
是可以回復到之前的版本 (也可以幫助備份)
08/14 22:39, 69F

08/14 22:41, , 70F
我會 提出這個想法, 是因為我本身是程式設計師~
08/14 22:41, 70F

08/14 22:41, , 71F
但我對大氣沒有很瞭解 也許只能在程式寫作提供些協助
08/14 22:41, 71F

08/15 00:02, , 72F
來個南印度洋的吧^^ (誤)
08/15 00:02, 72F

08/15 09:01, , 73F
嗯嗯 感謝E大的熱心 不過小程式的撰寫已經告一段落了
08/15 09:01, 73F

08/15 09:01, , 74F
短期間內應該都不會再修改程式了吧 (除非有重大BUG)
08/15 09:01, 74F

08/15 09:06, , 75F
回M大 其實小程式可以偷偷拿來用來預測北半球其他
08/15 09:06, 75F

08/15 09:07, , 76F
地方(海域)的氣旋喔 例如阿拉伯海 東太平洋...
08/15 09:07, 76F

08/15 09:08, , 77F
只是沒有強度預測功能而已
08/15 09:08, 77F

08/15 20:45, , 78F
我家在南半球~
08/15 20:45, 78F

08/16 08:51, , 79F
南半球喔 那真的沒辦法囉XD
08/16 08:51, 79F
※ 編輯: DoraBoy 來自: 218.163.20.160 (08/27 12:12)

08/27 12:13, , 80F
小程式的更新版本 V4.01版的載點已經更新在本篇文章
08/27 12:13, 80F

08/27 12:13, , 81F
裡了 歡迎大家去下載最新版的來玩玩
08/27 12:13, 81F
文章代碼(AID): #1CPBsjpw (TY_Research)