此文為筆者2016年在個人臉書發表的文章,經過潤飾與重新編排,並改掉一些現在看來有點不精確的描述,重新發表於此。
這篇文章主要是想嘗試讓非大氣相關科系的人可以稍微理解天氣預報的困難之處,主軸放在「為什麼天氣預報會報不準?」,雖然也會先稍微解釋現代天氣預報的運作方式,但考慮到文章長度,無法解釋得太全面(其實是自己懶得寫),關於天氣預報的一般知識建議可參考這篇:《來一杯,地科咖啡》EP.2─數值預報 (天氣即時預報、台灣颱風論壇 共同編輯製作)
一般來說我們在網路上或是電視新聞中看到的氣象局所發布的天氣預報都是由預報員判讀電腦模式給予的「客觀預報」以及天氣圖、雲圖等等資訊,從而做出的「主觀預報」。也就是說明天會不會下雨、會不會變冷、颱風會不會登陸等等未來的天氣資訊,都是在電腦模式的預報結果出來後,再由預報員根據所有資訊與自己的經驗判斷這次可以相信模式多少、需不需要做修正等等,最後才是我們看到的天氣預報。
主觀預報是非常依賴預報員的經驗的,由於筆者在這方面並無研究,因此這邊主要想講的是使用電腦模式做「客觀預報」,也就是「數值天氣預報 (Numerical weather prediction, NWP)」這件事。
首先,為什麼我們可以「預報」天氣?這是因為我們可以根據物理定律去描述大氣的狀態隨時間的變化,例如大氣的運動速度(風速)、溫度變化、密度變化等等。舉個簡單的例子,像是描述大氣運動的方程式,其原理就是來自我們國中都學過的牛頓第二運動定律:F=ma。當我們已知物體的質量m、以及外力F時,便可以得到加速度a,套用在大氣的運動上,就是當我們已知一塊氣體所受到的力、以及它的密度(或說壓力),便可以知道它的速度會如何變化(也就是加速度)。
像這樣用一些物理定律所構成的方程式,我們便可以依照現在時間的大氣狀態(氣溫、風速、氣壓等等),去計算出下一個時間的大氣狀態。而所謂的數值天氣預報模式便是在電腦裡面建構這些方程式,輸入現在時間的天氣狀態,讓電腦去幫我們計算出未來時間的天氣,得到的結果就是「客觀預報」了。
那麼在電腦裡面,這些方程式是怎麼被建構的呢?事實上在電腦裡面,我們常常把大氣切成一格一格的網格點:
對於電腦來說,每一個網格點交叉的位置就會有一組數字,代表那個位置的天氣狀況。當網格間距越小,就越能更完整地表達大氣的整體狀況。也就是說在適當地調整下,模式的網格間距越細,計算出來的值理論上就會越有代表性,但因為要計算的格子數變多了,當然所需耗費的運算資源(電腦CPU、時間)也就越多。如何在計算所需的時間與模式的準確度間取得平衡,變成為了我們在進行數值天氣預報時必須取捨的一大難題(不管怎麼說,我們總是得在明天到來之前得到明天的預報,不然不管報得再準都沒有意義了)。
此外,在數值天氣預報模式中,除了描述大氣狀態變化的控制方程式以外,因為大氣中還是有些物理過程沒有辦法完全用方程式去描述,或是電腦的運算能力不夠處理太多細微的過程,此時我們就會用「物理參數化」去描述大氣的狀況。例如我們雖然無法一一計算一朵雲成長時的所有過程(蒸發、凝結、碰撞成長.......等等),但根據過去的觀測以及經驗,我們大概可以知道一朵雲生成時需要怎樣的溫度、濕度條件,並且在形成後會造成怎樣的溫度、濕度變化,因此我們便可以用這些觀測與經驗統計而來的近似的方程式,去計算某個網格點上是不是應該要有雲生成、生成之後附近的網格點的溫度跟濕度應該要怎麼變化等等。
當我們有了控制方程式、有了把大氣切成一格一格的網格點並在其上運算的數值方法、有了各種物理參數化以後,便構成了一個數值天氣預報模式所需的基本要素。
而我們有了一個模式後要怎麼開始預報呢?如前面所述,如果我們要得到下一個時間的大氣狀態,必須先知道現在時間的大氣狀態,也就是我們需要有餵給數值模式的「初始值」。假設我們有了一個全新的模式,要從頭開始做模式預報,那我們能獲得的「初始值」、也就是「現在的天氣狀況」,基本上就只有氣象觀測。
現代的氣象觀測種類非常多,除了一般傳統地面測站的溫度、氣壓等觀測,還有船舶、飛機、探空,以及氣象衛星、雷達……等等觀測資料。這些觀測資料都有一個共通點,就是他們在地球上的分布都是不均勻的、所在的位置也都有所不同,然而我們的模式只會認得事先建構好的模式網格點上的位置,因此我們必須使用一些方法將觀測轉換到模式認得的網格點上,才能開始進行預報。
而如果我們不是要從零開始預報,我們所能獲得的初始值就不只是觀測,還有模式本身「從上一個時間預報到現在」的資料,也能代表「現在的天氣狀況」。目前各國的各大預報單位所運行的數值天氣預報模式,通常都會固定每幾個小時使用一些方法去結合最新的觀測和原本模式兩者的資訊,得到一個新的初始場來繼續進行預報。
各種氣象觀測示意圖。取自日本氣象廳:https://www.jma.go.jp/jma/kishou/know/kansoku/weather_obs.html