趙春燕,孫 婧,胡江凱,周 斌
(1.國家氣象信息中心高性能計算室,北京 100081; 2.中國氣象局地球系統(tǒng)數(shù)值預(yù)報中心業(yè)務(wù)運行室,北京 100081)
數(shù)值天氣預(yù)報是氣象核心業(yè)務(wù),經(jīng)過20多年的持續(xù)發(fā)展,中國氣象局已建立了從全球到對流尺度、短時到中期、確定性到集合預(yù)報的國家級數(shù)值天氣預(yù)報業(yè)務(wù)[1-2]體系,以及次季節(jié)-季節(jié)-年際尺度一體化氣候模式預(yù)測業(yè)務(wù)[3]系統(tǒng)。隨著氣象科學(xué)進(jìn)入地球系統(tǒng)時代[4],全球數(shù)值預(yù)報正朝向基于地球系統(tǒng)科學(xué)框架下的多圈層耦合地球數(shù)值預(yù)報模式系統(tǒng)發(fā)展,中國氣象局于2021年9月30日成立了地球系統(tǒng)數(shù)值預(yù)報中心,聚合全國數(shù)值模式研發(fā)核心力量,共同發(fā)展天氣氣候一體化的地球系統(tǒng)數(shù)值預(yù)報系統(tǒng)。
高性能計算[5]在基礎(chǔ)科學(xué)研究領(lǐng)域已成為不可或缺的重要手段之一[6],當(dāng)前,中國氣象局的數(shù)值預(yù)報模式研究調(diào)試和業(yè)務(wù)運行基于“派-曙光”高性能計算系統(tǒng)[7]開展?!芭?曙光”峰值計算能力約為8 PFLOPS,物理容量約為23 PB,設(shè)有通用CPU的子系統(tǒng)和支撐GPU、眾核異構(gòu)計算的試驗子系統(tǒng)。高性能計算是典型的交叉學(xué)科,內(nèi)容涉及計算機(jī)科學(xué)、計算數(shù)學(xué)、行業(yè)領(lǐng)域知識。面向氣象科學(xué)的數(shù)值模式的研發(fā)過程是一個復(fù)雜的系統(tǒng)工程,往往需要十幾年或者更長時間的持續(xù)發(fā)展,需要從事氣象科學(xué)、數(shù)學(xué)、計算機(jī)等多方面的科研人員的共同努力。隨著E級計算[8-9]和后摩爾時代的發(fā)展[10],高性能計算機(jī)的系統(tǒng)架構(gòu)[11]、軟件生態(tài)、編程方式[12]均將發(fā)生變化[13],模式研發(fā)應(yīng)用門檻進(jìn)一步提高,模式的研發(fā)過程將成為更加復(fù)雜的協(xié)同工程。國際主要氣象機(jī)構(gòu)如歐洲中期數(shù)值天氣預(yù)報中心(ECMWF)、英國氣象局、美國國家航空航天局等均持續(xù)發(fā)展了用于支撐氣象數(shù)值模式發(fā)展的綜合支撐環(huán)境,用于簡化科學(xué)家的研究過程。如ECMWF的OpenIFS[14],是面向歐盟成員國研究人員開展IFS模式應(yīng)用研究的一體化數(shù)值模擬試驗工具。英國氣象局也建立了定制化的模式協(xié)同配置管理系統(tǒng)[15],以提升協(xié)同效率。美國國家航空航天局(NASA)的NED[16](NASA Experiment Designer),用于向NASA的科學(xué)家提供在超算上可視化的配置、運行、監(jiān)控和管理復(fù)雜模式試驗的系統(tǒng)。
國家級天氣、氣候模式,區(qū)域級北京、上海、廣東等模式的研發(fā)力量分散在全國,模式的研發(fā)根據(jù)攻關(guān)方向創(chuàng)建不同的研發(fā)組,在下一代地球系統(tǒng)數(shù)值預(yù)報系統(tǒng)融合發(fā)展的聯(lián)合攻關(guān)中,模式研發(fā)人員對高性能計算平臺的使用、模式研發(fā)的協(xié)同共享效率、研發(fā)向業(yè)務(wù)轉(zhuǎn)化[17]的效率、研發(fā)成果的持續(xù)管理,都將是支撐模式高質(zhì)量發(fā)展的關(guān)鍵問題。
本文針對氣象數(shù)值模式研發(fā)協(xié)同面臨的需求和挑戰(zhàn),從協(xié)同管理支撐平臺環(huán)境建設(shè)、模式研發(fā)流程管理、集成共享、成果管理、調(diào)試試驗全流程開展應(yīng)用研究。
圍繞模式研發(fā)調(diào)試所在的“派-曙光”高性能計算機(jī)系統(tǒng)環(huán)境,設(shè)計建立支撐模式研發(fā)協(xié)同管理的支撐環(huán)境,總體設(shè)計如圖1所示,包括基于Git的氣象數(shù)值模式代碼管理平臺METCODE[18],用以支持研發(fā)協(xié)同共享管理,以及數(shù)值預(yù)報中試平臺[19],用以簡單便捷地支撐數(shù)值模式調(diào)試試驗及業(yè)務(wù)化過程。
圖1 “派-曙光”高性能計算環(huán)境模式協(xié)同研發(fā)管理支撐環(huán)境設(shè)計
中國氣象局“派-曙光”高性能計算機(jī)系統(tǒng)為當(dāng)前的數(shù)值預(yù)報模式研發(fā)和業(yè)務(wù)運行平臺,為Cluster架構(gòu),設(shè)有計算節(jié)點、前后處理節(jié)點、管理節(jié)點和登錄節(jié)點以及Parastor并行文件系統(tǒng),內(nèi)部計算網(wǎng)絡(luò)采用InfiniBand高速計算網(wǎng)絡(luò)互聯(lián)。為了合理管理并提高資源利用效率,在“派-曙光”高性能計算機(jī)系統(tǒng)子系統(tǒng)中劃分了作業(yè)隊列來管理不同模式的作業(yè)的提交分區(qū)。系統(tǒng)配置了專業(yè)的基礎(chǔ)軟件,包括編譯器、并行編譯開發(fā)環(huán)境、氣象應(yīng)用軟件等,模式研發(fā)人員通過局域網(wǎng)接入“派-曙光”高性能計算機(jī)系統(tǒng)的登錄節(jié)點訪問超算資源。在傳統(tǒng)方式下,模式研發(fā)人員基于高性能計算機(jī)系統(tǒng)開展模式的開發(fā)、編譯、運行模擬試驗及試驗結(jié)果分析。
氣象數(shù)值模式代碼管理平臺METCODE基于Git集成實現(xiàn),由云端代碼管理共享協(xié)作平臺和云端集成開發(fā)工具組成。圍繞研發(fā)流程提供項目管理、分布式代碼管理、文件管理、知識管理及集成部署等功能,云端集成開發(fā)環(huán)境支撐Web在線協(xié)同編輯。根據(jù)模式研發(fā)力量的分布式的特點,支持氣象部門中國氣象局研發(fā)人員(局域網(wǎng))、區(qū)域中心的研發(fā)人員(互聯(lián)網(wǎng)、氣象專網(wǎng))和外部合作研發(fā)單位(互聯(lián)網(wǎng))的合作研發(fā)管理機(jī)制,采用Web統(tǒng)一域名訪問,設(shè)計實現(xiàn)局域網(wǎng)和互聯(lián)網(wǎng)代碼庫分支級別的數(shù)據(jù)同步,以支持內(nèi)外部模式研發(fā)人員合作研發(fā)成果的集成共享。在“派-曙光”高性能計算機(jī)系統(tǒng)登錄節(jié)點部署Git客戶端接入METCODE平臺,支撐模式研發(fā)的版本控制、協(xié)同及集成共享。
數(shù)值預(yù)報中試平臺支撐可視化交互式氣象數(shù)值模式模擬的“建模-計算-分析-管理-共享”全流程一體化的集成應(yīng)用,屏蔽高性能計算平臺的細(xì)節(jié),簡化研發(fā)人員與資源平臺的交互,解決研發(fā)調(diào)試試驗難以管理復(fù)現(xiàn)、缺乏管理監(jiān)控、結(jié)果分析及參數(shù)對比困難等問題。集成了METCODE平臺訪問,研發(fā)人員通過交互界面獲取代碼庫的代碼版本,構(gòu)建試驗流程和參數(shù),由中試平臺根據(jù)交互情況自動構(gòu)建全流程工作流并部署到“派-曙光”高性能計算環(huán)境調(diào)度執(zhí)行,提供一站式結(jié)果檢驗評估分析,支持模擬試驗的管理和共享,促進(jìn)模式的協(xié)同眾創(chuàng),支撐模式調(diào)試試驗及業(yè)務(wù)化。
氣象數(shù)值模式的研發(fā)是持續(xù)改進(jìn)型的大型協(xié)同工程,如圖2所示。規(guī)范計劃要求每年進(jìn)行2次改進(jìn)升級,每次迭代過程包括研發(fā)過程及調(diào)試試驗、集成過程及調(diào)試試驗、定版試驗,經(jīng)業(yè)務(wù)化平行試驗、回算試驗以及業(yè)務(wù)試運行,最終進(jìn)行業(yè)務(wù)化應(yīng)用,研發(fā)向業(yè)務(wù)轉(zhuǎn)化需經(jīng)多輪嚴(yán)格的試驗和試運行評估,與研發(fā)版本定版有一定的滯后期。
圖2 氣象數(shù)值模式研發(fā)迭代升級過程
氣象數(shù)值模式的研發(fā)過程是一個規(guī)模龐大、過程復(fù)雜的系統(tǒng)工程,聚合了分散在全國的數(shù)百人協(xié)同參與。采用矩陣型項目組織管理方式,按照天氣、氣候的大分類分單位或部門協(xié)同,天氣、氣候內(nèi)部按照攻關(guān)方向成立不同的研發(fā)組,每個研發(fā)組由多名模式研發(fā)人員組成,呈現(xiàn)分布式、多層級的協(xié)同,業(yè)務(wù)化過程及業(yè)務(wù)運行維護(hù)由專門的運行團(tuán)隊負(fù)責(zé)。需要建立與組織結(jié)構(gòu)相適應(yīng)的研發(fā)管理流程,規(guī)范研發(fā)過程,提高研發(fā)協(xié)同效率。
流程和分支的建立,使模式研發(fā)協(xié)同過程可追溯、可管理、可留存。按照數(shù)值預(yù)報模式組織架構(gòu),設(shè)立研發(fā)專家組、研發(fā)小組、集成小組、管理小組和業(yè)務(wù)運行小組,并設(shè)立分支管理不同組織層級的代碼管理協(xié)作。分支管理策略是版本管理中各個分支與分支之間的管理方式和流程,包括個人分支、團(tuán)隊分支、研發(fā)分支、集成分支、主線分支、修復(fù)分支和業(yè)務(wù)分支,如圖3所示。個人分支用于個人研發(fā)成果版本的管理,團(tuán)隊分支用于研發(fā)小組團(tuán)隊研發(fā)成果版本的管理,個人分支和團(tuán)隊分支統(tǒng)稱為研發(fā)分支。集成分支用于各團(tuán)隊分支研發(fā)成果總集成協(xié)作和管理,主線分支用于數(shù)值模式發(fā)布版本的管理,修復(fù)分支用于數(shù)值模式發(fā)布版本中問題版本修復(fù)的管理,業(yè)務(wù)分支用于數(shù)值模式業(yè)務(wù)版本的管理。多級分支的設(shè)立,可以保證任何級別的研發(fā)成果都被長期保存。任何研發(fā)成果,使用的可以激活,尚不成熟的,可以不激活而長期保留,以支持模式的持續(xù)改進(jìn)發(fā)展。
圖3 模式研發(fā)流程
研發(fā)流程上,新版本發(fā)布后,研發(fā)分支同步最新的版本,研發(fā)人員在個人分支上開展研發(fā)和管理,研發(fā)成果集成到團(tuán)隊分支,可跨組交叉集成共享,各個團(tuán)隊的研發(fā)成果通過集成分支進(jìn)行總集成,進(jìn)行集成試驗和定版試驗,業(yè)務(wù)運行小組開展平行試驗、回算試驗后,集成到主線分支發(fā)布新版本。業(yè)務(wù)運行小組經(jīng)主線獲取最新版本到業(yè)務(wù)分支,并進(jìn)行業(yè)務(wù)自動化工作流開發(fā),開展業(yè)務(wù)試運行和檢驗,通過業(yè)務(wù)化評審后進(jìn)入業(yè)務(wù)運行。在試驗階段發(fā)現(xiàn)的問題,通過從主線分支檢出修復(fù)分支修復(fù)后,合并回主線并同步到其他分支。
制定支撐研發(fā)協(xié)同的相關(guān)規(guī)范,包括編程標(biāo)準(zhǔn)、版本命名標(biāo)準(zhǔn)、分支規(guī)范、變更控制規(guī)范和業(yè)務(wù)化規(guī)范。在持續(xù)性改進(jìn)型的項目管理中,分支和管理規(guī)范是決定代碼成果清晰、協(xié)同高效的關(guān)鍵。
2.3.1 編程標(biāo)準(zhǔn)
編程標(biāo)準(zhǔn)是提高代碼質(zhì)量的重要途徑,簡潔、高效、可維護(hù)、可測試的代碼是支撐模式持續(xù)改進(jìn)的基礎(chǔ)。編程標(biāo)準(zhǔn)包括代碼格式、標(biāo)識符命名與定義、函數(shù)編程標(biāo)準(zhǔn)、高質(zhì)量注釋標(biāo)準(zhǔn)。采用統(tǒng)一的編程風(fēng)格和標(biāo)準(zhǔn),對大規(guī)模協(xié)同、持續(xù)改進(jìn)至關(guān)重要。
2.3.2 版本命名標(biāo)準(zhǔn)
2021年9月22日,中國氣象局辦公室發(fā)布了數(shù)值預(yù)報業(yè)務(wù)模式統(tǒng)一規(guī)范命名的通知,GRAPES[2]全球同化預(yù)報系統(tǒng)(GRAPES_GFS)調(diào)整為中國氣象局全球同化預(yù)報系統(tǒng)(CMA-GFS,CMA全球天氣模式),GRAPES區(qū)域中尺度數(shù)值預(yù)報系統(tǒng)(GRAPES_MESO)調(diào)整為中國氣象局中尺度天氣數(shù)值預(yù)報系統(tǒng)(CMA-MESO,CMA區(qū)域模式)。模式版本號標(biāo)準(zhǔn)格式為<主版本號>.<次版本號>.<內(nèi)部修訂版本號>,每部分的描述如表1所示。
表1 模式版本號命名說明
2.3.3 分支規(guī)范
融合業(yè)內(nèi)3種常用的分支策略,基于模式研發(fā)的組織架構(gòu)與流程建立數(shù)值預(yù)報模式分支規(guī)范,包括代碼庫分支的結(jié)構(gòu)和分支的命名規(guī)則。分支構(gòu)建和集成步驟如圖4所示。
1)管理小組創(chuàng)建項目后,初始化項目代碼倉庫,建立master分支;由集成小組基于master分支切分出CMA-GFS模式主分支和CMA-MESO模式主分支,分別作為中國氣象局全球同化預(yù)報系統(tǒng)模式和中國氣象局中尺度天氣數(shù)值預(yù)報系統(tǒng)模式的研發(fā)主分支;由管理小組將當(dāng)前CMA-GFS和CMA-MESO最新版本代碼分別提交到CMA-GFS分支和CMA-MESO分支,并添加基礎(chǔ)版本標(biāo)簽,例如“CMA-GFS3.2”。
2)由團(tuán)隊分支管理員從CMA-GFS(模式主分支)上切出本研發(fā)組的分支,并按照團(tuán)隊分支命名規(guī)則定義本分支的名稱,團(tuán)隊分支命名規(guī)則為:
3)團(tuán)隊內(nèi)成員從主線分支或團(tuán)隊分支上檢出個人分支,并按照個人分支命名規(guī)則定義個人分支名稱。成員即可開始在自己創(chuàng)建的個人分支上進(jìn)行代碼的開發(fā)和修改。個人分支命名規(guī)則為:
4)成員在個人分支上開發(fā)代碼,在個人分支上生成不同的版本。
5)個人階段性成果,由個人向團(tuán)隊分支發(fā)起代碼合并請求,將個人分支的代碼合并到團(tuán)隊分支,測試驗證后,可添加標(biāo)簽標(biāo)識版本,形成團(tuán)隊內(nèi)發(fā)布版本形成團(tuán)隊發(fā)布分支。
6)研發(fā)團(tuán)隊階段性成果,由團(tuán)隊向集成小組發(fā)起代碼合并請求,完成在集成分支的合并集成。
7)總集成后,經(jīng)多種測試檢驗,集成小組向研發(fā)專家組提交版本發(fā)布申請,審批通過后在主分支上進(jìn)行版本發(fā)布并在主分支上添加版本標(biāo)簽,標(biāo)簽命名的規(guī)則與模式版本號命名規(guī)則一致。
8)業(yè)務(wù)運行小組從主分支檢出新版本,進(jìn)行業(yè)務(wù)運行開發(fā),開展業(yè)務(wù)試運行,業(yè)務(wù)上線后轉(zhuǎn)入運維階段。業(yè)務(wù)分支的命名規(guī)則為:
9)業(yè)務(wù)運行發(fā)現(xiàn)的bug或研發(fā)過程發(fā)現(xiàn)的bug經(jīng)主線檢出修復(fù)分支修復(fù)后,同步到該版本的各個分支。修復(fù)分支刪除。
圖4 模式分支管理規(guī)范
2.3.4 變更控制規(guī)范
對于持續(xù)型改進(jìn)項目的代碼協(xié)同,規(guī)范的變更控制極其重要,約束每次變更的規(guī)范程度,包括每次變更的提交規(guī)范、變更流程相關(guān)規(guī)范。變更提交規(guī)范需準(zhǔn)確描述本次變更的概述、影響和效果,便于閱讀、集成和發(fā)布版本時制作版本升級說明。
2.3.5 業(yè)務(wù)化規(guī)范
業(yè)務(wù)系統(tǒng)需符合版本號命名規(guī)則以及系統(tǒng)的數(shù)據(jù)輸入輸出接口、產(chǎn)品命名及格式等業(yè)務(wù)標(biāo)準(zhǔn)和規(guī)范,符合業(yè)務(wù)時效的自動化工作流,具有完整的系統(tǒng)文檔、故障應(yīng)對流程。
模式的研發(fā)成果需要基于氣象高性能計算環(huán)境進(jìn)行編譯、計算和分析,以評估預(yù)報效果。在模式研發(fā)流程中,涉及個人研發(fā)試驗、集成試驗、定版試驗、業(yè)務(wù)化平行試驗和回算試驗等。試驗過程包括源碼獲取、編譯、參數(shù)化方案配置、數(shù)據(jù)準(zhǔn)備、運行、檢驗分析和診斷,且涉及不同試驗的對比分析評估。各類模式的運行均采用腳本調(diào)用方式,來控制循環(huán)、單次運行、進(jìn)行參數(shù)設(shè)置和參數(shù)計算處理、提交作業(yè)等。通過數(shù)值預(yù)報中試平臺的集成,銜接模式協(xié)同研發(fā)的源碼、調(diào)試試驗的各個環(huán)節(jié)。
3.1.1 技術(shù)架構(gòu)
METCODE代碼協(xié)作管理平臺為B/S架構(gòu),采用容器技術(shù),基于微服務(wù)實現(xiàn)多組件的集成和Git代碼庫管理,高性能計算機(jī)上的Git命令行與METCODE交互,METCODE向數(shù)值預(yù)報中試平臺提供代碼訪問接口。數(shù)值預(yù)報中試平臺用戶交互界面采用wxPython[20]框架實現(xiàn),服務(wù)端采用Python開發(fā),客戶端與服務(wù)端的通信采用RabbitMQ[21]消息中間件,信息管理采用數(shù)據(jù)庫,采用ecFlow[22]工作流引擎及ecFlow API[23]作業(yè)流程化調(diào)度管理并分發(fā)作業(yè),技術(shù)架構(gòu)如圖5所示。
圖5 模式研發(fā)協(xié)同支撐平臺技術(shù)架構(gòu)
3.1.2 試驗自動化構(gòu)建運行技術(shù)
數(shù)值預(yù)報中試平臺的服務(wù)端為實現(xiàn)協(xié)同的核心,銜接從代碼、試驗、分析的一體化過程,實現(xiàn)用戶交互的后端自動化過程,包括在高性能計算機(jī)系統(tǒng)上構(gòu)建運行環(huán)境、模式源碼部署、模式源碼編譯、模式運行等。構(gòu)建運行實現(xiàn)邏輯如圖6所示。
1)服務(wù)端在高性能計算機(jī)系統(tǒng)構(gòu)建試驗空間,包括試驗ID目錄、源碼目錄和運行目錄。
2)服務(wù)端解析界面參數(shù)并從代碼庫獲取源代碼程序,部署到試驗空間。
3)服務(wù)端解析界面參數(shù)生成工作流定義及參數(shù)文件至試驗空間,并代入工作流任務(wù)組件。
4)服務(wù)端執(zhí)行工作流加載、提交命令,工作流引擎調(diào)度工作流運行。
5)工作流編譯任務(wù)執(zhí)行模式安裝編譯、運行時空間創(chuàng)建。
6)工作流運行任務(wù)調(diào)度模式作業(yè)運行。
圖6 試驗自動化構(gòu)建
3.2.1 模式調(diào)試試驗
模式研發(fā)人員的代碼進(jìn)入代碼庫后,可通過數(shù)值預(yù)報中試平臺交互界面調(diào)用源碼,進(jìn)行調(diào)試試驗的數(shù)據(jù)及參數(shù)配置,除提供試驗?zāi)0搴湍J(rèn)參數(shù)外,研發(fā)人員可交互自定義參數(shù),完成試驗方案的構(gòu)建,包括試驗的源碼、模塊、流程、數(shù)據(jù)以及各個模塊的運行參數(shù)等。平臺服務(wù)端自動屏蔽高性能計算機(jī)系統(tǒng)使用的細(xì)節(jié),使研發(fā)人員專注于模式試驗方案本身,平臺會根據(jù)配置自動完成源碼的部署、編譯、數(shù)據(jù)的安裝、參數(shù)的代入和作業(yè)的提交運行。運行過程被編排為自動化工作流,從而提供基于工作流的運行監(jiān)控,試驗過程出現(xiàn)錯誤將及時告警。試驗結(jié)果輸出后,研發(fā)人員可進(jìn)行交互檢驗分析,平臺根據(jù)比對對象,實現(xiàn)檢驗計算評分及繪圖,評估試驗的改進(jìn)效果,研發(fā)人員在界面即可查看檢驗圖形。由于試驗信息均被記錄,能夠?qū)崿F(xiàn)快速的試驗比對,包括試驗結(jié)果和試驗方案的比對,提升調(diào)試的效率。
3.2.2 模式平行試驗及業(yè)務(wù)化部署
模式平行試驗?zāi)M不同的業(yè)務(wù)運行場景并和實際業(yè)務(wù)預(yù)報效果進(jìn)行檢驗對比,以評估模式改進(jìn)效果。不同于調(diào)試試驗,平行試驗一般需要設(shè)置3組:1)同化循環(huán)試驗:評估觀測資料影響及同化效果;2)預(yù)報試驗:模擬業(yè)務(wù)試驗并檢驗對比;3)診斷分析試驗:診斷分析。
經(jīng)過平行、回算試驗的檢驗評估,通過業(yè)務(wù)化評審后,模式新版本進(jìn)行業(yè)務(wù)運行。需要將新版本部署到業(yè)務(wù)環(huán)境,業(yè)務(wù)化系統(tǒng)包括同化循環(huán)、模式預(yù)報、診斷及后處理系統(tǒng)。通過數(shù)值預(yù)報中試平臺,實現(xiàn)了平行試驗的一鍵構(gòu)建,生成3組試驗工作流,業(yè)務(wù)部署功能通過用戶交互高性能計算機(jī)的業(yè)務(wù)賬戶,完成授權(quán)和程序部署。
“派-曙光”高性能計算環(huán)境模式協(xié)同研發(fā)管理支撐環(huán)境已初步建成和應(yīng)用,METCODE代碼管理已應(yīng)用于CMA全球天氣模式、CMA區(qū)域模式、CMA化學(xué)天氣模式、實況業(yè)務(wù)等的研發(fā)協(xié)同,數(shù)值預(yù)報中試平臺已應(yīng)用于CMA全球天氣模式、CMA區(qū)域模式的調(diào)試試驗、定版試驗及業(yè)務(wù)化平行與回算試驗、動力框架理想試驗、物理過程單柱試驗等。
基于代碼管理平臺,模式版本的迭代升級已形成規(guī)范可控的流程,如圖7所示,同時提高了研發(fā)協(xié)同的效率,代碼的總集成耗時由傳統(tǒng)模式下的1~2個月縮短到1~2周。
圖7 METCODE支撐模式版本發(fā)布
數(shù)值預(yù)報中試平臺銜接了代碼管理,支撐代碼的調(diào)試的數(shù)值模擬試驗全流程,在全流程的各個環(huán)節(jié)提升效率,中試平臺可直接調(diào)用代碼庫訪問模式代碼,銜接研發(fā)和基于高性能計算的數(shù)值模擬試驗,如圖8所示。
1)基于數(shù)值預(yù)報中試平臺的模板或默認(rèn)參數(shù)交互構(gòu)建試驗,可在幾分鐘內(nèi)完成試驗構(gòu)建和方案設(shè)計并提交試驗到“派-曙光”高性能計算機(jī)系統(tǒng)排隊運行。相較原有傳統(tǒng)研發(fā)模式下的人工獲取代碼、上傳源碼、修改運行腳本構(gòu)建試驗方案、配置運行數(shù)據(jù)的模式,不僅屏蔽高性能計算機(jī)的使用細(xì)節(jié),也屏蔽了模式所需所有輸入數(shù)據(jù)存儲管理的細(xì)節(jié),降低了模式研究的門檻,新的研發(fā)人員1 h內(nèi)便可掌握調(diào)試試驗方法,而原來腳本運行的方式下,新的研發(fā)人員可能需要1周的時間來了解高性能計算機(jī)系統(tǒng)如何使用、源碼如何獲取、模式如何運行、數(shù)據(jù)在何處獲取、試驗方案如何構(gòu)建等信息。
2)數(shù)值預(yù)報中試平臺提供試驗運行工作流的監(jiān)控,對試驗錯誤主動告警和提示,改變原有被動等待的情況,提高試驗效率。
3)基于平臺的管理功能,可對不同的試驗進(jìn)行一鍵式比較分析,包括試驗方案和試驗結(jié)果的對比評估。試驗方案的對比包括所采用的代碼版本、試驗運行參數(shù)、運行數(shù)據(jù)、運行資源等全面的信息對比;試驗結(jié)果的對比基于集成的檢驗工具開展檢驗對比,評估試驗效果,提供評分卡及形勢場要素檢驗對比。僅需簡單交互檢驗參數(shù),選擇對比對象,平臺即可自動化完成檢驗計算和結(jié)果繪圖,返回界面展示。該功能為研發(fā)人員屏蔽人工對比方案、試驗結(jié)果繪圖、檢驗工具使用、檢驗數(shù)據(jù)獲取等專業(yè)細(xì)節(jié),極大提高試驗分析的效率。
4)平臺對平行試驗和回算試驗的支撐,加速模式新版本升級和業(yè)務(wù)化過程。一鍵式構(gòu)建平行、回算試驗,自動化工作流調(diào)度運行,快速開展試驗對比評估。
5)平臺業(yè)務(wù)化部署功能提升業(yè)務(wù)化效率。業(yè)務(wù)運行需要實時的監(jiān)控告警,基于平臺快速構(gòu)建業(yè)務(wù)化運行的工作流,不必再全部人工開發(fā)。通過業(yè)務(wù)部署功能,支持快速部署到業(yè)務(wù)環(huán)境,不必人工移植。
圖8 數(shù)值預(yù)報中試平臺支撐CMA-GFS(GRAPES_GFS)平行試驗
從氣象數(shù)值模式的協(xié)同管理發(fā)展需求出發(fā),面向協(xié)同研發(fā)過程的管理和集成共享、研發(fā)調(diào)試試驗及分析檢驗等過程開展了應(yīng)用研究,建設(shè)了氣象數(shù)值模式研發(fā)協(xié)同管理支撐環(huán)境和標(biāo)準(zhǔn),提升了模式研發(fā)協(xié)同效率和業(yè)務(wù)化效率,保障研發(fā)成果的完整性和可跟蹤性,為科學(xué)研究、科學(xué)計算等大型傳統(tǒng)科學(xué)計算模型的持續(xù)研發(fā)改進(jìn)管理及軟件工程協(xié)同管理提供借鑒。
面向地球系統(tǒng)數(shù)值預(yù)報業(yè)務(wù)的發(fā)展,需要進(jìn)一步建設(shè)和依托支撐平臺環(huán)境完善共享的機(jī)制,全面擴(kuò)展完善數(shù)值預(yù)報中試平臺,提升對天氣、氣候模式的試驗支撐。面向高性能計算異構(gòu)發(fā)展趨勢和分布式發(fā)展趨勢,需發(fā)展支撐異構(gòu)系統(tǒng)、分布式系統(tǒng)的試驗作業(yè)調(diào)度能力。