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

HDF5數據接口的二次開發

2016-09-25 05:37:31向玉紅
無線互聯科技 2016年15期
關鍵詞:二次開發

向玉紅

(南京信息工程大學 教務處,江蘇 南京 210044)

HDF5數據接口的二次開發

向玉紅

(南京信息工程大學 教務處,江蘇南京210044)

HDF5(Hierarchical Data Format,HDF)數據具有自我描述、跨平臺、支持平行讀寫的優勢,被世界氣象組織列為氣象數據通用存儲格式。Fortran是氣象工作者的主要編程語言,文章將介紹如何用Fortran語言對HDF5數據接口的二次開發,實現HDF5數據接口高效封裝,讓讀寫HDF5變得簡單易行。

HDF5;Fortran;二次開發

氣象觀測資料是開展氣象研究和氣象業務的基礎。全球已逐步建立了較為完善的天基、空基和地基相結合的觀測體系,提供了包括常規氣象資料、衛星、雷達和探空等多種非常規觀測資料,而不同的資料還采取不同的格式進行存儲和傳播。我國氣象局的常規觀測資料采取的ASCII格式存儲,歐洲中心(ECMWF)的數值預報產品使用GRIB和Burf格式進行編碼,我國臺灣地區和美國合作的GPS掩星資料采用的是NETCDF格式。不同的數據格式給用戶帶來了諸多不便,建立一種高效、通用的標準化數據格式是大氣和遙感領域在數據存儲方面急需解決的問題。1998年美國國家航空與航天管理局( NASA)、美國國家計算機安全協會與美國三大實驗室( IINI,LANL,SNI)合作設計開發了一種新型的數據格式HDF5。HDF5具有自我描述、自我組織、可擴展、跨平臺和支持并行讀寫功能,被世界氣象組織列為氣象數據通用存儲格式。目前,越來越多的單位和機構采用HDF5格式來存儲數據,如美國NOAA系列衛星,歐洲的系列衛星和我國風云系列衛星。HDF5是一種層次式數據存儲格式,直接讀取HDF5文件是比較困難的,用戶需要用HDF5提供的接口程序對文件進行操作。如何讓讀寫HDF5變得簡單和易行是本文關注的重點。

1 HDF5數據格式

HDF5文件有兩種基本數據對象組(group)、數據集(datasets)和3種輔助對象:數據類型(datatype)、數據空間(dataspace)和屬性(attribute)。如圖1所示,HDF5文件結構類似于Unix操作系統下的文件目錄結構,組和數據集類比與文件夾和文件,最上級為根組(root group),下面包括組、數據集和全局屬性。組可以包含數據文件,也可以包含其他的組對象,從而形成一個層遞式的數據對象。數據集主要有數據空間(數組)和相關的描述信息(局地屬性),說明數據類型和數據的維數大小。全局屬性是用來描述整個HDF5文件的屬性信息。

2 程序設計

HDF5的本質是一個包括數據集和元數據的文件。HDF5庫提供了C和Fortran數據接口(API),這些API供用戶進行HDF5文件讀寫操作。所以,在利用這些API之前,先要安裝HDF5庫文件。如果要使用HDF5庫提供的Fortran API,在安裝庫的時候要使用選項confgure --enble-fortran(--enable-fortran2003)。在安裝目錄的lib目錄下有兩個靜態鏈接庫libhdf5.a和libhdf5_ fortran.a,這兩個文件分別是C和Fortran的API。下面以Fortran讀取HDF5數據集為例介紹基于API的二次開發。

圖1 HDF5文件結構示意

要利用API接口,在Module里邊就要用到USE HDF5。讀取數據集就必須要考慮數據類型和數據空間這兩個問題。因此,針對每一個數據類型和不同的空間維數分別寫一個函數,如讀取一維的實型(4字節)數據集,過程名H5Read_Real4_1d(cfname,cdataset,dataset). cfname是要讀取的HDF5的文件名,cdataset是數據集的名字(類似目錄結構),dataset就是用來讀取數據集的數值。具體過程如下:先利用API H5open_f初始化,然后用h5fopen_f打開文件,返回文件句柄,接著用h5dopen_f打開數據集,返回數據集的句柄,后面就是分配內存空間,然后用h5dread_f讀取數據集并且返回值。實現代碼如下(有刪減):

Fortran的數據類型有整型、實型和字符型,每一種類型按照不同的維數完成相應的過程代碼,如H5Read_ Real4_1d,H5Read_Int1_1d,H5Read_ReadString_1d....。最后用Fortran提供的重構(overload)功能,把這些不同類型不同維數的Module重構在一個Interface里。這樣,無論是什么類型的數據集也不管它是幾維數組,都用一個函數hdf5read去完成。最后,把這些文件編譯并arch成靜態庫libhdf5_read.a供用戶使用。代碼如下:

3 結語

本文重點討論了用HDF5的二次開發技術。通過封裝API函數,使得讀取HDF5的數據集變得非常簡單。本軟件的完成對于推動HDF5在我國的普及和傳播起到積極了的推動作用。利用同樣的方法和思路,很容易就可以完成其他類似數據格式的API封裝,如HDF4,HDF-EOS和NETCDF。本文給具有描述性的數據格式的封裝提供了一個有益的參考。

Secondary development of HDF5 data interface

Xiang Yuhong
(Dean's Offce of Nanjing University of Information Engineering, Nanjing 210044, China)

HDF5 is a data model with the advantages of self description, cross platform, supporting parallel reading and writing, which is adopted as a common format of meteorological data storage by World Meteorological Organization(WMO). Fortran is the main programming language of meteorological workers. This paper will focus on how to use Fortran language to develop HDF5 data interface,aiming to fnd an easy way to read and write HDF5 data.

HDF5; Fortran; secondary development

向玉紅(1977— ),女,湖北鶴峰,大專,助理工程師;研究方向:多媒體管理和維護。

猜你喜歡
二次開發
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
西門子Operate高級編程的旋轉坐標系二次開發
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
基于C#的AutoCAD建筑構件庫二次開發
江西建材(2018年2期)2018-04-14 08:01:14
西門子Easy Screen對倒棱機床界面二次開發
基于全站儀二次開發的覆冰厚度測量與實現
電測與儀表(2016年9期)2016-04-12 00:29:52
Micaps3.2 版本二次開發入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
基于VB的ANSYS二次開發在變壓器抗短路性能分析中的應用
基于CATIA的橡皮囊成形毛料展開的二次開發
機械工程師(2015年9期)2015-02-26 08:38:10
ANSYS Workbench二次開發在汽車穩定桿CAE分析中的應用
汽車零部件(2014年5期)2014-11-11 12:24:32
主站蜘蛛池模板: www.亚洲一区二区三区| 欧美成人精品一级在线观看| 亚洲久悠悠色悠在线播放| 欧美天堂久久| 久久香蕉国产线看观看式| 国产一级毛片在线| 波多野结衣一区二区三区88| 色网站在线视频| 永久成人无码激情视频免费| 欧美a在线视频| 亚洲视频欧美不卡| 国产精品白浆无码流出在线看| 2022国产无码在线| 亚洲成人黄色在线| 成人欧美在线观看| 欧美一区二区三区香蕉视| 全午夜免费一级毛片| 欧美a级完整在线观看| 亚洲午夜综合网| 国产第一色| 久久综合干| 成人毛片免费在线观看| 亚洲看片网| 亚洲中文字幕在线一区播放| 91po国产在线精品免费观看| 欧美啪啪一区| 九九视频免费在线观看| 中国国产高清免费AV片| 国产麻豆aⅴ精品无码| 农村乱人伦一区二区| 国产欧美精品一区二区| 欧美特黄一免在线观看| 在线无码av一区二区三区| 日本中文字幕久久网站| 高清不卡毛片| 国产成年无码AⅤ片在线| 欧美专区在线观看| 四虎亚洲国产成人久久精品| 国产精品久久自在自2021| 久久青草免费91观看| 成AV人片一区二区三区久久| 91精品国产一区自在线拍| 欧美一区二区三区欧美日韩亚洲| 国产一区二区三区在线观看视频| 一级黄色欧美| 欧美亚洲国产一区| 91区国产福利在线观看午夜| 九九热精品视频在线| 三上悠亚精品二区在线观看| 高清视频一区| 日韩欧美中文字幕一本| 精品91自产拍在线| 午夜视频www| 久久熟女AV| igao国产精品| 欧美色综合网站| 理论片一区| 无遮挡国产高潮视频免费观看| 一本无码在线观看| 欧美激情二区三区| 日本在线视频免费| 国产精品成人一区二区不卡| 精品国产免费观看| 日韩av电影一区二区三区四区| 亚洲欧美成aⅴ人在线观看| 亚洲第一色网站| 青青操国产视频| 激情乱人伦| 三级毛片在线播放| 日本亚洲国产一区二区三区| 99在线观看精品视频| 亚洲欧洲自拍拍偷午夜色| 91偷拍一区| 久一在线视频| 综合色在线| 国产一区二区精品高清在线观看 | 欧美精品亚洲二区| 97在线碰| 国产成人成人一区二区| 高清精品美女在线播放| 欧美在线网| 婷婷综合缴情亚洲五月伊|