WRF(Weather Research and Forecasting Model)是由美國環境預測中心(NCEP)及美國國家大氣研究中心(NCAR)等一系列美國科研機構合作開發的一款中尺度數值天氣預報模式,因具有可移植、可擴充、易維護及高效率等優勢,使其在國內外都得到了廣泛的應用。但由于本地 WRF 模式的運行需要基于 Linux 系統,全流程上的編譯、安裝、前處理、運行及分析過程都具備相當程度的復雜性,因此給相關研究人員帶來了不少實操上的困難。
基于此,本文將介紹一種基于云端數據科學協同平臺——ModelWhale 的 WRF 模式,在一定程度上多角度多方面地解決上述問題,以期為大氣科學領域的研究者們提供更為便捷、實操性更強的中尺度天氣預報模式,助力相關科學研究的可持續發展。
一、傳統基于小型計算機本地的 WRF 模式
天氣與氣候變化是生態環境領域重要的研究對象,對其具備合理的認知是進行生態、環境及能源評估與規劃的先決條件,因此,有關天氣預報與氣候模擬的應用正不斷被擴展并深入,WRF 中尺度數值天氣預報模式應運而生。
該模式采用 Fortran90 語言編寫,因此即使是在不同的平臺,只要擁有版本適用的 Fortran 編譯器,就可使該模式的源代碼得到編譯層面的移植,這使其具備了靈活、易維護、可擴展及能夠適用于廣泛的計算平臺等特征。除此之外,相較于其他氣候模式,WRF 模式具有先進的數據同化技術、功能強大的嵌套能力及先進的物理過程,使其在對流與中尺度降水處理能力等方面更具優勢。
隨著 WRF 模式的高速發展,其基于分辨率的適用范圍與基于模式模塊的應用范圍都變得更為廣泛。作為大氣科學領域實際業務與科學研究場景中不可或缺的工具之一,WRF 模式在區域氣候模擬、空氣質量模擬、海氣耦合及理想實驗模擬中都發揮了重要的作用。
傳統基于小型計算機本地 WRF 模式運行過程中現存的問題
WRF 模式由四部分組成,即預處理系統(WPS,用于將數據進行插值與模式標準初始化、定義模式區域及選擇地圖投影方式)、資料同化系統(WRFDA,包括三維變分同化)、動力內核即主模塊(ARW/NMM)及后處理系統(圖形軟件包)——作為由多個極為復雜的組件構成的應用,WRF 模式的安裝過程極為復雜,運行過程也極為耗時。
首先,針對安裝過程,WRF 模式除了需要提前配置 Linux 操作系統,還需準備大量依賴庫,如在安裝 WPS 時還需安裝 zlib、libpng 及 Jasper 用以讀取 GRIB2 格式的氣象數據,安裝主模塊前也需安裝 Intel Fortran、netCDF4 及 HDF5 支持庫,若有并行運算的需求,還需安裝 OpenMPI 或 MPICH。在傳統小型服務器上,一般采用 sudo apt-get install 命令安裝軟件,并進入 bashrc 設置對應軟件與庫路徑的環境變量,十分麻煩,且常因軟件版本、相互依賴關系及系統環境的兼容性問題導致安裝報錯,耗費過多的時間。
而針對 WRF 模式的運行過程,若使用傳統單 CPU 單核的個人單機作為載體,即便是常規項目,往往也需要運行一天以上,同時,還極易出現運行報錯或電腦崩潰等其他問題,極大程度上拖慢了數據生產效率,消耗科研人員過多的時間與精力。
為減小安裝困難、彌補算力不足,除了在已經完成環境布置的實驗室電腦、大型機或超級計算機上直接運行 WRF 模式,可行性與實操性更強的方法是將個人單機接入超算中心遠程訪問,又或是選取一已預裝相關鏡像的在線大數據平臺,在線完成全套 WRF 模式的運行與結果輸出。本文就將介紹一種基于云端數據科學協同平臺——ModelWhale 的 WRF 中尺度數值天氣預報模式。
二、基于云端數據科學協同平臺 ModelWhale 的 WRF 模式
ModelWhale 是和鯨科技旗下的一款數據科學協同平臺,集數據管理、建模分析、模型訓練管理、算力資源管理及任務管理等功能于一身,支持 Python 及 R 等編程語言,通過逐級開放的數據基礎設施與 Jupyter Notebook 交互式、Canvas 拖拽式、CloudIDE 三種分析模式及即開即用的云端分析環境,為各領域科研工作者及團隊解決數據安全應用、底層工程繁復及研究成果流轉復現困難等問題,從而使數據驅動的研究更為便捷高效。若是能夠在 ModelWhale 上運行 WRF 模式,那么該云端數據科學協同平臺能夠在以下幾個方面為大氣科學家們予以技術上的支持,大大提升他們的科研效率:
ModelWhale 為大氣科學家們提前預設“WRF 鏡像”
ModelWhale 在后臺為用戶們定制了“WRF 鏡像”,該鏡像中已預裝了與 WPS 及 WRF 系統相關的絕大部分依賴庫及程序模塊?;谠撈脚_的在線 Jupyter Notebook 運行 WRF 模式時,研究人員只需選擇“WRF 鏡像”,即可在快速調用一系列依賴庫后,對程序模塊完成編譯,換句話說,不需要任何復雜的操作,只需選擇鏡像 - 等待數分鐘依賴庫調用與程序模塊編譯的完成,即可結束 WRF 模式所有的“安裝”步驟,極大程度上減小了 WRF 模式開始運行的技術門檻。
ModelWhale 為模式研究者們提供多規格的云端算力
ModelWhale 提供云算力的租賃服務,用戶們可按需選擇各種規格的 CPU 計算資源。
曾有研究將 WRF 模式構建于 32 核的 Linux 集群系統并進行了并行計算實驗,結果表明:當處理器個數逐步增加至 16 時,WRF 模式運行的總時間隨個數的增加單調減少;而隨著處理器個數從 16 繼續增加至 26 時,模式運行的總時間趨勢上雖在總體減小,但變化并不明顯,且存在一定的起伏。可以說,在成本可控的范圍內, 16 核64G的 CPU 計算資源在 WRF 模式的運行過程中具有很高的時間效率,能夠成倍節省大氣科學家們的研究時間。
ModelWhale 能夠提供高階云端算力的接口,完成付費后,研究人員即可在個人單機上應用各種規格的 CPU 計算資源運行 WRF 模式。
以上,通過鏡像配置與算力配置,基本可以解決傳統基于小型計算機本地的 WRF 模式在運行過程中易出現的安裝困難及計算資源不足等問題。
ModelWhale 支持多類型本地數據的上傳接入與超大數據的云上調用
對比實驗室大型機或超算中心,ModelWhale 還具備云端數據掛載功能,幫助推進 WRF 模式運行前的數據準備工作。
一般而言,驅動 WRF 模式運行最為基礎的數據包含地形數據與初始氣象場數據(指 GFS 數據與 FNL 數據),兩者均須從相關網站有選擇地下載至個人單機本地,再通過硬盤或其他方式數次轉移至不同的實驗室大型機或超算中心,十分耗時。但若將兩種數據掛載到云端,那么僅需一次下載+上傳的操作,就能夠實現數據的多次復用與團隊共享,使用時,待數據掛載完成后直接調用即可,不再需要多余的數據轉移步驟。目前,若使用的數據量不大,即可以數據集的形式進行掛載(ModelWhale 后臺也提供部分相關數據集)。
但事實上,地形數據是不隨時間變化的靜態數據集,一次接入后可用于后續所有的模擬過程,而初始氣象場數據每日更新的時間點與頻率是固定的,對其進行定時爬取也是可操作的。未來,隨著基于 ModelWhale 的 WRF 模式受眾逐漸變多變廣,ModelWhale 也將以 NAS 空間的形式掛載全部的地形與初始氣象場數據,由專人進行云端數據的長期維護。研究人員在運行 WRF 模式的過程中直接按需調取即可,進一步省去了從 NCEP 等官網下載到上傳云端平臺的步驟,輕松實現對超大氣象數據的研究與分析。
ModelWhale 的不同功能模塊協助研究人員全方位優化 WRF 模式運行的工作流程
ModelWhale 本身具備的其他功能還能夠實現WRF 模式運行工作流的優化,減少底層工作的繁復,全方位減輕研究人員的各種負擔。
對于個人研究者:
例如對于個人研究者而言,ModelWhale 除了能夠提供上述的環境、算力及數據,其 Jupyter Notebook 還具備優秀的版本管理功能——面對 WRF 模式運行過程中需要多次修改與迭代的研究參數,如若打算保留每個版本,就需在每次修改前創建副本并重新命名,最終很可能導致研究者本人都無法區分有效的版本成果。
而 ModelWhale 支持為復雜研究項目的階段性工作進行版本管理,提供了生成項目版本、版本比對、內容替換及合并版本的功能,針對每處修改,研究人員都可以實現文件級回退與 Cell 級回溯。
對于團隊研究者:
而對于團隊研究者而言,ModelWhale 除了助力項目級代碼編寫上的共同協作,更重要的是能夠協助進行生產資料的共享管理,促進團隊內部的合作協同,助推研究成果的復現工作。在 ModelWhale 團隊版的團隊空間中,后臺提供了團隊的共享視圖,管理者們可以靈活地對各類研究課題、算法項目、分析任務進行分工拆解、任務分配、數據接入、資源分配、進度監控、成果驗收及成果復用等項目管理工作。
簡而言之,對于 WRF 模式所需的環境、算力及數據,管理者們既能夠使其在團隊內部實現流轉與共享,也能夠對其進行管理與控制,保障數據安全的同時避免資源的浪費。而對于 WRF 模式跑通后的代碼文件與研究成果,同樣可在團隊中進行成果復現——權限允許的情況下,可對他人已發布的科研成果進行一鍵 Fork,甚至可查詢其歷史版本,實現組織內部的有效協作,大大提升工作效率。
在課題研究完成后,科研人員團隊可以選定運行時的分析環境、掛載的數據集及最終的代碼版本,將生產要素全部整合在一起,并補充一定的文字說明,沉淀至組織的課題成果庫中。
此外,ModelWhale 團隊版還可升級為科研版與教研版??蒲邪嬷饕獜娜蝿找巹澕八惴◣斓裙δ苣K簡化研究工作的復雜程度,低門檻上手數據分析工作的同時拓展數據研究的邊界,實現多人、多角色、隨時隨地協同進行數據驅動的相關研究;教研版則主要實現教科研一體化,兼備課題管理與課程管理的功能,實現靈活的群組管理機制,助力從學到研、從研到學的雙向角色轉換。
ModelWhale 同樣能夠對 WRF 模式的輸出進行可視化后處理與機器學習后加工
在整個 WRF 模式跑通結束后,針對所輸出的 NetCDF數據(nc 數據),ModelWhale 還能夠提供可視化后處理與機器學習模型訓練后加工功能,真正實現了 WRF 模式的一體化工作流。
可視化是連接 WRF 模式結果輸出與結果展示的橋梁,基于 ModelWhale 的 Jupyter Notebook 使用 Python 進行 WRF 模式的可視化流程一般可以包括,通過 netCDF4 庫對 nc 數據進行簡單讀寫與處理、使用 NumPy 庫進行經緯度換算、通過 Cartopy 與 Matplotlib 庫對數據進行可視化、使用 Matplotlib 庫繪制圖片細節等。
除可視化之外,ModelWhale 還能夠提供模型訓練功能,支持運用機器學習對 WRF 模式預報結果做數據后加工處理。眾所周知,機器學習正在氣象領域發揮巨大的作用,結合傳統物理模式與機器學習模型訓練的智慧天氣預報因具備(時空)高分辨率、高準確率而逐步成為天氣預報的主流形式。若能結合機器學習的訂正技術對 WRF 模式的結果做校準優化,無疑是極大程度地提升了預報成果的質量,而基于 ModelWhale 的 Jupyter Notebook,大氣科學家們即可輕松在云端按需進行模型訓練與模型調用。
當然,在傳統個人單機并非不能進行 WRF 模式的后處理與后加工,而將 ModelWhale 作為上述操作的載體,除了其具備諸如版本管理及團隊協作等錦上添花的功能,最為主要的原因是能夠免去研究者們對于 nc 數據轉移與轉化的過程,只需將 WRF 模式跑通輸出的數據集直接掛載,即可隨時開始后處理后加工,避免了基礎工作的繁復。
ModelWhale 已為多家高校與機構提供 WRF 模式的相關服務
目前,ModelWhale 已為不少高校與機構提供 WRF 模式的相關服務,助力其在大氣科學領域進行教學、科研及應用實操。
鄭州大學的 Z 老師基于 WRF 模式的授課需求,采購了 ModelWhale 教研版產品,ModelWhale 為 Z 老師提供了為期數月的 WRF 模式云端教學實訓平臺服務。過程中,該產品不僅能夠協助 Z 老師帶領研究生們跑通基礎的 WRF 模式、進行必要的 nc 數據后處理后加工、低門檻復現已有的研究成果并完成教學過程中的各項小組實訓與作業,更是能夠幫助 Z 老師進行課程管理,使教學準備更為豐富完善、授課過程更為高效流暢、課后評估更為專業便捷。
而云南大學的 S 老師主要通過 ModelWhale 產品支持其課題組的科研工作,于云端進行包括但不限于 WRF 的模式分析。ModelWhale 為 S 老師提供了各模式所需鏡像,并配有技術顧問全程協助、解答疑難,最終打造了一款能夠全線適用于該課題組的云端科研空間,提供數據存儲及算力資源等服務的同時,協助其跑通各氣象預報模式并進行可視化后處理與機器學習后加工,滿足了碩博研究生們日常的科研任務。
事實上,ModelWhale 作為一款數據科學協同平臺,在大氣科學領域具備相當的經驗——來自國家、地方氣象局的諸多氣象研究人員也正使用 ModelWhale 產品作為其進行氣象大數據挖掘分析與機器學習的協同工具,ModelWhale 也因此收獲了各位大氣科學家們的正向反饋。
三、歡迎廣大研究人員使用 ModelWhale 在線運行 WRF 模式
本文介紹了一種基于云端數據科學協同平臺 ModelWhale 的 WRF 模式,極大程度上緩解了傳統基于小型計算機本地的 WRF 模式在安裝與運行等方面出現的問題。除此之外,ModelWhale 所具備的資料管理及成果復現等功能更是能夠幫助提升工作效率,同時,平臺還能夠協助科研人員對 WRF 模式生產的數據進行可視化后處理與機器學習后加工,真正實現工作流一體化的操作。
目前,ModelWhale 平臺為氣象及相關領域的研究者們免費提供跑通 WRF 模式的鏡像與算力,歡迎大家動手實操,有意向的師生請【聯系 ModelWhale 的產品顧問 MoMo】,MoMo 將提供一應的配置支持服務與相關項目資源,協助用戶們快速上手實操。