亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        通用氣象數(shù)據(jù)格式轉(zhuǎn)換工具M(jìn)ETPAD設(shè)計(jì)與實(shí)現(xiàn)

        2022-04-28 09:35:46趙春燕王彬孫婧肖華東
        氣象科技 2022年2期
        關(guān)鍵詞:命令行數(shù)據(jù)格式解碼

        趙春燕 王彬,2,3* 孫婧 肖華東,2,3

        (1 國(guó)家氣象信息中心,北京 100081; 2 中國(guó)氣象局地球系統(tǒng)數(shù)值預(yù)報(bào)中心,北京 100081;3 災(zāi)害天氣國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100081)

        引言

        在開展天氣預(yù)報(bào)、氣候預(yù)測(cè)、氣象服務(wù)和氣象科學(xué)研究中,氣象數(shù)據(jù)的應(yīng)用是重要基礎(chǔ)支撐[1],面向不同的應(yīng)用需求,需要對(duì)氣象數(shù)據(jù)進(jìn)行解析處理或進(jìn)行格式轉(zhuǎn)換來更便捷地接入以參與信息交換。隨著地球系統(tǒng)大數(shù)據(jù)時(shí)代[2]的發(fā)展,氣象數(shù)據(jù)的來源更加豐富、種類繁多格式復(fù)雜[3],數(shù)據(jù)量巨大,氣象數(shù)據(jù)的應(yīng)用需求也隨之更為復(fù)雜和廣泛。常用的氣象數(shù)據(jù)格式[4]包括二進(jìn)制格式、NetCDF(Network Common Data Form)、HDF(Hierarchical Data Format)、GRIB(General Regularly-distributed Information in Binary Form)、BUFR(Binary Universal Form for the Representation)和MICAPS(Meteorological Information Comprehensive Analysis and Processing System)數(shù)據(jù)。GRIB[5-6]主要用來存放數(shù)值天氣分析和預(yù)報(bào)的格點(diǎn)資料,目前有兩個(gè)版本GRIB1和GRIB2。NetCDF[7]是美國(guó)大學(xué)大氣研究協(xié)會(huì)(UCAR)面向數(shù)組型并適用于網(wǎng)絡(luò)共享數(shù)據(jù)模式和編碼標(biāo)準(zhǔn)格式,如美國(guó)國(guó)家環(huán)境預(yù)報(bào)數(shù)據(jù)中心(NCEP)發(fā)布的再分析資料即采用NetCDF格式。HDF[7]數(shù)據(jù)格式是美國(guó)國(guó)家高性能計(jì)算應(yīng)用中心(NCSA)研制的,是一種具有自描述性、可擴(kuò)展性、自我組織型的數(shù)據(jù)存儲(chǔ)格式,多用于衛(wèi)星資料的存儲(chǔ)和發(fā)布,有HDF4和HDF5版本。氣象數(shù)據(jù)中還包括一些二進(jìn)制文件,如氣象雷達(dá)的數(shù)據(jù)。MICAPS系統(tǒng)[8-9]是中國(guó)氣象局自主研發(fā)的現(xiàn)代化人機(jī)交互氣象信息處理和天氣預(yù)報(bào)制作系統(tǒng),已發(fā)展到MICAPS4[9]。

        氣象領(lǐng)域發(fā)展了多種氣象數(shù)據(jù)處理分析工具,各有特點(diǎn)。GRIB 編解碼工具有兩種GRIB API[10]和WGRIB[11-12]。GRIB API 是歐洲中期天氣預(yù)報(bào)中心(ECMWF)開發(fā), 提供C++、Fortran、Python的API和命令行,后由ecCodes[13]升級(jí)替代,并發(fā)展了CodesUI[14]可視化工具,支持GRIB和BUFR格式數(shù)據(jù)解讀。WGRIB是NCEP開發(fā),提供C、Fortran、Python的API和命令行,用于解碼和處理GRIB格式數(shù)據(jù),支持OpenMP并行處理。Climate Data Operators(CDO)是一款跨平臺(tái)氣象數(shù)據(jù)分析處理工具[15],支持GRIB 1/2, NetCDF3/4, SERVICE等格式數(shù)據(jù)的解析修改、提取合并、選擇比較、統(tǒng)計(jì)分析、回歸和插值、算術(shù)運(yùn)算、向量和譜變換等,支持并行處理。NetCDF Operator(NCO)是跨平臺(tái)的命令行數(shù)據(jù)分析工具[16],支持NetCDF和HDF格式數(shù)據(jù)的屬性編輯、算術(shù)運(yùn)算、二進(jìn)制運(yùn)算、集合平均、插值、統(tǒng)計(jì)、平均等,提供命令行和批處理。此外,業(yè)內(nèi)還發(fā)展了一些集成工具,MeteoInfo[17]是集成GIS和科學(xué)計(jì)算環(huán)境的氣象數(shù)據(jù)可視化和分析軟件,支持NetCDF、HDF、GRIB1、GRIB2、MICAPS等格式數(shù)據(jù)的可視化分析,支持MICAPS4-NetCDF、MICAPS-GrADS的格式轉(zhuǎn)換。Panoply[18]是美國(guó)國(guó)家航空航天局(NASA)開發(fā)的基于JAVA的氣象繪圖軟件,支持NetCDF、HDF、GRIB1、GRIB2等格式數(shù)據(jù)的繪圖分析。表1比較分析了MeteoInfo、Panoply、WGRIB、ecCodes/CodesUI、CDO、NCO的特點(diǎn)。

        表1 氣象數(shù)據(jù)解讀分析工具分析比較

        以上工具主要實(shí)現(xiàn)數(shù)據(jù)解讀分析和處理計(jì)算,但對(duì)不同格式數(shù)據(jù)之間轉(zhuǎn)換功能的支持薄弱,缺乏一個(gè)通用的氣象數(shù)據(jù)解析和格式轉(zhuǎn)換工具,便捷讀取各種格式的氣象數(shù)據(jù)及進(jìn)行格式轉(zhuǎn)換。

        本文設(shè)計(jì)了一個(gè)通用的氣象數(shù)據(jù)解析和格式轉(zhuǎn)換工具M(jìn)ETPAD,實(shí)現(xiàn)對(duì)主要?dú)庀髷?shù)據(jù)的自動(dòng)解讀說明,并支持NetCDF、GRIB、HDF、MICAPS等格式的一鍵轉(zhuǎn)換,提供可視化終端和命令行。

        1 METPAD設(shè)計(jì)

        METPAD采用分層集成設(shè)計(jì),在核心的業(yè)務(wù)支撐層集成各類底層數(shù)據(jù)編碼、解碼算法及中間件實(shí)現(xiàn)對(duì)各類數(shù)據(jù)的解析和格式轉(zhuǎn)換。

        1.1 設(shè)計(jì)框架

        模式數(shù)據(jù)格式轉(zhuǎn)換工具整體架構(gòu)分為基礎(chǔ)支撐層、數(shù)據(jù)層、業(yè)務(wù)支撐層和應(yīng)用層,如圖1所示。

        圖1 設(shè)計(jì)框架

        基礎(chǔ)支撐層包括高性能計(jì)算機(jī)提供命令行工具部署環(huán)境和數(shù)據(jù)存儲(chǔ)環(huán)境。

        數(shù)據(jù)層主要是各類氣象數(shù)據(jù),包括ECMWF數(shù)值預(yù)報(bào)模式產(chǎn)品、GRAPES數(shù)值預(yù)報(bào)模式產(chǎn)品等和自定義的模式數(shù)據(jù),以及MICAPS類型的數(shù)據(jù)等。

        業(yè)務(wù)支撐層是程序的各種算法,包括MICAPS數(shù)據(jù)解碼算法、NetCDF數(shù)據(jù)解碼算法、HDF數(shù)據(jù)解碼算法、GRIB數(shù)據(jù)解碼算法、各種類型數(shù)據(jù)之間的轉(zhuǎn)換算法等。

        應(yīng)用層是系統(tǒng)直觀界面展示,提供了桌面版的應(yīng)用程序和Linux命令行工具。桌面應(yīng)用程序支持用戶交互,命令行工具為用戶提供數(shù)據(jù)讀取和格式轉(zhuǎn)換命令,支持批量轉(zhuǎn)換。

        1.2 功能設(shè)計(jì)

        METPAD工具設(shè)計(jì)了Linux命令行工具和Windows桌面應(yīng)用程序。面向數(shù)據(jù)應(yīng)用環(huán)境提供Linux命令行工具,主要實(shí)現(xiàn)NetCDF,HDF,MICAPS,GRIB1,GRIB2等數(shù)據(jù)類型的解析、相互轉(zhuǎn)換和多種數(shù)據(jù)之間的批量轉(zhuǎn)換,并提供基礎(chǔ)的數(shù)據(jù)分析,便于在數(shù)據(jù)處理環(huán)節(jié)使用和調(diào)用。面向用戶終端應(yīng)用提供Windows桌面應(yīng)用程序,實(shí)現(xiàn)數(shù)據(jù)的解讀、展示和基礎(chǔ)分析,支持用戶打開和解讀不同類型的氣象數(shù)據(jù),顯示屬性信息和數(shù)據(jù)信息,實(shí)現(xiàn)了對(duì)數(shù)值模式產(chǎn)品數(shù)據(jù)的自動(dòng)解讀說明,支持主要的格式轉(zhuǎn)換,并提供數(shù)據(jù)分析(表2)。

        表2 功能設(shè)計(jì)

        (1)命令行工具。mrc為程序開啟指令,包含兩個(gè)子命令:convert和info,其中convert是格式轉(zhuǎn)換命令,包含兩個(gè)選項(xiàng)-ft和-vn,-ft表示轉(zhuǎn)化文件類型,-vn表示變量名稱;info是打印屬性信息命令,包含-sh選項(xiàng),表示展示文件名稱。如表3所示METPAD命令行指令。

        表3 命令行設(shè)計(jì)

        (2)桌面交互程序。桌面交互程序提供用戶交互式數(shù)據(jù)解讀、格式轉(zhuǎn)換和數(shù)據(jù)分析功能,目前已支持NetCDF,HDF,MICAPS,GRIB1,GRIB2等多類模式數(shù)據(jù)的解讀和格式轉(zhuǎn)換,支持雷達(dá)基數(shù)據(jù)的繪圖分析。①集成實(shí)現(xiàn)了多類氣象數(shù)據(jù)文件的解碼算法組件,支持用戶一鍵式的文件讀取。通過Python語言調(diào)用各類庫的方式封裝形成了多類氣象數(shù)據(jù)格式的解碼算法組件,支持第三方調(diào)用,已支持的格式包括NetCDF,HDF,MICAPS,GRIB1,GRIB2。②集成實(shí)現(xiàn)了多類氣象數(shù)據(jù)文件的編碼算法組件,支持多套氣象數(shù)據(jù)格式間的相互轉(zhuǎn)換。通過Python語言調(diào)用各類庫的方式封裝形成了多類氣象數(shù)據(jù)格式的編碼算法組件,支持第三方調(diào)用,已支持的格式包括NetCDF,HDF,MICAPS,GRIB1,GRIB2。

        1.3 數(shù)據(jù)讀取

        已支持氣象數(shù)據(jù)格式包括:NetCDF、GRIB1、GRIB2、HDF、MICAPS第4類、BUFR和雷達(dá)基數(shù)據(jù)。支持顯示文件的基本信息,變量信息,維度信息等,數(shù)據(jù)內(nèi)容以表格形式顯示數(shù)據(jù)。BUFR數(shù)據(jù)顯示解析的BUFR數(shù)據(jù),雷達(dá)基數(shù)據(jù)顯示雷達(dá)基數(shù)據(jù)繪圖。數(shù)據(jù)內(nèi)容頁面包括切換預(yù)報(bào)時(shí)長(zhǎng)、切換層次、分析、格式化、導(dǎo)出數(shù)據(jù)功能。

        1.4 格式轉(zhuǎn)換

        已支持格式轉(zhuǎn)換的氣象數(shù)據(jù)格式包括:NetCDF、GRIB1、GRIB2、HDF、MICAPS4和GrADS,格式轉(zhuǎn)換功能如表4所示。

        表4 數(shù)據(jù)格式轉(zhuǎn)換功能

        2 關(guān)鍵技術(shù)及實(shí)現(xiàn)

        2.1 技術(shù)架構(gòu)

        METPAD基于Python開發(fā),Windows客戶端界面框架選用PyQT(Python GUI應(yīng)用程序的工具包)實(shí)現(xiàn),數(shù)據(jù)處理算法引用三方庫實(shí)現(xiàn)包括NetCDF4、pygrib(ECMWF ecCodes C庫的Python接口)、Spring Python[19](編程框架)、pythonnet(.NET動(dòng)態(tài)庫調(diào)用接口)、pyinstaller(Python打包器)、click(Python 命令行工具開發(fā)包)等。Spring Python編程框架實(shí)現(xiàn)代碼的松耦合,支持通過依賴注入和面向接口實(shí)現(xiàn)松耦合,支持聲明的方式將服務(wù)模塊化并應(yīng)用到相應(yīng)組件,使組件具有高內(nèi)聚性,支持通過模板封裝來消除大量重復(fù),提升擴(kuò)展性,減少業(yè)務(wù)相關(guān)性導(dǎo)致的軟件穩(wěn)定性問題。采用IronPython[20](.NET框架Python編程語言)實(shí)現(xiàn)Python調(diào)用動(dòng)態(tài)庫完成GRIB解碼算法。技術(shù)架構(gòu)如圖2所示。

        圖2 技術(shù)架構(gòu)圖

        2.2 數(shù)據(jù)解析和轉(zhuǎn)換算法

        METPAD集成了NetCDF4、pyMICAPS(MICAPS數(shù)據(jù)讀取及可視化庫)、MeteoInfo、pyCINRAD(雷達(dá)數(shù)據(jù)讀取及可視化庫)等三方函數(shù)庫對(duì)氣象各類格式進(jìn)行解析,獲取相應(yīng)的數(shù)據(jù)源進(jìn)行信息的展示和讀寫,具體使用的三方函數(shù)庫如表5所示。

        表5 第三方函數(shù)庫調(diào)用情況

        基于Python開發(fā)了各類數(shù)據(jù)的解讀類和格式轉(zhuǎn)換類,通過算法工廠集成,通過數(shù)據(jù)類型判斷調(diào)用不同的類實(shí)現(xiàn)數(shù)據(jù)的解讀或格式轉(zhuǎn)換。如圖3所示算法架構(gòu)。

        圖3 算法實(shí)現(xiàn)架構(gòu)

        2.3 數(shù)據(jù)處理流程

        如圖4所示為該工具的數(shù)據(jù)處理流程,桌面應(yīng)用程序啟動(dòng)后,點(diǎn)擊菜單打開文件,選擇需要讀取的文件,支持批量讀取,系統(tǒng)調(diào)用數(shù)據(jù)解碼算法,將數(shù)據(jù)解析并展示屬性信息和數(shù)據(jù)信息。點(diǎn)擊格式轉(zhuǎn)換菜單,選擇互相轉(zhuǎn)換的數(shù)據(jù)類型,選擇需要轉(zhuǎn)換的數(shù)據(jù)文件,支持批量轉(zhuǎn)換,調(diào)用數(shù)據(jù)轉(zhuǎn)換算法,將轉(zhuǎn)換后的數(shù)據(jù)保存到指定路徑。

        圖4 數(shù)據(jù)處理流程

        命令行工具輸入命令啟動(dòng)程序,輸入數(shù)據(jù)解析命令和數(shù)據(jù)文件路徑,系統(tǒng)調(diào)用數(shù)據(jù)解碼算法,將數(shù)據(jù)解析并展示屬性信息和數(shù)據(jù)信息。用戶輸入格式轉(zhuǎn)換命令,輸入轉(zhuǎn)換類型和需要轉(zhuǎn)換的文件,調(diào)用數(shù)據(jù)轉(zhuǎn)換算法,將轉(zhuǎn)換后的數(shù)據(jù)保存到指定路徑。

        3 應(yīng)用效果

        該工具桌面端已在北京高性能計(jì)算機(jī)應(yīng)用中心網(wǎng)站(圖5)發(fā)布,Linux客戶端已在數(shù)值預(yù)報(bào)模式中試支撐環(huán)境中部署使用。

        圖5 METPAD工具獲取方式

        METPAD針對(duì)GRIB、NetCDF、HDF、MICAPS、BUFR、GrADS、雷達(dá)基數(shù)據(jù)等主要?dú)庀髷?shù)據(jù)提供數(shù)據(jù)的解讀、基礎(chǔ)分析,以及格式轉(zhuǎn)換功能,基于命令行的使用通過設(shè)置程序路徑后即可加載使用。

        利用METPAD在Linux平臺(tái)對(duì)數(shù)據(jù)進(jìn)行解讀和格式轉(zhuǎn)換。如圖6所示,基于命令行對(duì)GRIB1格式的中國(guó)全球大氣再分析數(shù)據(jù)進(jìn)行讀取和HDF格式轉(zhuǎn)換,支持用戶便捷地查看數(shù)據(jù)維度、變量和屬性等信息,并通過命令行進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。

        圖6 中國(guó)全球大氣再分析數(shù)據(jù)(2021年11月15日06:00)命令行讀取及格式轉(zhuǎn)換示例

        METPAD桌面程序用戶界面包括菜單欄、左側(cè)快捷鍵、左側(cè)文件及屬性區(qū)和右側(cè)數(shù)據(jù)展示操作區(qū)。圖7所示示例為用戶打開FY-4A干涉式大氣垂直探測(cè)儀GIIRS數(shù)據(jù)后所列出的數(shù)據(jù)屬性和內(nèi)容,支持用戶便捷地查看HDF格式數(shù)據(jù),并支持用戶進(jìn)行內(nèi)容檢索、數(shù)據(jù)分析。通過菜單欄或左側(cè)快捷鍵,實(shí)現(xiàn)數(shù)據(jù)格式轉(zhuǎn)換和保存。

        圖7 2019年12月26日FY-4A GIIRS數(shù)據(jù)(HDF格式)解讀示例

        METPAD桌面程序支持雷達(dá)基數(shù)據(jù)的讀取和繪圖展示,打開雷達(dá)基數(shù)據(jù)后,在右側(cè)數(shù)據(jù)展示操作區(qū)提供參數(shù)和圖形展示,如圖8所示示例為2017年7月9日21:26安慶站雷達(dá)基數(shù)據(jù)。

        圖8 2017年7月9日安慶站雷達(dá)基數(shù)據(jù)展示示例

        METPAD的格式轉(zhuǎn)換功能如圖9示例,將2019年12月26日FY-4A GIIRS數(shù)據(jù)由HDF格式轉(zhuǎn)換為NetCDF格式,能夠支持多種常用氣象數(shù)據(jù)的格式轉(zhuǎn)換。

        圖9 2019年12月26日FY-4A GIIRS數(shù)據(jù)格式轉(zhuǎn)換(HDF轉(zhuǎn)NetCDF)示例

        相對(duì)于MeteoInfo、Panoply、CodesUI等數(shù)據(jù)可視化工具,METPAD特點(diǎn)是提供對(duì)氣象數(shù)據(jù)的解讀和基礎(chǔ)計(jì)算分析界面。相較于ecCodes、WGRIB等解碼工具,METPAD增加了界面應(yīng)用,支持解讀的數(shù)據(jù)種類更豐富,并支持?jǐn)?shù)據(jù)的格式轉(zhuǎn)換。相較于CDO、NCO等數(shù)據(jù)處理分析工具,METPAD在數(shù)據(jù)計(jì)算能力方面存在不足,但支持種類更豐富,支持格式轉(zhuǎn)換。METPAD實(shí)現(xiàn)了對(duì)我國(guó)MICAPS4數(shù)據(jù)與其他數(shù)據(jù)的格式轉(zhuǎn)換支持和雷達(dá)基數(shù)據(jù)的可視化展示,如表6所示。

        表6 METPAD與同類型軟件功能特性比較

        4 結(jié)論與討論

        METPAD提供了一個(gè)通用的氣象數(shù)據(jù)解析和格式轉(zhuǎn)換工具,提供命令行和交互使用的方式,應(yīng)用環(huán)境友好便捷,具備較強(qiáng)的格式轉(zhuǎn)換功能,為氣象數(shù)據(jù)的解讀和分析提供了一種新的方式,其輕量級(jí)靈活性的特點(diǎn),使得數(shù)據(jù)格式的轉(zhuǎn)換處理更加簡(jiǎn)便。

        目前該工具尚未支持?jǐn)?shù)據(jù)的并行處理,在數(shù)據(jù)處理分析能力方面也需進(jìn)一步完善。隨著觀測(cè)技術(shù)水平的提升和數(shù)據(jù)計(jì)算能力的提升,數(shù)據(jù)的規(guī)模、數(shù)據(jù)處理所需的計(jì)算能力都將大幅提升,如何高效地支持高分辨率氣象數(shù)據(jù)的分析和格式轉(zhuǎn)換,以及在數(shù)據(jù)處理過程中應(yīng)用更強(qiáng)的計(jì)算能力,未來可在兩方面進(jìn)一步發(fā)展完善:①在數(shù)據(jù)分析和格式轉(zhuǎn)換中探索并行實(shí)現(xiàn)機(jī)制,以及擴(kuò)展對(duì)異構(gòu)計(jì)算環(huán)境的支持,進(jìn)一步提升軟件性能和數(shù)據(jù)處理能力;②完善數(shù)據(jù)處理分析能力,增加數(shù)據(jù)的提取合并、統(tǒng)計(jì)分析、插值、變換、運(yùn)算等功能的支持。

        猜你喜歡
        命令行數(shù)據(jù)格式解碼
        《解碼萬噸站》
        解碼eUCP2.0
        Windows 10新版CMD更新
        NAD C368解碼/放大器一體機(jī)
        Quad(國(guó)都)Vena解碼/放大器一體機(jī)
        在智能交通系統(tǒng)中PLC數(shù)據(jù)格式轉(zhuǎn)換方法的研究
        Linux系統(tǒng)下GRIB2格式GFS資料轉(zhuǎn)為GRIB1格式的方法詳解
        論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應(yīng)用
        DWG與SHP數(shù)據(jù)格式互轉(zhuǎn)換方法研究——以龍巖規(guī)劃測(cè)繪數(shù)據(jù)為例
        基于ArcGIS的規(guī)劃數(shù)據(jù)格式轉(zhuǎn)換研究
        日韩丝袜人妻中文字幕| 亚洲av午夜一区二区三| 日韩一级黄色片一区二区三区 | 肉色丝袜足j视频国产| 情侣黄网站免费看| 国产真实乱人偷精品人妻| 国产精品美女| 亚洲av色香蕉一区二区蜜桃| 亚洲av免费看一区二区三区| 国产黑丝美腿在线观看| 久热re这里精品视频在线6| 亚洲成人色区| 狠狠色婷婷久久一区二区| 韩国三级大全久久网站| 色佬易精品视频免费在线观看| 男人天堂这里只有精品| 成人影院yy111111在线| 亚洲乱妇老熟女爽到高潮的片 | 久草精品手机视频在线观看| 青青草成人免费在线视频| 97在线观看播放| 免费a级毛片在线观看| av免费一区在线播放| 亚洲欧美中文日韩在线v日本| 精品区2区3区4区产品乱码9| 999国内精品永久免费视频| AV无码最在线播放| 全部免费国产潢色一级| 日本高清一区在线你懂得| 九九影院理论片私人影院| 波多野结衣中文字幕久久| 久久亚洲精品成人综合| 亚洲一区二区三区色偷偷| 人人妻人人澡人人爽国产一区| 久久人与动人物a级毛片| 国产精品1区2区| 99久久久69精品一区二区三区| 草逼动态图视频免费观看网站| 国产涩涩视频在线观看| 女人的天堂av免费看| 国产av一区二区三区狼人香蕉|