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

HDF5數(shù)據(jù)接口的二次開發(fā)

2016-09-25 05:37:31向玉紅
無線互聯(lián)科技 2016年15期
關(guān)鍵詞:二次開發(fā)

向玉紅

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

HDF5數(shù)據(jù)接口的二次開發(fā)

向玉紅

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

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

HDF5;Fortran;二次開發(fā)

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

1 HDF5數(shù)據(jù)格式

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

2 程序設(shè)計(jì)

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

圖1 HDF5文件結(jié)構(gòu)示意

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

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

3 結(jié)語

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

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— ),女,湖北鶴峰,大專,助理工程師;研究方向:多媒體管理和維護(hù)。

猜你喜歡
二次開發(fā)
淺談基于Revit平臺(tái)的二次開發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
西門子Operate高級(jí)編程的旋轉(zhuǎn)坐標(biāo)系二次開發(fā)
淺談Mastercam后處理器的二次開發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
基于C#的AutoCAD建筑構(gòu)件庫二次開發(fā)
江西建材(2018年2期)2018-04-14 08:01:14
西門子Easy Screen對(duì)倒棱機(jī)床界面二次開發(fā)
基于全站儀二次開發(fā)的覆冰厚度測(cè)量與實(shí)現(xiàn)
Micaps3.2 版本二次開發(fā)入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
基于VB的ANSYS二次開發(fā)在變壓器抗短路性能分析中的應(yīng)用
基于CATIA的橡皮囊成形毛料展開的二次開發(fā)
ANSYS Workbench二次開發(fā)在汽車穩(wěn)定桿CAE分析中的應(yīng)用
汽車零部件(2014年5期)2014-11-11 12:24:32
主站蜘蛛池模板: 香蕉色综合| 大陆精大陆国产国语精品1024| 国产欧美精品专区一区二区| 国产精品无码久久久久久| 中文无码精品A∨在线观看不卡 | 国语少妇高潮| 波多野结衣一区二区三区AV| 中文成人无码国产亚洲| 亚洲精品无码AV电影在线播放| 亚洲精品无码在线播放网站| 无码日韩视频| 亚洲人成网站在线播放2019| 国产午夜一级淫片| 国产丝袜啪啪| 欧美国产精品不卡在线观看| 亚洲日韩Av中文字幕无码| 国产成人资源| 久久久91人妻无码精品蜜桃HD| 2022国产无码在线| 国产欧美精品一区aⅴ影院| 欧美日在线观看| 国产成人综合在线观看| 国产亚洲男人的天堂在线观看| 日本91视频| 青草娱乐极品免费视频| 亚洲中文字幕av无码区| 国产欧美日韩在线在线不卡视频| 国产女人爽到高潮的免费视频| 一级一毛片a级毛片| 日本成人福利视频| 欧美精品另类| 日韩高清欧美| 亚洲成综合人影院在院播放| 亚洲天堂网视频| 国产精品对白刺激| 在线视频精品一区| 亚洲无码视频一区二区三区 | 美女无遮挡免费视频网站| 五月婷婷中文字幕| 午夜精品福利影院| 91九色国产porny| 亚洲欧洲一区二区三区| 国产第四页| 亚洲区视频在线观看| 午夜小视频在线| 国产SUV精品一区二区6| 大香伊人久久| 国产色伊人| 国产麻豆永久视频| 精品视频在线一区| 国产激情影院| 国产理论一区| 亚洲国产清纯| 97视频精品全国免费观看| 久久亚洲高清国产| 在线无码私拍| 国产精品3p视频| 自拍偷拍欧美| 日韩国产精品无码一区二区三区 | 国产亚洲精品97在线观看| 成人免费网站在线观看| 国产成人亚洲无码淙合青草| 无码国内精品人妻少妇蜜桃视频| 亚洲日韩国产精品综合在线观看| 97在线免费| 久草美女视频| 五月婷婷导航| 呦系列视频一区二区三区| 亚洲欧美日韩成人在线| 亚洲中文字幕97久久精品少妇| 成人亚洲天堂| 精品国产一区二区三区在线观看| 亚洲一区二区三区香蕉| 国产综合精品日本亚洲777| 亚洲黄色成人| 亚洲欧美日韩另类在线一| 亚洲精品无码不卡在线播放| 久久精品欧美一区二区| 99re在线视频观看| 色婷婷电影网| 香蕉久久国产精品免| 97国产在线视频|