[發明專利]一種提取GRIB碼數據的方法及系統有效
| 申請號: | 201811441417.6 | 申請日: | 2018-11-29 |
| 公開(公告)號: | CN109656712B | 公開(公告)日: | 2022-12-09 |
| 發明(設計)人: | 徐向軍;李鳴野;張俊芳;姚仁太;牛嫣靜;趙丹;張芳;胡繼民;郭歡;張新騫 | 申請(專利權)人: | 中國輻射防護研究院 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F16/22;H03M7/30 |
| 代理公司: | 北京天悅專利代理事務所(普通合伙) 11311 | 代理人: | 田明;文永明 |
| 地址: | 030006 山*** | 國省代碼: | 山西;14 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 提取 grib 數據 方法 系統 | ||
1.一種提取GRIB碼數據的方法,其特征在于,包括:
S1、將基于C#的GRIB API.NET導入計算機的開發環境中;
S2、構建散列查找方法和基于硬件判斷的多線程并行處理方法,對GRIB碼數值預報產品資料進行結構化歸類處理;
S3、通過所述多線程并行處理方法和所述散列查找方法從所述GRIB碼數值預報產品資料中提取GRIB碼數據,開辟多維數組用以存儲提取出的所述GRIB碼數據;
S4、判斷提取出的所述GRIB碼數據是否滿足可靠性需求,如是,則通過內插法對可靠性需求的所述GRIB碼數據進行邊界修正和缺失數據估算,得到已修正的被賦值的多維數組,如否,則重新獲取GRIB碼數值預報產品資料,并返回步驟S2;
步驟S2中,構建基于硬件判斷的多線程并行處理方法,具體包括:
開啟多線程命令后,根據所述計算機的核數與內存空間的大小確定調用線程的數量和任務的需求,其中,調用線程的數量的范圍為N-1至N+1,N為所述計算機的核數;
對GRIB碼數值預報產品資料進行結構化歸類處理包括:
判斷GRIB碼數值預報產品資料是否符合預設的數據類型,如是,則繼續判斷所述GRIB碼數值預報產品資料是否符合預設的產品類型,如是,則對所述GRIB碼數值預報產品資料進行線程數規劃;
步驟S3包括:
在多線程并行的條件下,每個線程通過GribFile命令打開所分配的GRIB文件,根據用戶所需區域及預報時長開辟多維數組,根據GribMessage中的Short Name、TypeOfLevel、Level和MissingValue鍵/值,通過所述散列查找方法按值查找目標數據所在段,根據GridCoordinateValues中Longitude、Latitude和Value鍵/值,匹配得到所需數據范圍,在該范圍內進行針對性解碼,將提取出的GRIB碼數據存儲進所述多維數組;
步驟S4中,通過內插法對可靠性需求的所述GRIB碼數據進行邊界修正和缺失數據估算,得到已修正的被賦值的多維數組,包括:
根據上一單元網格區域數據與下一單元區域網格數據計算得到缺失或非法數據的值,為多維數組重新賦值;當缺失GRIB文件時,根據上一時間步長與下一時間步長的數據進行內插,得到估算結果;
當提取出的所述GRIB碼數據中出現連續2個及以上的GRIB文件缺失或整體預報時效內缺失3個及以上GRIB文件時,確定所述GRIB碼數據不滿足可靠性需求;
步驟S4之后,還包括:
S5、通過跨平臺兼容性開發方法設計的輸出接口直接進行數據內存傳遞,或將所述多維數組按主鍵位索引方式導入數據庫中保存。
2.根據權利要求1所述的一種提取GRIB碼數據的方法,其特征在于,所述預設的數據類型包括:預報數據和再分析數據,所述預設的產品類型包括:T639模式、NCEP模式、EC模式和GRAPES模式。
3.一種提取GRIB碼數據的系統,其特征在于,包括:
導入模塊,用于將基于C#的GRIB API.NET導入計算機的開發環境中;
歸類模塊,用于構建散列查找方法和基于硬件判斷的多線程并行處理方法,對GRIB碼數值預報產品資料進行結構化歸類處理;
提取模塊,用于通過所述多線程并行處理方法和所述散列查找方法從所述GRIB碼數值預報產品資料中提取GRIB碼數據,開辟多維數組用以存儲提取出的所述GRIB碼數據;
修正模塊,用于判斷提取出的所述GRIB碼數據是否滿足可靠性需求,如是,則通過內插法對可靠性需求的所述GRIB碼數據進行邊界修正和缺失數據估算,得到已修正的被賦值的多維數組,如否,則重新獲取GRIB碼數值預報產品資料,并返回步驟S2;
數據傳遞及保存模塊,用于通過跨平臺兼容性開發方法設計的輸出接口直接進行數據內存傳遞,數據傳遞后釋放內存空間,和/或將所述多維數組按主鍵位索引方式導入數據庫中保存;所述歸類模塊具體用于:
開啟多線程命令后,根據所述計算機的核數與內存空間的大小確定調用線程的數量和任務的需求,其中,調用線程的數量的范圍為N-1至N+1,N為所述計算機的核數;還用于:
判斷GRIB碼數值預報產品資料是否符合預設的數據類型,如是,則繼續判斷所述GRIB碼數值預報產品資料是否符合預設的產品類型,如是,則對所述GRIB碼數值預報產品資料進行線程數規劃;其中,所述預設的數據類型包括:預報數據和再分析數據,所述預設的產品類型包括:T639模式、NCEP模式、EC模式和GRAPES模式;
所述提取模塊具體用于:
在多線程并行的條件下,每個線程通過GribFile命令打開所分配的GRIB文件,根據用戶所需區域及預報時長開辟多維數組,根據GribMessage中的Short Name、TypeOfLevel、Level和MissingValue鍵/值,通過所述散列查找方法按值查找目標數據所在段,根據GridCoordinateValues中Longitude、Latitude和Value鍵/值,匹配得到所需數據范圍,在該范圍內進行針對性解碼,將提取出的GRIB碼數據存儲進所述多維數組;
所述修正模塊具體用于:
根據上一單元網格區域數據與下一單元區域網格數據計算得到缺失或非法數據的值,為多維數組重新賦值;當缺失GRIB文件時,根據上一時間步長與下一時間步長的數據進行內插,得到估算結果;
其中,當提取出的所述GRIB碼數據中出現連續2個及以上的GRIB文件缺失或整體預報時效內缺失3個及以上GRIB文件時,確定所述GRIB碼數據不滿足可靠性需求。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國輻射防護研究院,未經中國輻射防護研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811441417.6/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





