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
主站蜘蛛池模板: 欧美激情视频一区| 国产欧美日韩在线在线不卡视频| 九色在线视频导航91| 中文字幕有乳无码| 亚洲国产成熟视频在线多多 | 亚洲人成网18禁| 小蝌蚪亚洲精品国产| 熟妇无码人妻| 高清免费毛片| 精品亚洲欧美中文字幕在线看 | 久久国产免费观看| 老司机午夜精品视频你懂的| 看国产一级毛片| 亚洲综合专区| 国产丝袜91| 五月婷婷丁香综合| 亚洲色图欧美一区| 国产一区三区二区中文在线| 国产69精品久久久久妇女| 色婷婷视频在线| 四虎成人精品| 亚洲色图欧美| 第一页亚洲| 日韩欧美国产中文| 欧美亚洲国产精品久久蜜芽| 国产乱子伦视频在线播放| 91破解版在线亚洲| 人妻丰满熟妇av五码区| 十八禁美女裸体网站| 女人18毛片一级毛片在线 | 天堂在线视频精品| 欧美成人手机在线观看网址| 国产成人久久综合777777麻豆| 欧美国产日韩另类| 亚洲水蜜桃久久综合网站| 亚洲aaa视频| 成人精品免费视频| 国产99视频免费精品是看6| 欧美亚洲国产精品第一页| 日本高清免费一本在线观看| av在线无码浏览| 国产精品一区二区无码免费看片| 国产精品成人久久| 欧美日韩久久综合| 91视频99| 99人体免费视频| 精品国产自在现线看久久| 欧美a在线| 国产午夜一级淫片| 青草精品视频| 波多野结衣久久精品| 久久黄色视频影| 欧洲日本亚洲中文字幕| 亚洲av无码人妻| www精品久久| 国产在线观看一区二区三区| 亚洲欧美日韩中文字幕一区二区三区| 欧美激情成人网| 91精品情国产情侣高潮对白蜜| 欧美一区二区福利视频| 日本一区二区三区精品视频| 精品少妇人妻一区二区| 亚洲欧美日本国产专区一区| 四虎免费视频网站| 国产美女无遮挡免费视频| 亚洲精品第1页| 亚洲国产精品一区二区第一页免| 免费jizz在线播放| 99久久国产综合精品女同| 日韩在线视频网站| 日本高清免费一本在线观看| 欧美午夜网| 免费国产一级 片内射老| 久久精品人人做人人爽| 欧美综合中文字幕久久| 亚洲欧美成人| 91精品国产丝袜| 欧美翘臀一区二区三区| 国产亚洲欧美日本一二三本道| 亚洲欧美日韩成人在线| 亚洲资源在线视频| 久久久无码人妻精品无码|