国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Python在短臨氣象預(yù)報(bào)檢驗(yàn)中的應(yīng)用

2021-11-02 01:36何佳惠建忠何險(xiǎn)峰王曙東高金兵
氣象科技 2021年5期
關(guān)鍵詞:數(shù)據(jù)模型站點(diǎn)矩陣

何佳 惠建忠* 何險(xiǎn)峰 王曙東 高金兵

(1 中國(guó)氣象局公共氣象服務(wù)中心, 北京 100081; 2 華風(fēng)氣象傳媒集團(tuán)有限責(zé)任公司, 北京 100081)

引言

氣象服務(wù)的核心競(jìng)爭(zhēng)力是不斷提升的預(yù)報(bào)質(zhì)量。通過檢驗(yàn)評(píng)估給出客觀結(jié)果,一方面便于管理人員進(jìn)行考核,另一方面便于研發(fā)人員對(duì)比不同方法帶來的預(yù)報(bào)性能改變,促進(jìn)產(chǎn)品不斷改進(jìn)完善。

國(guó)家氣象中心建設(shè)開發(fā)的基于Web的國(guó)家級(jí)天氣預(yù)報(bào)檢驗(yàn)分析系統(tǒng)[1],實(shí)現(xiàn)了涵蓋國(guó)家級(jí)省級(jí)智能網(wǎng)格預(yù)報(bào)、全國(guó)城鎮(zhèn)天氣預(yù)報(bào)等數(shù)十項(xiàng)檢驗(yàn)業(yè)務(wù)產(chǎn)品的檢驗(yàn)評(píng)估。用戶可以通過瀏覽器查看相應(yīng)產(chǎn)品的檢驗(yàn)反饋信息,為各省以及國(guó)家級(jí)預(yù)報(bào)業(yè)務(wù)考核提供了信息支撐。萬夫敬[2]等分析了ECMWF模式氣溫預(yù)報(bào)在青島地區(qū)的預(yù)報(bào)性能,根據(jù)模式誤差特點(diǎn),給出主觀訂正參考值,提高了氣溫預(yù)報(bào)正確率。劉麗敏[3]等通過對(duì)中央臺(tái)精細(xì)化溫度預(yù)報(bào)在伊春市的檢驗(yàn)和誤差分析,掌握其預(yù)報(bào)性能,在實(shí)際工作中有針對(duì)性加以訂正,為本地釋用提供依據(jù)。趙平偉[4]等開展了GPM IMAGE、ERA5降水?dāng)?shù)據(jù)在云南的適用性評(píng)估和對(duì)比。蔡曉杰[5]等利用上海沿岸海域19個(gè)站點(diǎn)風(fēng)場(chǎng)資料使用平均誤差、預(yù)報(bào)準(zhǔn)確率等指標(biāo)對(duì)風(fēng)速、風(fēng)向、大風(fēng)過程進(jìn)行檢驗(yàn)。吳瑞姣[6]等運(yùn)用兩分類TS評(píng)分、鄰域法FSS評(píng)分方法對(duì)安徽省WRF模式短時(shí)強(qiáng)降水開展檢驗(yàn)。鄭琳琳[7]等采用均方誤差、TS評(píng)分等方法對(duì)改進(jìn)的降水臨近外推預(yù)報(bào)技術(shù)方法進(jìn)行效果檢驗(yàn),得出新方法更具優(yōu)勢(shì)的結(jié)論。劉湊華[8]等研究了基于目標(biāo)的降水檢驗(yàn)方法并對(duì)其改進(jìn)后進(jìn)行業(yè)務(wù)應(yīng)用。可見檢驗(yàn)在業(yè)務(wù)中發(fā)揮著重要作用。目前檢驗(yàn)針對(duì)的產(chǎn)品在時(shí)次、時(shí)效上主要是天或小時(shí)量級(jí),少有針對(duì)分鐘級(jí)這樣高頻次發(fā)布,高時(shí)間分辨率產(chǎn)品的檢驗(yàn)。產(chǎn)品在時(shí)間維度精細(xì)化的提升意味著檢驗(yàn)計(jì)算時(shí)間復(fù)雜度的增加。

Python是近幾年越來越受到開發(fā)人員關(guān)注和使用的編程語言。其簡(jiǎn)潔、易于理解、功能豐富的特點(diǎn)無論是專業(yè)編程人員還是普通用戶都能夠快速上手。在氣象領(lǐng)域,推出了很多易用工具包。如標(biāo)簽化多維數(shù)組和數(shù)據(jù)集xarray[9]——在吸收用于實(shí)現(xiàn)科學(xué)數(shù)據(jù)自我描述的通用數(shù)據(jù)模型(Common Data Model)基礎(chǔ)上,建立類似pandas的工具,使分析多維數(shù)組變得簡(jiǎn)單、高效、不易出錯(cuò)。國(guó)家氣象中心預(yù)報(bào)技術(shù)研發(fā)室使用Python研發(fā)了全流程檢驗(yàn)程序庫[10],在數(shù)據(jù)層提供了數(shù)據(jù)讀寫、轉(zhuǎn)換等基礎(chǔ)函數(shù);在檢驗(yàn)算法層提供有無預(yù)報(bào)、多分類、概率預(yù)報(bào)等檢驗(yàn)算法;在檢驗(yàn)產(chǎn)品制作層提供了數(shù)值型、表格型、圖片型、誤差序列分析等函數(shù),成為國(guó)內(nèi)第一款專門用于氣象預(yù)報(bào)檢驗(yàn)的python程序庫。本文在檢驗(yàn)結(jié)果可視化階段使用了該庫提供的功能。

基于機(jī)器學(xué)習(xí)方法的短臨多要素氣象預(yù)報(bào)系統(tǒng)(Weather Elements Nowcasting based on machine learning, 簡(jiǎn)稱WEN),每10 min滾動(dòng)更新發(fā)布未來2 h多氣象要素,覆蓋中國(guó)區(qū)域的短時(shí)臨近預(yù)報(bào),具有高更新頻次、高時(shí)空分辨率特點(diǎn)。系統(tǒng)在分布式計(jì)算環(huán)境下,建立72候(1年)×12時(shí)辰(1天每2 h為1個(gè)時(shí)辰)多預(yù)報(bào)時(shí)段復(fù)雜預(yù)報(bào)模型。如何快速獲得檢驗(yàn)結(jié)果是本項(xiàng)工作面臨的挑戰(zhàn)。

如圖1所示,WEN檢驗(yàn)子系統(tǒng)主要分為數(shù)據(jù)準(zhǔn)備、檢驗(yàn)計(jì)算和檢驗(yàn)分析3個(gè)階段。第1階段進(jìn)行數(shù)據(jù)讀取、合并,目標(biāo)是設(shè)計(jì)通用的數(shù)據(jù)模型。第2階段進(jìn)行檢驗(yàn)計(jì)算,包括連續(xù)型數(shù)值預(yù)報(bào)檢驗(yàn)、晴雨檢驗(yàn)和降水分級(jí)檢驗(yàn)3類檢驗(yàn)方法,全部要素共計(jì)10個(gè)檢驗(yàn)指標(biāo)。第3階段分要素、區(qū)域?qū)EN模型進(jìn)行性能評(píng)估。

圖1 WEN檢驗(yàn)業(yè)務(wù)流程

1 數(shù)據(jù)模型

1.1 檢驗(yàn)數(shù)據(jù)

多維數(shù)組(又稱n維,ND ,有時(shí)稱為張量)是計(jì)算科學(xué)的一個(gè)重要部分,在很多領(lǐng)域都有應(yīng)用,包括物理、天文學(xué)、地球科學(xué)、生物信息學(xué)、工程、金融和深度學(xué)習(xí)。在Python中,NumPy為處理原始ND數(shù)組提供了基本的數(shù)據(jù)結(jié)構(gòu)和API。然而,真實(shí)的數(shù)據(jù)集通常不僅僅是原始的數(shù)字,它們有標(biāo)簽來編碼關(guān)于數(shù)組值如何映射到空間、時(shí)間等位置的信息。Xarray在原始的與Numpy類似的多維數(shù)組上引入了維度、坐標(biāo)和屬性形式的標(biāo)簽,使得開發(fā)更直觀、簡(jiǎn)潔、更少出錯(cuò)。其核心數(shù)據(jù)結(jié)構(gòu)Dataset被設(shè)計(jì)為NetCDF文件格式的數(shù)據(jù)模型的內(nèi)存表示。

WEN系統(tǒng)采用網(wǎng)絡(luò)通用數(shù)據(jù)格式(Network Common Data Form,NetCDF),使用TDS工具(THREDDS Data Server,TDS)管理文件并提供數(shù)據(jù)訪問服務(wù)。預(yù)報(bào)和觀測(cè)數(shù)據(jù)(以下統(tǒng)稱檢驗(yàn)數(shù)據(jù))均為每10 min發(fā)布一次。每個(gè)時(shí)次發(fā)布的站點(diǎn)預(yù)報(bào)數(shù)據(jù)包括預(yù)報(bào)時(shí)刻、站點(diǎn)、氣象要素3個(gè)維度,觀測(cè)數(shù)據(jù)包括站點(diǎn)和氣象要素2個(gè)維度。

為避免每次在線獲取耗時(shí)缺點(diǎn),同時(shí)提高處理和共享能力,采用地球科學(xué)科研領(lǐng)域元數(shù)據(jù)標(biāo)準(zhǔn)CF(Climate and Forecast Metadata Conventions)[11],將檢驗(yàn)數(shù)據(jù)按天合并后保存到本地。數(shù)據(jù)模型構(gòu)建分析如下:①檢驗(yàn)用的站點(diǎn)數(shù)據(jù)屬于離散采樣幾何類型(Discrete Sampling Geometries);②一天多個(gè)時(shí)次更新發(fā)布,構(gòu)成了時(shí)間序列(Time Series)?;诖?,檢驗(yàn)數(shù)據(jù)采用正交多維數(shù)組的時(shí)間序列數(shù)據(jù)表示方法,站點(diǎn)預(yù)報(bào)數(shù)據(jù)模型如圖2所示。預(yù)測(cè)數(shù)據(jù)模型去掉“預(yù)報(bào)時(shí)效”維度即為觀測(cè)數(shù)據(jù)模型。在計(jì)算機(jī)內(nèi)存中對(duì)應(yīng)Xarray的Dataset。在預(yù)測(cè)和觀測(cè)數(shù)據(jù)匹配時(shí),通過表示位置的“station”和表示時(shí)間的“time”兩個(gè)“標(biāo)簽”即可實(shí)現(xiàn)檢驗(yàn)數(shù)據(jù)配對(duì),體現(xiàn)了xarray直觀、簡(jiǎn)潔的優(yōu)點(diǎn)。

圖2 WEN檢驗(yàn)數(shù)據(jù)模型(按天合并的站點(diǎn)預(yù)報(bào))

1.2 結(jié)果數(shù)據(jù)

檢驗(yàn)方法不同對(duì)應(yīng)指標(biāo)、要素不同。如晴雨檢驗(yàn)和降水分級(jí)檢驗(yàn)僅針對(duì)降水要素,包括TS評(píng)分、空?qǐng)?bào)率等指標(biāo)。連續(xù)型預(yù)報(bào)數(shù)值型檢驗(yàn)包括平均誤差、均方根誤差等指標(biāo)。WEN規(guī)定按候輸出檢驗(yàn)結(jié)果?;诖?,檢驗(yàn)結(jié)果按檢驗(yàn)方法分類生成,在時(shí)間維度包括時(shí)效、時(shí)辰等。

1.3 站點(diǎn)數(shù)據(jù)

傳統(tǒng)檢驗(yàn)方法基于點(diǎn)對(duì)點(diǎn)的對(duì)比,即在一個(gè)時(shí)間點(diǎn)上參與檢驗(yàn)的樣本數(shù)為該區(qū)域的站點(diǎn)數(shù)。WEN系統(tǒng)包括105567個(gè)站點(diǎn)。考慮觀測(cè)數(shù)據(jù)質(zhì)量,選取包括國(guó)家級(jí)氣象站(基準(zhǔn)站、基本站、一般站)和質(zhì)控后的部分區(qū)域自動(dòng)站,共計(jì)10656個(gè)站點(diǎn)。在此基礎(chǔ)上將全國(guó)分成8個(gè)區(qū)域,分區(qū)范圍見圖3,各分區(qū)站點(diǎn)數(shù)見表1。

圖3 檢驗(yàn)分區(qū)示意

表1 分區(qū)站點(diǎn)數(shù)

2 檢驗(yàn)計(jì)算

WEN采用連續(xù)型預(yù)報(bào)數(shù)值檢驗(yàn)、有無預(yù)報(bào)檢驗(yàn)(晴雨預(yù)報(bào)檢驗(yàn))和多分類檢驗(yàn)(降雨分級(jí)檢驗(yàn))等3類檢驗(yàn)算法。后兩類屬于分類問題,前者是常見的二分類,后者是類別數(shù)大于2的分類。在分類算法的實(shí)現(xiàn)中應(yīng)用混淆矩陣獲得分類樣本統(tǒng)計(jì)。針對(duì)耗時(shí)任務(wù)給出了并行解決方案。

2.1 檢驗(yàn)方法

連續(xù)型預(yù)報(bào)檢驗(yàn)采用平均誤差、平均絕對(duì)誤差、均方根誤差、偏差4種統(tǒng)計(jì)方法,檢驗(yàn)變量包括氣壓、溫度、相對(duì)濕度、風(fēng)速等近地面要素。降水采用技巧評(píng)分(TS)、相當(dāng)技巧評(píng)分(ETS)、空?qǐng)?bào)率、漏報(bào)率、預(yù)報(bào)偏差、準(zhǔn)確率6種檢驗(yàn)方法。上述方法已在業(yè)務(wù)中廣泛應(yīng)用,在此不做詳細(xì)介紹。計(jì)算公式主要參考由陳昊明等[12]的高分辨率區(qū)域數(shù)值預(yù)報(bào)業(yè)務(wù)檢驗(yàn)評(píng)估指標(biāo)及算法。降水分級(jí)檢驗(yàn)主要參考關(guān)于下發(fā)中短期天氣預(yù)報(bào)質(zhì)量檢驗(yàn)辦法(試行)的通知(氣發(fā)〔2005〕109號(hào))中中短期天氣預(yù)報(bào)質(zhì)量檢驗(yàn)辦法(試行)解釋說明(表2)和短時(shí)氣象服務(wù)降雨量等級(jí)劃分[13](表3)。

表2 降水分級(jí)檢驗(yàn)評(píng)定簡(jiǎn)表

表3 短時(shí)氣象服務(wù)降雨量劃分 mm

2.2 數(shù)據(jù)缺失處理

為保證檢驗(yàn)結(jié)果的正確性及連續(xù)性,缺失數(shù)據(jù)的處理是必不可少的關(guān)鍵步驟。數(shù)據(jù)缺失有兩種表現(xiàn),一是數(shù)據(jù)文件缺失,二是數(shù)據(jù)文件中存在空數(shù)據(jù)。第1種情況表明某時(shí)次沒有可用于檢驗(yàn)的數(shù)據(jù),可將檢驗(yàn)結(jié)果置為一個(gè)約定值,例如-999。第2種情況則需要將空數(shù)據(jù)去除,從而保證統(tǒng)計(jì)樣本的有效性。需要注意的是空數(shù)據(jù)并非一一對(duì)應(yīng),可應(yīng)用公共掩碼矩陣對(duì)檢驗(yàn)數(shù)據(jù)進(jìn)行剔除。技術(shù)實(shí)現(xiàn)的關(guān)鍵代碼見圖4。

圖4 缺失值處理關(guān)鍵代碼

2.3 混淆矩陣

混淆矩陣是機(jī)器學(xué)習(xí)中總結(jié)分類模型預(yù)測(cè)結(jié)果的情形分析表,以矩陣形式將數(shù)據(jù)集中的記錄按照真實(shí)的類別與分類模型預(yù)測(cè)的類別進(jìn)行判斷匯總。其中矩陣的行表示真實(shí)值,矩陣的列表示預(yù)測(cè)值?;赑ython語言的機(jī)器學(xué)習(xí)工具scikit-learn的metrics模塊的混淆矩陣函數(shù)confusion_matrix實(shí)現(xiàn)了混淆矩陣的計(jì)算。通過傳遞真實(shí)類別和預(yù)測(cè)類別樣本,返回一個(gè)n階矩陣C(n表示類別數(shù),如二分類n=2),Ci,j表示真實(shí)類別為i預(yù)測(cè)類別為j的樣本數(shù)量。以二分類晴雨檢驗(yàn)為例,C0,0表示真反例即命中否的樣本數(shù),對(duì)應(yīng)表2中ND;C1,0表示假反例即漏報(bào)的樣本數(shù),對(duì)應(yīng)表2中NC;C0,1表示假正例即空?qǐng)?bào)的樣本數(shù),對(duì)應(yīng)表2中NB;C1,1表示真正例即命中的樣本數(shù),對(duì)應(yīng)表2中NA。二分類混淆矩陣與晴雨判定對(duì)應(yīng)關(guān)系見表4。通過將氣象領(lǐng)域分類檢驗(yàn)的判定表與機(jī)器學(xué)習(xí)領(lǐng)域分類模型評(píng)估分析表即混淆矩陣建立對(duì)應(yīng)關(guān)系,應(yīng)用混淆矩陣函數(shù)實(shí)現(xiàn)分類檢驗(yàn)計(jì)算公式中各參量,再根據(jù)公式最終獲得檢驗(yàn)計(jì)算結(jié)果。晴雨檢驗(yàn)計(jì)算實(shí)現(xiàn)的關(guān)鍵代碼見圖5。

表4 混淆矩陣晴雨檢驗(yàn)對(duì)應(yīng)關(guān)系

圖5 晴雨檢驗(yàn)計(jì)算實(shí)現(xiàn)代碼

2.4 并行計(jì)算

2.4.1 并行計(jì)算概念、方式、環(huán)境

從計(jì)算復(fù)雜性的角度來看,一個(gè)算法的復(fù)雜性可表示為空間復(fù)雜性和時(shí)間復(fù)雜性兩個(gè)方面。并行計(jì)算(Parallel Computing)的基本思想是用多個(gè)處理器來協(xié)同求解同一個(gè)問題,即將被求解的問題分解成若干個(gè)部分,各部分均由一個(gè)獨(dú)立的處理器或處理機(jī)來并行計(jì)算。并行計(jì)算的目標(biāo)就是盡量減少時(shí)間復(fù)雜性,通常這是通過增加空間復(fù)雜性來實(shí)現(xiàn)的。并行計(jì)算可分為時(shí)間上的并行和空間上并行。時(shí)間上的并行就是指流水線技術(shù)??臻g上的并行則是指多個(gè)處理器并發(fā)的執(zhí)行計(jì)算。并行環(huán)境多為MPP(Massively Parallel Processing,大規(guī)模并行處理)并行機(jī)。不同于普通PC機(jī),通常并行機(jī)有特定的系統(tǒng)結(jié)構(gòu),支持指定的并行環(huán)境(常見的有MPI(Message Passing Interface)),硬件價(jià)格昂貴,同時(shí)并行計(jì)算的實(shí)現(xiàn)也是一項(xiàng)復(fù)雜而艱巨的工作。

曹曉鐘等[14]針對(duì)大量神經(jīng)網(wǎng)絡(luò)訓(xùn)練、預(yù)報(bào)的需求,在SP2并行機(jī)上實(shí)現(xiàn)了基于主從計(jì)算模式,采用粗粒度任務(wù)劃分的并行方案。趙軍等[15]在多核高性能計(jì)算機(jī)上使用MPI/OpenMP混合并行計(jì)算編程,以增量方式和較小的并行化代價(jià)實(shí)現(xiàn)了對(duì)AREM模式并行化改進(jìn),取得了較好的并行計(jì)算效果。二者均是在特定并行機(jī)環(huán)境下實(shí)現(xiàn)的并行化。周欽強(qiáng)等[16]采用Java語言基于Eclispes平臺(tái)開發(fā)實(shí)現(xiàn)了基于TCP多連接通信實(shí)時(shí)并發(fā)數(shù)據(jù)處理系統(tǒng),滿足對(duì)周期性大批量浪涌數(shù)據(jù)進(jìn)行實(shí)時(shí)快速處理的要求。系統(tǒng)運(yùn)行于單處理機(jī)上。其主要利用線程池化技術(shù)和并發(fā)管理機(jī)制,實(shí)現(xiàn)過程不僅需要對(duì)不同線程進(jìn)行詳細(xì)的程序流程分析,還要處理復(fù)雜的線程安全問題,開發(fā)成本相對(duì)較大。韓帥[17]等利用多節(jié)點(diǎn)分塊并行與模式并行結(jié)合的計(jì)算方案,解決了系統(tǒng)文件大小受限、計(jì)算資源和計(jì)算時(shí)效等問題。是一種時(shí)間和空間二維并行的方案。

2.4.2 DASK并行計(jì)算框架

DASK是一款開源免費(fèi)、與現(xiàn)有科學(xué)計(jì)算項(xiàng)目Numpy、Pandas、Scikit-Learn高度協(xié)同的基于python語言的并行計(jì)算框架[18]。它以一種更方便簡(jiǎn)潔的方式處理大數(shù)據(jù)量,能夠在普通單機(jī)或集群中進(jìn)行分布式并行計(jì)算。DASK由兩個(gè)部分組成,動(dòng)態(tài)任務(wù)調(diào)度和“大數(shù)據(jù)”集合。動(dòng)態(tài)任務(wù)調(diào)度包括單機(jī)調(diào)度器和分布式調(diào)度器,分布式調(diào)度器可以在單機(jī)上運(yùn)行,提供了比單機(jī)調(diào)度器更豐富的功能,如診斷面板。在單機(jī)中通過scheduler參數(shù)設(shè)置線程或者進(jìn)程來并行處理,也稱為偽分布式?!按髷?shù)據(jù)”集合提供的3種基本數(shù)據(jù)結(jié)構(gòu)分別是arrays、dataframes、bags。Arrays是對(duì)Numpy中的ndarray的部分接口進(jìn)行了改進(jìn),從而方便處理大數(shù)據(jù)量。Dataframes是基于Pandas DataFrame改進(jìn)的一個(gè)可以并行處理大數(shù)據(jù)量的數(shù)據(jù)結(jié)構(gòu)。以上兩者通過對(duì)大數(shù)據(jù)量進(jìn)行分塊處理,提供了大于內(nèi)存數(shù)據(jù)的解決方案。Bags主要用于半結(jié)構(gòu)化的數(shù)據(jù)集,比如日志或者博客等。DASK提出的延遲計(jì)算是在一個(gè)普通的Python函數(shù)上面通過dask.delayed函數(shù)進(jìn)行封裝,得到一個(gè)delayed對(duì)象。該對(duì)象只是構(gòu)建一個(gè)任務(wù)圖(Task Graph),并沒有進(jìn)行實(shí)際的計(jì)算,只有調(diào)用cumpute的時(shí)候才開始進(jìn)行計(jì)算。延遲計(jì)算非常適合當(dāng)面對(duì)的問題是可并行的但是不適合高度抽象如Dask Array或Dask Dataframe的場(chǎng)景。下面給出一段在單機(jī)上使用分布式調(diào)度器、延遲計(jì)算、多進(jìn)程實(shí)現(xiàn)并進(jìn)行化的代碼示例,見圖6。

圖6 一種DASK并行化示例代碼

2.4.3 WEN檢驗(yàn)并行化實(shí)現(xiàn)

并行計(jì)算首先是一種解決計(jì)算問題的思想。分析WEN檢驗(yàn),以數(shù)據(jù)準(zhǔn)備環(huán)節(jié)為例,處理過程分為兩個(gè)步驟:①讀取數(shù)據(jù),這個(gè)操作對(duì)每個(gè)文件是相同的;②所有文件讀取結(jié)束后進(jìn)行合并操作。讀取一個(gè)文件是一個(gè)獨(dú)立動(dòng)作,互相之間無依耐關(guān)系,可同時(shí)執(zhí)行。利用dask.delayed將讀取文件進(jìn)行并行化改造。以處理156個(gè)觀測(cè)文件(1 d+2 h)為例,程序分別在兩臺(tái)具備不同核數(shù)的普通PC機(jī)上運(yùn)行??紤]網(wǎng)絡(luò)帶寬時(shí)間維度不均勻性,為使測(cè)試結(jié)果更客觀,選取2020年9月1—5日,每個(gè)日期在不同時(shí)間分3次運(yùn)行,分別記錄每次的運(yùn)行時(shí)間,再計(jì)算平均用時(shí)。并行前后程序執(zhí)行時(shí)間見表5。以平均數(shù)衡量,56核處理機(jī)效率提升11倍,96核處理機(jī)效率提升9倍。進(jìn)行并行化改造增加的代碼不超過10行。

表5 觀測(cè)數(shù)據(jù)采集合并運(yùn)行時(shí)間測(cè)試結(jié)果 s

運(yùn)用相同思路,對(duì)檢驗(yàn)計(jì)算環(huán)節(jié)代碼進(jìn)行并行化改造。以計(jì)算1天數(shù)據(jù)每個(gè)時(shí)次每個(gè)時(shí)效數(shù)值型預(yù)報(bào)檢驗(yàn)為例(僅9月1日數(shù)據(jù)缺失36個(gè)時(shí)次,其它日期完整),時(shí)次和時(shí)效兩個(gè)維度同時(shí)并行,即并行任務(wù)有144×12=1728個(gè),測(cè)試結(jié)果見表6。并行后,56核環(huán)境效率提升20倍,96核環(huán)境提升51倍。改造后的關(guān)鍵代碼見圖7。

圖7 WEN數(shù)值型檢驗(yàn)方法并行化實(shí)現(xiàn)關(guān)鍵代碼

表6 連續(xù)型數(shù)值型預(yù)報(bào)檢驗(yàn)(每時(shí)次每時(shí)效)運(yùn)行時(shí)間 s

從測(cè)試結(jié)果來看,效率提升并非與CPU核數(shù)成線性遞增。首先,該測(cè)試結(jié)果采用單機(jī)多進(jìn)程并行方案,且并行任務(wù)數(shù)大于核數(shù),即并行任務(wù)與CPU并非一次分配到位,而是進(jìn)行了多次分配。其次,當(dāng)進(jìn)程間傳輸數(shù)據(jù)較大時(shí),會(huì)產(chǎn)生性能損失。從表5和表6并行方案測(cè)試結(jié)果來看,96核環(huán)境耗時(shí)均高于56核環(huán)境。但總體上計(jì)算效率并行方案都遠(yuǎn)高于串行方案。

對(duì)于串行方案,表5測(cè)試結(jié)果顯示,56核環(huán)境略高于96核,但相差不大。主要原因是表5對(duì)應(yīng)的業(yè)務(wù)屬于IO密集型,主要受實(shí)時(shí)網(wǎng)絡(luò)流量影響,受CPU型號(hào)差異帶來的性能影響較小。表6測(cè)試結(jié)果,96核環(huán)境耗時(shí)是56核環(huán)境的3倍左右。表6對(duì)應(yīng)的業(yè)務(wù)屬于計(jì)算密集型,主要受CPU性能影響。56核環(huán)境CPU型號(hào)高于96核環(huán)境。兩者的型號(hào)分別是56 Intel(R) Xeon(R) Gold 5120 CPU @ 2.20 GHz和96 Intel(R) Xeon(R) CPU E7-8850 v2 @ 2.30 GHz。

3 檢驗(yàn)分析

圖8是2021年3月1~6候模型的全國(guó)區(qū)域氣溫要素檢驗(yàn)結(jié)果(篇幅有限僅以氣溫要素均方根誤差指標(biāo)為例進(jìn)行說明)。圖中橫軸表示一個(gè)候的預(yù)報(bào)模型,每個(gè)刻度代表一個(gè)模型(即每天12個(gè)時(shí)辰之一,世界時(shí))。從圖中可以看出,①3月WEN模型氣溫均方根誤差最大4.77 ℃(第1候第11時(shí)辰),最小1.13 ℃(第4候第5時(shí)辰);②每候總的趨勢(shì)表現(xiàn)為:后5個(gè)時(shí)辰較前7個(gè)時(shí)辰大,即夜間(北京時(shí)晚10:00至次日早08:00)誤差較白天大。對(duì)比了21年3—5月的檢驗(yàn)結(jié)果,發(fā)現(xiàn)不同月份表現(xiàn)差的模型均集中在夜間。

圖8 2021年3月第1~6候WEN模型全國(guó)氣溫均方根誤差

4 結(jié)論

本文在分析業(yè)務(wù)需求的基礎(chǔ)上,設(shè)定快速計(jì)算為目標(biāo),重點(diǎn)圍繞氣象領(lǐng)域檢驗(yàn)分類問題和應(yīng)用并行計(jì)算改善時(shí)效性兩個(gè)方面,設(shè)計(jì)并實(shí)現(xiàn)了針對(duì)高頻次、高時(shí)間分辨率短臨氣象預(yù)報(bào)產(chǎn)品的檢驗(yàn)系統(tǒng)。今后將圍繞檢驗(yàn)報(bào)告自動(dòng)生成、容器化部署等開展工作,推動(dòng)公共氣象服務(wù)中心產(chǎn)品檢驗(yàn)業(yè)務(wù)常態(tài)運(yùn)行,為實(shí)現(xiàn)氣象服務(wù)高質(zhì)量發(fā)展貢獻(xiàn)力量。

猜你喜歡
數(shù)據(jù)模型站點(diǎn)矩陣
基于區(qū)塊鏈的微網(wǎng)綠電交易數(shù)據(jù)模型研究
基于Pro/E 的發(fā)射裝置設(shè)計(jì)數(shù)據(jù)快速轉(zhuǎn)化方法
基于Web站點(diǎn)的SQL注入分析與防范
多項(xiàng)式理論在矩陣求逆中的應(yīng)用
積極開展遠(yuǎn)程教育示范站點(diǎn)評(píng)比活動(dòng)
怕被人認(rèn)出
經(jīng)濟(jì)全球化對(duì)我國(guó)勞動(dòng)收入份額影響機(jī)制研究——基于面板數(shù)據(jù)模型
矩陣
矩陣
矩陣