中國氣象報記者 張格苗
在國家和中國氣象局鼓勵科技創新的浪潮中,中央氣象臺成立天氣預報技術研發室,希望用技術手段解決那些困擾預報員多年的業務問題。
宮宇所在的天氣學診斷分析技術研發團隊看到了一個業務痛點——以前,每次重要天氣過程過後,預報員想要復盤分析研究時,就會各自去編寫代碼、搜集數據,這種分散勞動很大程度上造成了重複,浪費了寶貴的時間和精力。解決這一痛點成為他們確立的第一個目標。
一年過去了,一個等待更多天氣預報員和氣象愛好者「檢驗」的通用型天氣學診斷分析工具包(MetDig)登陸GitHub,供用戶下載使用。
MetDig 技術架構。
選擇Python,帶來意外和驚喜
計算機語言的種類很多,不同語言之間存在種種技術壁壘。而GrADS、Fortran、NCL、IDL等常用氣象分析計算機語言專業性更強,所以技術交流困難、重複勞動頻繁、技術實現標準難以統一等諸多問題無法避免。
MetDig是用Python語言寫成的。Python何許「人」也?稱其為當下最火的計算機語言也不為過。Python由荷蘭程式設計師吉多·范羅蘇姆30年前創立,後作為開源項目吸收了成千上萬人的智慧。它易於編碼,可讀性較高,使學習者和使用者不會被語言結構所困擾,在數據科學、人工智慧和機器學習流行的今天成為增長最快的主流程式語言。
正是因為開源集眾智,各行各業的程式設計師們基於Python語言開發了種類不同的程序庫,可以被「後來者」直接調用。以大氣科學為例,有人整理了常用的Python程序庫,涉及數值模式、資料同化、數據預處理和分析、可視化等的就有9個方面63個庫。
宮宇和同事原計劃直接用比較熱門的幾個庫來實現目標。結果發現,每個庫其實都有自己的獨立性,他們只好從底層代碼開始處理,進行技術整合和分析庫開發,才感覺找到了正確的路子,也因此帶來了意外之喜。就好像蓋房子,Metpy、Magics、PyNGL和wrf-python等程序庫是裝配式建築中已經成型的建築模塊,不能簡單拼湊了之,仍需建築師們按照這棟房子的要求進行針對性設計,再深挖地基,搭建良好的兼容環境,才能使房子蓋得又好又快。
不會編程,也能「私人定製」
MetDig 與生俱來的使命是支撐天氣預報及其相關研究工作,為重大天氣過程預報、復盤、機理研究等應用場景提供診斷分析技術支持。
在技術框架上,MetDig由四層組成——IO層、用戶調用層、算法層和可視化層。
IO層通過nmc_met_io自研程序庫接入我國天氣預報業務MICAPS Cassandra 和 CIMISS資料庫數據環境。
用戶調用層提供兼顧通用性和結構簡明的調用參數,讓使用者可以定製數據源、時空信息、地理信息標註等要素。
在算法層,MetDig底層基於Xarray結構,引入了NumPy、Pandas、SciPy、MetPy等熱門科學計算、大氣診斷和數據結構體等算法程序庫,此外,還包含了nmc_met_diagnostic、nmc_met_base等自研算法包。用戶可以基於我國天氣預報業務MICAPS Cassandra和CIMISS資料庫等數據環境,進行大氣診斷量計算、多維時空插值、多維數據切片和提取等常用計算。
可視化層則基於Matplotlib、Cartopy、MetPy等程序庫,可以實現常用地圖投影轉換、圖形繪製及圖形簡單交互等功能。
宮宇說,這樣的設計,對使用者更友好。即便是不會寫代碼的天氣預報員和氣象愛好者,也可以通過MetDig輸入自己需要的時間、地點、數據來源等信息,得到一個清晰明了的可視化結果,而不必在意背後的代碼是如何運行的。
要做天氣診斷分析利器
MetDig並非第一次走進用戶,中央氣象臺的預報員們就是第一批「體驗官」。一年裡,研究團隊邊研發邊試用,收到反饋再改進,才有了現在的MetDig,可以為用戶提供等壓面、等熵面、Miller綜合圖、時間剖面、空間剖面、點等多維度類型的診斷分析圖形分析。
有需求的預報員和氣象愛好者可以登錄Github網站下載安裝應用。中央氣象臺通過搭建Jupyterhub系統,實現了對MetDig 的雲計算和可視化應用。這樣的應用流程具有較好的用戶友好性,功能上比較靈活,容易拓展,用戶無需在本地機器安裝MetDig 和任何特定系統環境,僅需通過瀏覽器打開Jupyterhub地址,即可通過MetDig 用戶調用層實現在線分析。
在Python豐富在線技術資源的支持下,後臺管理員「掌握」的功能也很強大。他們可以通過更新MetDig,快速實現新功能的接入應用,使新技術從研究到應用的距離大大縮短。而且,預報員如果對某種災害性天氣的物理機制有足夠理解,對該類天氣有清晰的預報思路,也可以更好地通過Jupyterhub將MetDig「為我所用」,可通過編輯診斷分析腳本集對各類天氣的認識於一體,幫助有針對性地聚合預報關鍵信息,打造更方便快捷的天氣診斷分析平臺。
在宮宇和團隊成員的設計中,未來MetDig 將繼續引入新的診斷分析理論和方法,逐步發展物理量計算、天氣系統客觀識別、三維時空結構特徵提取、數值模式誤差來源捕捉與追蹤、環流型聚類降維等技術,對不同季節、環流、地形條件下天氣系統的精細化診斷分析提供支撐;面向數值模式的歷史、實時、零場和預報的天氣學檢驗評估,進一步實現從海量模式預報數據中對暴雨(雪)、強對流、颱風、霧霾等災害性天氣的概念模型構建、預報關鍵特徵、結構演變等信息的獲取。
「MetDig目前還處於起步階段,在運行速率、對歷史過程分析的支撐、交互性和通用性的平衡規劃、圖形表達效果等方面還需進一步改進,我們期待通過用戶的應用反饋來不斷完善它,通過開放的交流和努力,MetDig 工具箱能夠成為一個包羅萬象的天氣診斷分析利器。」宮宇說。
(來源:《中國氣象報》2020 年3月16日三版 責任編輯:王美麗)