999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向決策分析的海量氣象數值預報數據快速提取①

2022-09-20 04:11:56李永生張金標陳冰懷
計算機系統應用 2022年9期
關鍵詞:信息

李永生, 張金標, 張 敏, 陳冰懷

(廣東省氣象探測數據中心, 廣州 510080)

1 引言

GRIB 碼是世界氣象組織(WMO)推薦使用的與計算機操作系統無關的壓縮的二進制編碼, 是一種用于交換和存儲規則分布數據的二進制文件格式, 現行的GRIB 碼版本有GRIB1和GRIB2兩種格式, 具有多維數據存儲方便、壓縮比高、支持多種壓縮方式、擴展性強等特點, 尤其擅長大容量多維度的非結構化數據的交換, 廣泛應用于數值天氣預報產品、海洋水文等數據的存儲和交換. 針對GRIB碼進行解碼工具有兩種, 第一種是wgrib命令行工具, 可以通過命令行的方式通過不同的參數組合對GRIB數據進行讀取操作.第2種方法是利用業界Unidata發布的NetCDF-java的網格數據操作API (支持Bufr、Grib、NetCDF3/4、HDF等網格數據), 具有按照Shape形狀提取指定范圍內網格數據的方法, 可以通過編程使用get和set鍵值操作讀取數據, 其中第一種方法在國內應用比較廣泛.使用上述方法基本能夠滿足獲取特定維度的部分數據的業務應用需求[1], 但在面向決策分析領域氣象預測的應用中, 通常以融合分析應用為主, 需要對海量的數值預報產品的一次性批量數據快速讀取和分析, 傳統的數據讀物方法存在數據讀取時間效率不高, 空間資源消耗大等問題[2]. 本文即針對上述業務痛點, 面向氣象預警、預報和預測業務實際需求, 以GRIB碼存儲的數值預報數據產品為研究對象, 設計一種基于精準定位, 數據提取的維度、讀取經緯度的范圍可按需定制的, 多進程處理的快速數據提取方法.

2 研究對象數學模型

本文的研究對象是以GRIB格式存儲的半結構化氣象數值預報產品, 現行的GRIB 碼版本有GRIB1和GRIB2兩種格式, 每個 GRIB1記錄單元通常存儲某個要素在某個層次的連續網格序列點的數據值. 邏輯上將記錄單元劃分為“段”, 每個GRIB1記錄單元可以包含六段, 其中兩個段是可選的, 具體如表1所示.

表1 GRIB1格式說明

GRIB文件每一個“段”對應到數值預報產品中就是一個平面數據, 該平面數據是一個非結構化的網格數據, 網格點數由產品的空間分辨率決定, 平面數據Data[v]由產品的要素種類(VarName)、產品的生成時間(DataTime)、層次高度(LevelName)、預報時效(ForcastName)、成員變量(MemberName)等維度信息唯一確定, 用數學表達為:

上述維度信息確定的平面數據D ata[v]是網格點類的半結構化數據, 其屬性信息包括經度范圍、緯度范圍、空間分辨率以及數據維度上的南北走向, 1代表維度上從南到北依次排列, 0表示維度從北到南依次排列, 其屬性函數可以描述為:

3 數據快速精準定位算法的設計與實現

分析傳統數據讀取算法的技術原理可知, 數據解碼效率方面存在主要制約因素[3]是需要一定范圍內遍歷查找所需提取特定維度數據所在的位置, 即數據塊的定位[4]; 這在一次性批量處理大量數值預報產品時產生了一定的時間損耗; 但上述因素存在較大的提升空間, 相關的方法的創新研究也基本圍繞上述制約因素展開. 針對上述問題, 本文基于精準數據定位獲取數據的算法[5], 節省了傳統方法中數據塊查找所消耗的時間;進而明顯提高了數據的讀取速度, 算法具體流程如下.

(2)可根據數值預報產品的要素種類、產品的生成時間、層次高度、預報時效等信息, 定制篩選業務所需的平面數據[11,12].

該品種由福建省泉州市農業科學研究所(福建省泉州市晉江市池店鎮泉安北路,郵編:362212)和云南省農業科學院經濟作物研究所培育。

圖1 數據文件結構圖

算法根據實際業務確定的空間經緯度范圍信息,對數值預報產品平面數據進行逐行剪裁, 形成業務所需空間范圍的平面數據, 數據截取從低緯度到高維的方向具體的算法流程如下.

計算讀取圈數:

(2)再確定讀取圈數:

4 數據按需定制截取算法的設計與實現

獲取特定數據塊的精確位置后, 為了不產生計算和存儲資源的浪費以及處理時間的增加. 需要對一定空間范圍的數據進行按需截取, 避免總是進行整個平面數據的讀取和流轉處理, 從而可以按照業務需求, 根據其屬性函數在空間范圍內進行裁剪以獲取業務所需空間范圍的數據, 這樣可以減少數據的傳輸量, 提高數據業務應用效率[6-9].

染料的廣泛使用導致染料廢水造成的環境污染日益嚴重[1,2]。染料廢水污染組分復雜、毒性強,是一種難處理的工業廢水[3,4]。亞甲基藍就是一種使用最為廣泛的染料。常用的染料廢水的處理方法主要有沉淀法[5]、氧化法[6]、膜分離法[7]及吸附法[8]等。吸附法因其易操作、高效等優點而受到重視。

老太醫娓娓道來:火藥量適中即可,專門灼燒對手最柔弱之處,比如說兩腋、男根、肚臍和喉囊。劇痛之下,腎火陡升,傷者會心跳驟停,引發猝死。此外,為了增加火勢,也為了掩蓋火藥味,掩人耳目,表象應以大火焚燒為主。這也不難辦到:以奇特的香料摻入燃油之中,作為助燃之物。以火藥來點燃油料,燒起來迅猛異常,根本無法撲救。

運用擬人手法編出這一段菊花與主人公的對話,這是菊花對主人公的提問,因為菊花不能從大地吸收養分而衰弱下去,這是表現菊花對大地的渴望。這話也是主人公即作者中野重治的自白。被帶到監獄里來,被和人民大眾隔離,監獄的生活又很艱苦,可以理解為作者也不能從大地吸收養分的比喻。巧妙地借菊花的口把這話說出來表達自己的思念勞苦大眾的內心。

4.1 按需可定制的內容

根據數值預報產品原始空間經度范圍信息確定,整個經度范圍:

每個GRIB實體文件是若干平面數據 D ata[v]的組合, 每個平面數據對應一個數據塊, 文件結構示意如圖1所示.

4.2 空間范圍截取算法

(1)獲取元信息體: 獲取整個GRIB文件的所有數據塊的元信息, 包括每個“數據塊”的起始位置, 結束位置等, 所獲取的信息均是輕量的元信息, 形成元信息體.整個過程的耗時在毫秒級別.

(1)每圈讀取長度的確定

(1)可對平面數據進行空間范圍內的按需裁剪, 允許業務用戶根據所需數據的空間經緯度信息對數據塊進行按需截取[10].

整體經度差:

在與梁兆賢的近距離交談中,我們感受到了印刷業以及市場對于人才技術和創新的迫切需要,以及具備學習能力的重要性。在他看來,要通過人才隊伍的建設,提高企業管理水平,使印刷行業加快轉型升級,推動中國制造2025在印刷領域的前進。

計算單圈讀取的數據長度:

(3)目標數據塊的位置: 根據元數據體和實體數據體的對應關系, 首先對元數據體進行整理, 通過數據整理函數, 將元數據信息進行分類, 重點確定數據塊的實際位置, 位置確定后, 根據屬性信息計算數據的偏移量進而定位數據并對數據塊進行循環讀取.

整個緯度范圍:

煤炭資源是非常寶貴的不可再生資源。由于煤炭的不可再生性和重要性,對煤炭資源的開采和保護廣受社會的關注。在煤炭綜采工作面上進行系統的開發和創新,是當前研究的熱點。例如工作面支架液壓系統的管控,需分析支架液壓系統發生污染的情況,找到有效改善措施來控制污染,避免影響到綜采工作面支架液壓系統的安全運行。

整體緯度差:

(2)獲取實體信息體: 算法過濾去掉每個數據塊的元數據信息, 并一次性將所有GRIB數據解碼為二進制數據, 包括數據的解壓縮、解碼, 一次性將所有GRIB數據解碼為二進制數據, 稱為實體數據體. 實體數據體存儲的順序和步驟(1)中元數據的順序是一一對應的.

Number=4×(R2-L2)/LatiInterval

采用for循環依次讀取每圈數據:

應用SPSS 17.0統計軟件對數據進行統計分析。計量資料以均數±標準差(±s)表示,組間比較采用重復測量的方差分析,P<0.05為差異有統計學意義。

算法的實現過程如算法1.

算法1. 格點數據按需截取算法輸入: 模型 model包括分辨率值, 原始經緯度范圍, 裁剪經緯度范圍:{[(longitudeInterval, latitudeInterval)], [(orignalLongitudeStart,orignalLatitudeStart), (orignalLongitudeEnd, orignalLatitudeEnd)],[(cutLongitudeStart, orignalLatitudeStart), (orignalLongitudeEnd,orignalLatitudeEnd)]}輸出: 字節數組data 1. 計算經緯度范圍2. double longitudeRange=|orignalLongitudeStart-orignalLongitudeEnd|+longitudeInterval 3. double latitudeRange=|orignalLatitudeStart-orignalLatitudeEnd|+latitudeInterval 4. 計算經度差值double longitudeSub1=|orignalLongitudeStart-cutLongitudeStart|double longitudeSub2=|orignalLongitudeEnd-cutLongitudeEnd|5. 計算緯度差值double latitudeSub1=|orignalLatitudeStart-cutLatitudeStart|double latitudeSub2=|orignalLatitudeEnd-cutLatitudeEnd|6. 計算整體的經度差值和緯度差值double longitudeFinal=longitudeSub1+longitudeSub2 double latitudeFinal=latitudeSub1+latitudeSub2 7. 確定數據存儲方向, 1表示從南到北, 0表示從北到南String sNDirection = model.getGridInfoXml().getsNDirection();String wEDirection = model.getGridInfoXml().getwEDirection();

8. 根據纏繞方向確定緯度裁剪大小double latitudeSub = 0d;switch (sNDirection) do case “1”:latitudeSub = latitudeSub2;break;case “0”:latitudeSub = latitudeSub1;break;default:decodeLogger.error (“---------數據南北纏繞方向定義錯誤, 只能為1或者0!”);break;}end switch 9. 根據纏繞方向確定經度裁剪大小double longitudeSub = 0d;switch (wEDirection) do case “1”:longitudeSub = longitudeSub1;break;case “0”:longitudeSub = longitudeSub2;break;default:decodeLogger.error(“---------數據東西纏繞方向定義錯誤,只能為1或者0!”);break;}End switch 10. 計算緯度遍歷個數int latiLengthValue = (int)((latitudeRange-latitudeFinal)/latitudeInterval);11. 計算緯線長度double latiLength = latitudeSub/latitudeInterval;12. 計算緯度取值長度double longitudePosi = 4 × (longitudeRange/longitudeInterval) ×latiLength;13. 計算沿經度緯度移動值int latitudePosi = 4 × (int)(longitudeSub/longitudeInterval);14. 計算開始整體移動的個數long finalPosi = (long)(planeStartPos + longitudePosi + latitudePosi);15. 計算單圈讀取長度double length = 4 × (longitudeRange-longitudeFinal)/longitudeInterval;16. 輸出data for int i = 0; i < latiLengthValue; i++ do byte[] oneCircleByte = gribUtil.readFileByPosiBytes(bodyPath,finalPosi, (int) length);data = byteJoin(data, oneCircleByte);finalPosi += 4 × longitudeRange/longitudeInterval;}end for 17. return data

5 實例測試與結果分析

本文選取一類數值預報產品進行實際測試, 該產品每時次需處理的數據文件為66個, 每個文件數據量約600 M, 每個文件約200個平面數據. 以數據解碼耗時為主要考核指標, 分別對不同的文件數均采用單個進程解碼測試. 結果表明隨著文件數量的增長耗時基本呈線性增長趨勢, 如圖2所示, 且66個文件的總耗時由傳統方法的2 h提高到約40 min, 解碼效率大幅提升.

圖2 單進程多文件解碼耗時統計圖

另外以單平面耗時為主要考核指標, 分別采用1進程, 4進程、8進程以及16進程進行數據處理, 實際測試結果表明, 采用16進程處理的速度由單個進程的257 ms提高到37 ms. 實際測試結果顯示多進程技術的引入對數據處理速度提升明顯. 如圖3所示.

圖3 多進程單平面解碼耗時統計圖

本文實現的批量數據數據處理方法已經為廣東省氣象行業的市縣版的Gift系統提供數據快速處理服務, 同時在廣東省氣象行業的預報預測和決策分析業務系統提供可視化數據服務支撐, 如圖4所示.

圖4 預報決策可視化業務化數據支撐圖

6 結論

本文針對傳統數據抽取方法效率不高的問題, 基于多進程處理技術, 設計了一種基于精準位置尋址的快速數據塊定位算法, 實現了數據塊的精準定位; 設計了可按需在空間范圍內進行裁剪的截取算法, 可按需根據數據的屬性維度、經緯度范圍等信息實現數據按需抽取; 基于上述算法實現了全流程統一控制的多進程數據讀取的業務流程. 實際測試結果表明利用本方法來解碼GRIB格式的數值預報產品, 可以大大提升非結構氣象數值預報產品數據的抽取效率, 提高資源利用率. 為海量半結構化的氣象數值預報數據產品的快速處理提供了方法參考, 具有很好的業務應用價值.

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
大眾創業(2009年10期)2009-10-08 04:52:00
展會信息
展會信息
展會信息
展會信息
展會信息
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 中文字幕在线一区二区在线| 伊人五月丁香综合AⅤ| 91极品美女高潮叫床在线观看| 另类专区亚洲| 亚洲午夜福利在线| 欧美在线视频不卡| 色久综合在线| 国产00高中生在线播放| 97在线碰| 在线毛片网站| 免费观看精品视频999| 国产丝袜啪啪| 国产97区一区二区三区无码| 美女被躁出白浆视频播放| 无码免费视频| 午夜免费视频网站| 亚洲激情99| 国内丰满少妇猛烈精品播| 99热最新在线| 中文字幕va| 亚洲欧美成人综合| 久久国产精品嫖妓| 精品国产Av电影无码久久久| 国产剧情无码视频在线观看| 波多野结衣无码AV在线| 97人人模人人爽人人喊小说| 欧美精品伊人久久| 日韩中文欧美| 欧美 国产 人人视频| 蝌蚪国产精品视频第一页| 国产一区二区免费播放| 国产av无码日韩av无码网站| 国内精品伊人久久久久7777人| 成·人免费午夜无码视频在线观看| 日本色综合网| 精品一区二区三区水蜜桃| 日韩不卡免费视频| 高清精品美女在线播放| 99热这里只有成人精品国产| 亚洲欧美不卡中文字幕| 国产尤物在线播放| 亚洲精品色AV无码看| 精品福利国产| 99热这里只有免费国产精品| 亚洲视频欧美不卡| 国产三级精品三级在线观看| 中文字幕无码制服中字| 秘书高跟黑色丝袜国产91在线| 伊人天堂网| 亚洲欧美日本国产综合在线| 久久性视频| 成年人国产视频| 高清欧美性猛交XXXX黑人猛交| 2021国产精品自产拍在线观看| 欧美亚洲第一页| 92午夜福利影院一区二区三区| 日韩AV无码一区| 亚洲中字无码AV电影在线观看| 国产哺乳奶水91在线播放| 91av国产在线| 一级不卡毛片| 国产一区亚洲一区| 国产精鲁鲁网在线视频| 谁有在线观看日韩亚洲最新视频 | 无码日韩视频| 国产在线98福利播放视频免费| 欧美成人h精品网站| 特级毛片8级毛片免费观看| 国产人前露出系列视频| 国产玖玖玖精品视频| 精品综合久久久久久97| 无码日韩精品91超碰| 日韩精品专区免费无码aⅴ| 久久综合丝袜长腿丝袜| 国产高清在线丝袜精品一区| 波多野吉衣一区二区三区av| 1级黄色毛片| 四虎永久免费地址| 亚洲av无码牛牛影视在线二区| 亚洲国产精品一区二区第一页免| 亚洲第一色网站| 亚洲人成网站观看在线观看|