中央氣象局氣象資訊中心 — 運用多項開源軟體,實踐自動化的天氣測報與服務作業
Last updated
Last updated
中央氣象局氣象資訊中心主任 程家平
一般的商業軟體大都是為特定的商務環境的應用而設計,在功能與效能上,較無法貼切的滿足氣象測報作業等相關應用所需。而能夠自由修改原始碼的開源軟體,不僅功能繁多,且許多皆是配合科學運算或工程應用而開發,非常適合具有大量科學資料處理性質的中央氣象局使用,所以中央氣象局氣象資訊中早在2 0 餘年前,即已開始運用U N I X 相容的開放系統環境,輔以各式開源軟體,建構中央氣象局由全球與區域資料的收集處理、主客觀預報作業的決策輔助、多元化的產品製作,到測報資訊傳播服務等一系列的作業系統,持續提升中央氣象局的天氣測報與服務作業能力。
在近代各類感測元件微型化與晶片運算速度提升下,全球氣象測報的能力也逐年在提升中,搭配人手一機的行動裝置,民眾已能夠透由網路隨手取得各地的溫度、濕度、降雨等氣象資訊,方便的滿足工作、旅遊等應用所需。擁有在全球百大排名內高速運算平台的中央氣象局,更進一步運用眾多項開源軟體,強化全球及區域的天氣測報作業能力,產製各種氣象測報產品,提供我國政府機關、企業、民眾等單位運用,期待將天然災害帶來的威脅降到最低,並發揮氣象資訊運用的經濟價值。
中央氣象局氣象資訊中心主任程家平說,氣象資訊中心的首要任務在確保中央氣象局的數值天氣預報作業能滿足時代需求並能與時俱進。天氣預測是非常特殊而實用的科學領域,而數值天氣預報作業則是運用人類對大氣科學研究所得之物理規則及數學公式的精華,建構出一套能模擬並表達大氣系統運行狀態的數學預測模型,再使用數值方法及高速電腦進行大量運算,求解模型內大氣系統的方程式,用客觀的電腦數值運算實現對未來天氣的預測,這也是目前國際公認可以大幅提高短中期逐日天氣預報準確率及延長預報時距的最有效方法。在實務上,數值天氣預報系統將我們生活的物理空間,依所需處理不同時空尺度如鋒面、梅雨、颱風、雷陣雨等大氣現象的預報需求,畫分為不同間距(解析度)大小的網格系統,透過對地(海)面、高空、雷達、衛星、海象等各種大氣觀測系統的資料收集以及國際資料交換,取得所需的基本資料,並經過資料同化程序,建構出接近實際大氣的三度空間初始狀態,再經過模式預報、系集處理等一系列的計算,得到未來的大氣狀態。這些模式產出的大氣狀態資料,尚需再透過預報人員做天氣系統的分析研判與決策,以及產品製作和發布等後處理,才能將這些天氣預測資料透過網頁、電郵、簡訊、傳真、App 等傳播管道,以圖形、影像、動畫、表格、語音、文字等呈現方式傳達到使用者手上。這一套繁複的資料處理流程與自動化的作業機制,在軟體系統上從資訊架構的規劃、設計、建置、部署,只要經評估有一定效用之處,都儘量使用開源軟體的組件或工具來加速進行系統開發、佈建及軟體工程管理,來減輕發展負擔,截至目前為止所使用到的開源軟體組件或工具已超過百種以上。而在目前正開發中的巨量資料存取機制、地理資訊系統(GIS)平台、大數據分析處理等系統中,也大量運用如Hadoop、OpenStreettMap、R 等可修改原始碼搭配特定客製化需求的開源軟體為主,期盼能夠儘速開發出相關應用,為台灣民眾提供更精準、更貼近生活所需的天氣預報內容,並同時能運用開放資料通訊協定,與國際各大氣象資料或作業中心進行接軌與交換。
難以支撐廣泛的科學計算研發專案
中央氣象局氣象資訊中心自1984 年成立以來,持續投入規劃及協調推動氣象業務現代化及電腦化等相關工作,並自國際引進成熟的先進氣象科技,發展建置現代化氣象資訊作業系統,以提升氣象作業能力及資訊服務效能。此外,氣象資訊中心並負責中央氣象局的高速運算資源、作業網路骨幹、巨量資料儲存系統等資訊基礎建設,以及資訊安全規範和程序的建立與推動,讓中央氣象局享有安全無慮的資訊系統研發與作業環境。目前氣象資訊中心所負責的各種資訊系統,大致可分為氣象資訊基礎建設、氣象測報與服務資訊系統,以及行政資訊系統等3 大類,同時並也負責上述相關系統的24 小時作業維運。
如同大多數的學研發機構,中央氣象局氣象資訊中心在打造各種氣象資訊系統時,考量到商用軟體的功能性較侷限,缺乏彈性的擴展空間或跨不同軟體套件的銜接機制,因此大量選用較成熟的開源軟體組件,並透過客製化修改原始碼的方式,滿足不同的開發專案需求。例如,資訊中心在1995年至2001 年,因應氣象業務全面電腦化的第三期計畫所需,即運用多套開源軟體組件,搭配自行開發的多項功能,以網路分散式運算系統的架構,打造一套稱之為網路資訊交換環境(Network InformationexChange Environment,NICE)的應用系統框架(application framework),藉以串接起由上游至下游多套氣象資訊系統的自動化作業流程及運作監控管理機制。
「一般而言,商業軟體大都是為特定的商務環境的應用而設計,因此無論在資料處理能力和相容性上,通常都不易契合專案研發所需,因此成熟的開源軟體套件就成為較佳的選擇。」 程家平指出:「以氣象資訊中心所開發的NICE 平台為例,即是因為當時尚無一套能涵蓋數據通訊、分散式資料存取、排程管理、作業監控與記錄、高可用機制、高速電腦銜接、大量儲存系統介接等完整功能的軟體應用系統框架,所以我們經評估後決定自行開發,而此NICE 平台現已成為支持中央氣象局整體氣象資訊系統運作的重要基礎。若以目前正興盛的開源軟體專案來類比,NICE 的整體架構除當時尚無目前如虛擬機(Virture Machine)及容器(Container)等概念的組件外,恰與目前OpenStack 的理念與所提供的功能和組件均相當類似。」
中央氣象局氣象資訊中心內部依不同的業務需求有多個系統開發小組,平時各小組依照各自專案開發需求,自行評估選用所需的開源軟體。唯若有兩個或以上的小組有類似的功能或組件開發需求時,在軟體組件儘量重複使用(software reuse)及整體系統維運成本的考量下,則會透過專案技術工作交流會議的方式,評估可選用方案的最低總擁有成本(TCO)及技術新穎性與成熟度,挑選一套共同適用的開源軟體為基礎,進行客製化的分工開發,讓寶貴的人力資源能發揮最大的效益。
Apache Hadoop 扮演幕後功臣
過去受限於單一主機設備的運算能量有限,中央氣象局的天氣預報產品產製,是以縣市為單位,但因此時各縣市區內的各種溫、濕、風、雨等氣象參數或各種雲、霧、雷、電等天氣現象相關資訊,是透過計算整個區域平均值的方式得到,對於在該區東、西、南、北邊的各子區而言,皆有地理位置代表性的差異,而增加了測報資訊不確定性,也降低了相關預報資訊的可用度。為此,中央氣象局在全台368 鄉鎮增設氣象觀測站,達到平均每鄉鎮有一個站,以在空間分布上收集更完整的氣象資訊,同時,亦推出368 鄉鎮預報的作業,提供未來48 小時每3小時一組的氣象預報資訊,以充分反映出目前中央氣象局已有能力提供鄉鎮尺度之高時間與空間密度的預報作業能力。
程家平解釋,為因應前述專案,相關氣象作業系統所收集和處理的資料量已是過去的數十倍以上,若要在短時內解析出相關資訊,勢必借重某種分散式平行運算的多機聯做相關技術的協助。而Apache Hadoop 套件即是一個方便又成熟的選擇。運用Hadoop平台提供的映射縮減(MapReduce)機制,打造一套可收集多元氣象資訊、進行快速分析計算的巨量資料平台,可大為提高城鄉預報在各地點的資料查取與處理效能,目前此套系統已能作業性的每天4 次固定產製全臺368 個鄉鎮以及原鄉部落、客庄、國家森林遊樂區、國家公園、國家風景區、農場旅遊、主要水庫、主要港口等共計千餘個固定地點的氣象預報資訊,而搭配的隨選平台則可提供任何不特定地點(或區域)以任意方式組合的氣象測報資訊查詢。
TensorFlow 及Scikit-learn 雀屏中選
中央氣象局 24 小時接收國際交換的地面、高空、雷達、衛星、海象等各種大氣觀測系統的資料,經過完整的資料彙整、模式計算、預報決策、產品製作、資訊傳布等過程,隨時提供各種氣象測報產品予民間企業和政府部門使用。為進一步提高氣象預報資料的準確度與跨領域應用的可行性,氣象資訊中心亦已著手規劃運用開源的人工智慧平台,進行大量的資料分析與評估,以進一步強化模式的系集(ensemble)後處理能力和對跨域應用資料的關聯性分析,一方面將預報的不確定性予以量化或機率化,以提高對氣象測報資訊的掌握度,另一方面也開發各種可能的跨預的應用方案,以落實氣象資訊的有效應用。
程家平說,近年來人工智慧技術的進步與成功的應用有目共睹,大量的資料配合人工智慧演算法及GPU 的高速運算能力,能夠協助人類在更短的時間內,分析處理相關資料集內許多不易凸顯的現象或未知的問題。在氣象資訊中心的規劃中,TensorFlow 和Scikit-learn 等人工智慧的工具平台是最優先的可能選擇,當然近2 年逐漸引起許多人注意的OpenAI 也是可能的選項之一。運用這些工具提供的資料分析、綜整或機器學習組件,建構能自動處理與判別資料可信度的人工智慧平台,以協助天氣預報人員更有效率的進行預報決策。
目前, 氣象資訊中心為滿足長期專案所需, 在3 年前即開始投入人力, 修改OpenStreetMap 建置中央氣象局客製化的地理資訊系統(GIS)平台,已進入最後整合測試階段,共有4 個專案將採用該平台做為相關氣象資訊的查詢與顯示介面。未來此GIS 平台正式啟用之後,相信天氣測報資訊的查找與呈現,將會更方便而迅速,也期待對國人帶來更大效益。