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

基于NetCDF的數(shù)值預報產(chǎn)品存儲和應用

2015-09-18 05:53:58呂梁陳晴滕舟
現(xiàn)代計算機 2015年13期
關鍵詞:數(shù)據(jù)庫產(chǎn)品

呂梁,陳晴,滕舟

(浙江省氣象信息網(wǎng)絡中心,杭州,310017)

基于NetCDF的數(shù)值預報產(chǎn)品存儲和應用

呂梁,陳晴,滕舟

(浙江省氣象信息網(wǎng)絡中心,杭州,310017)

對基于NetCDF的數(shù)值預報產(chǎn)品的存儲和應用等方面的關鍵技術進行深入的研究,其中包括NetCDF的功能概況、數(shù)據(jù)結(jié)構(gòu)、使用方法和特點分析,基于NetCDF的數(shù)值預報產(chǎn)品存儲架構(gòu)設計以及在此架構(gòu)之上的數(shù)值預報產(chǎn)品應用模式分析等。提出一套可以支持各類數(shù)值預報產(chǎn)品規(guī)范存儲,統(tǒng)一訪問接口友好、高效輸出的數(shù)值預報產(chǎn)品存儲和應用技術。實驗表明,該關鍵技術解決方案具有較好的實際操作性,能夠支持大部分數(shù)值預報模式,對各類終端系統(tǒng)具有良好的兼容性。

NetCDF;數(shù)值預報;存儲架構(gòu);應用模式;訪問接口

0 引言

隨著氣象信息化的不斷推進,各類數(shù)值預報產(chǎn)品基本以文件庫和關系型數(shù)據(jù)庫的形式提供共享,但是由于產(chǎn)品內(nèi)容豐富、格式復雜、存放規(guī)范不統(tǒng)一和調(diào)用規(guī)則不一致等原因?qū)е履壳斑€缺乏統(tǒng)一的產(chǎn)品訪問接口。各類模式預報數(shù)據(jù)[1]在業(yè)務使用上,存在數(shù)據(jù)無法統(tǒng)一讀取,訪問方式復雜多樣,抽取時間序列困難等一系列問題。

因此,研究如何建立一套規(guī)范化的數(shù)值預報產(chǎn)品存儲和應用設計方案,就有其現(xiàn)實意義。本文基于大數(shù)據(jù)存儲系統(tǒng)作為數(shù)據(jù)環(huán)境運行的硬件和軟件平臺,建立基于NetCDF文件格式的格點數(shù)據(jù)專用數(shù)據(jù)庫,開發(fā)支持HTTP、SOAP協(xié)議和Socket技術的格點數(shù)據(jù)計算處理算法,采用標準化數(shù)據(jù)的輸出格式和規(guī)范化接口的調(diào)用方法,提供一致的接口來訪問不同的數(shù)值預報產(chǎn)品。能夠快速地對預報數(shù)據(jù)按照地理區(qū)域進行單個時次數(shù)據(jù)的獲取功能,能夠?qū)δ骋蛔鴺它c的單個氣象要素進行24小時序列的快速獲取和其他一些具體的數(shù)據(jù)訪問接口功能。

根據(jù)這一思想,本文從NetCDF的功能概況、數(shù)據(jù)結(jié)構(gòu)、使用方法和特點分析,基于NetCDF的數(shù)值預報產(chǎn)品存儲架構(gòu)設計以及在此架構(gòu)之上的數(shù)值預報產(chǎn)品應用模式分析等多個角度進行深入研究。在此基礎上,如何增加統(tǒng)一訪問接口對數(shù)值預報產(chǎn)品的整體支持,就成為了本文需要重點解決的問題。

1 NetCDF技術

1.1NetCDF概況

NetCDF是網(wǎng)絡通用數(shù)據(jù)格式(Network Common Data Form)的簡稱,主要特點是能夠通過統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)快速高效地讀取包括單點、時間序列等的網(wǎng)格類數(shù)據(jù),以文件擴展名.nc結(jié)尾。

NetCDF存取的數(shù)據(jù)分布系統(tǒng)是一個基于多維的數(shù)據(jù)格式,如果需要獲得某個單點數(shù)據(jù)時,不需要按照傳統(tǒng)方法遍歷所有前部節(jié)點,而是由NetCDF特定算法直接存取那一個數(shù)據(jù)[2]。因此,通過NetCDF不僅能夠高效地管理、讀取和更改海量的網(wǎng)格數(shù)據(jù),而且能夠大大降低模式產(chǎn)品計算所必須消耗的數(shù)據(jù)存取時間,已經(jīng)成為了包括氣象、水文、海洋和地理等科技領域的數(shù)據(jù)生成標準。

1.2NetCDF文件結(jié)構(gòu)

NetCDF文件主要是Dimensions、Variables、Attributes、Data四個部分組成的[3]。NetCDF存儲的數(shù)據(jù)可從數(shù)學角度理解為由多自變量共同決定的單值函數(shù):

F(x,y,z,...)=value

公式中的多個自變量(x,y,z,…等)在NetCDF里稱為維(Dimensions),例如維度可以是時間、緯度、經(jīng)度等;公式中的單值函數(shù)值value在NetCDF里稱為變量(Variables),例如海拔、降水等。另外,為了能夠更準確地描述函數(shù)值與自變量各自的特性(單位、學名等),NetCDF還增加了稱為屬性(Attributes)的字段。最后稱為Data的部分主要存儲數(shù)據(jù)資料。

一個NetCDF文件的結(jié)構(gòu)示例如下:

NetCDF name{

Dimensions:…//定義維數(shù)

Variables:…//定義變量

Attributes:…//屬性

Data:…//數(shù)據(jù)

1.3坐標系變換

NetCDF維度的默認步進為1。然而在現(xiàn)實應用情況下,經(jīng)常使用的是自定義的坐標系統(tǒng),此時可以使用(Coordinate Varibles)坐標變量[4]。坐標變量是一個以特定維度為自變量的一維單值函數(shù)。舉例如下:

NetCDF test_pres{

dimensions:

latitude=6;//緯度軸

longitude=12;//經(jīng)度軸

variables:

float latitude(latitude);//坐標變量,具體緯度

float longitude(longitude);//坐標變量,具體緯度

float pressure(latitude,longitude);//氣壓值

data:

latitude=25,30,35,40,45,50;

longitude=-125,-120,-115,-110,-105,-100,-95,-90,-85,-80,-75,-70;

pressure=902,906,912,918,924,930,936,942,948,954,960,966,

……

905,911,917,923,929,935,941,947,953,959,965,973;

通過坐標變換的方式進行轉(zhuǎn)換,結(jié)果為:

latitude=25,longitude=-125時,pressure=902;

latitude=50,longitude=-70時,pressure=973;

以此類推。

1.4NetCDF程序讀寫

Java的編程環(huán)境為Eclipse+jdk7,新建項目,將下載的NetCDF 4.3的jar包添加到項目的編譯路徑下,完成編譯、運行后能夠產(chǎn)生simple_xy.nc結(jié)果,代碼如下:

public boolean writeToNetdf3(String datasetIn,String datasetOut,boolean isLargeFile)throws IOException{

NetCDFFile ncfileIn=ucar.nc2.dataset.NetCDFDataset. openFile(datasetIn,null);

System.out.println("Read from"+datasetIn+"write to" +datasetOut);

NetCDFFile ncfileOut=ucar.nc2.FileW riter.writeToFile(ncfileIn,datasetOut,false,-1,isLargeFile);

ncfileIn.close();

ncfileOut.close();

System.out.println("NetCDFFile successfully written="+ ncfileOut);

2 數(shù)值預報產(chǎn)品存儲設計

2.3NetCDF存儲目錄結(jié)構(gòu)

對目前使用較頻繁的數(shù)值預報產(chǎn)品數(shù)據(jù)進行分解處理,按照格點數(shù)據(jù)的一些屬性進行了分類存儲管理。建立基于NetCDF格式的數(shù)值預報數(shù)據(jù)庫,按照一定目錄規(guī)則結(jié)構(gòu)和數(shù)據(jù)組織結(jié)構(gòu)進行規(guī)整存儲。NetCDF存儲目錄的組織形式為:

根目錄/模式名稱/年月日/氣象要素NC文件

具體目錄存儲示例如圖1。

根據(jù)各類模式提供的要素名稱,如圖2:

圖1 存儲目錄結(jié)構(gòu)

表1 要素定義

將NetCDF的文件名定義為:“要素”+“_”+“生成時間”+“預報時間”+“.nc”,如圖2:

圖2 文件名稱

2.2NetCDF數(shù)據(jù)結(jié)構(gòu)

NetCDF格式的格點數(shù)據(jù)的組織,按照每個氣象要素建立整日的格點數(shù)據(jù)文件,包含每個起報時間制作或訂正的各預報時效預報數(shù)據(jù),NetCDF數(shù)據(jù)格式的定義如下:

(1)Dimensions維度段:設定氣象要素為4個緯度數(shù)據(jù)(time,level,lat,lon),包括時間、層次、緯度和經(jīng)度。

(2)Variables屬性段:描述各類屬性值,其中l(wèi)on(lon)為經(jīng)度方向格點數(shù)量;lat(lat)為維度方向格點數(shù)量;level(level)指定具體的高度層次值;time(time)指定具體的起報時間值;flag(flag用來表示某一起報時間的預報數(shù)據(jù)是否被寫入;tstr(tstr)設定具體起報時間;ystr(ystr)用來設定該預報制作的年份。

(3)Data數(shù)據(jù)段:存儲各屬性定義的具體值。其中存儲了整日每個起報時間制作的逐個預報時效的氣溫格點數(shù)據(jù),覆蓋全部預報時效。

具體的文件示例:

dimensions:

lon=116;lat=125;level=1;time=4;

variables:

float lon(lon);lon:units="degrees_east";

float lat(lat);lat:units="degrees_north";

float level(level);level:units="millibars";

float time(time);time:units="days since 2015-01-01 00:00:00";

float flag(time);float tstr(time);float ystr(time);

float t2mm001(time,level,lat,lon);

t2mm001:missing_value=-999999.0f;

float t2mm002(time,level,lat,lon);…………

data:

lon=116,116.05,116.1,……,124.9,124.95,125;

lat=25,25.05,20.1,……,32.9,32.95,33;

level=0;

time=0,0.25,0.5,0.75;

flag=1,_,1,_,1,_,……;

tstr=10100,_,10112,_,10200,_,……;

ystr=2014,_,2014,_,2014,_,……;

t2mm01=23.1,24.2,……

3 數(shù)值預報產(chǎn)品應用

3.1數(shù)據(jù)源整體架構(gòu)

目前,在業(yè)務支持環(huán)境里有以下三類數(shù)據(jù)源:

(1)格點數(shù)據(jù)庫

對大部分數(shù)值預報進行解碼工作,采用Grib1、Grib2格式進行統(tǒng)一存儲管理。

(2)NetCDF格點數(shù)據(jù)庫

本文按照CIMISS標準搭建NetCDF格點數(shù)據(jù)庫,以支撐格點應用系統(tǒng)。

(3)其他格點數(shù)據(jù):HDF4、HDF5、Micaps等。

3.2統(tǒng)一訪問接口

在建立了基于NetCDF文件格式的統(tǒng)一的規(guī)范化格點數(shù)據(jù)庫以后,開發(fā)并拓展基于CIMISS的格點數(shù)值預報統(tǒng)一數(shù)據(jù)訪問接口,增加對自有模式產(chǎn)品和國外其他模式產(chǎn)品的支持,從而實現(xiàn)更加豐富的標準化數(shù)據(jù)輸出和規(guī)范化接口的調(diào)用方法。利用統(tǒng)一的數(shù)據(jù)訪問接口作為業(yè)務應用與數(shù)據(jù)庫之間的中間層,實現(xiàn)軟件架構(gòu)的松耦合,對應用的擴展提供更好的基礎。

統(tǒng)一數(shù)據(jù)訪問接口支持HTTP、SOAP協(xié)議[5]和Socket技術的格點數(shù)據(jù)計算處理方法,提供精細化預報系統(tǒng)格點數(shù)據(jù)的讀取、寫入、更新和同步訪問接口。各級用戶通過發(fā)布的統(tǒng)一接口獲取數(shù)據(jù)。總體架構(gòu)如圖3所示。

圖3 總體架構(gòu)

數(shù)據(jù)服務接口根據(jù)格點預報制作與訂正過程中涉及到的具體數(shù)據(jù)訪問接口,使用統(tǒng)一和標準化的調(diào)用方式和數(shù)據(jù)封裝結(jié)果(返回結(jié)果調(diào)用方式、接口命名、參數(shù)命名)。能夠按照具體業(yè)務應用場景提供格點數(shù)據(jù)中整個平面場寫入、指定格點數(shù)據(jù)寫入、裁剪、讀取和插值的數(shù)據(jù)操作功能。同時,接口具備均衡負載策略,能夠提供較高的響應和處理效率,流程的配和基于GUI格點的編輯,兼容大部分流行開發(fā)環(huán)境的調(diào)用。讀取、寫入接口分別被封裝為Linux版本和Windows版本的動態(tài)庫,方便精細化預報編輯工具的使用,同時采用Socket的數(shù)據(jù)傳輸方式,盡量避免多余的數(shù)據(jù)傳輸。

3.3數(shù)據(jù)管理

為了增強數(shù)值預報產(chǎn)品業(yè)務支撐的穩(wěn)定性,需要對格點數(shù)據(jù)庫進行日常的數(shù)據(jù)管理,包括定時預先生成空場格點預報數(shù)據(jù)、格點數(shù)據(jù)備份和歷史格點數(shù)據(jù)的歸檔存儲。對數(shù)值預報格點數(shù)據(jù)服務,進行日常的監(jiān)控管理,包括定時監(jiān)視數(shù)據(jù)服務狀態(tài)、每次請求數(shù)據(jù)的日志記錄、實時統(tǒng)計在線用戶數(shù)量和數(shù)據(jù)同步進程的運行狀態(tài)。對預報制作業(yè)務,進行日常告警監(jiān)控,包括監(jiān)視各時次預報制作的情況、數(shù)據(jù)上傳情況、數(shù)據(jù)同步情況等。

以上各類業(yè)務的監(jiān)視,運行監(jiān)視均納入到統(tǒng)一的監(jiān)視平臺,提供統(tǒng)一的值班監(jiān)視頁面由專人維護,包括系統(tǒng)狀態(tài)監(jiān)視、存儲空間監(jiān)視、進程監(jiān)視、接口訪問性能監(jiān)視、預報制作、數(shù)據(jù)上傳和同步等各個方面。

[1]周毅.數(shù)值天氣預報基礎[M].氣象出版社,2003

[2]Ramamurthy M.NetCDFC/C++/Fortran Source Code and Documentation[EB/OL].http://www.unidata.ucar.edu/software/NetCDF/,2008

[3]Russ Rew,Glenn Davis,Steve Emmerson,Ha-rvey Davies.NetCDFFortran 90 Interface Guide[M].Boulder:Unidata Program Center,2005

[4]查石祥.NetCDF數(shù)據(jù)的編程式訪問[J].氣象科技,2004(增刊):40~43

[5]James Snell,Doug Tidwell,Pavel Kulchenko.SOAPWeb服務開發(fā)[M].中國電力出版社,2002

NetCDF;Numerical Forecast;Storage;App lication Mode;Access Interface

Storage and App lication of Num erical Forecast Products Based on NetCDF

LV Liang,CHEN Qing,TENG Zhou

(Zhejiang Meteorological Information and Network Center,Hangzhou 310017)

Makes a deep research on key technology of the storage and application of numerical forecast products based on NetCDF,including the overview of the functions,data structures,usingmethods and characteristics of NetCDF,the product storage architecture design and the application of numerical forecast products based onmode analysis.Proposes a set of technologies which can support a variety of standardized storage,the unified access interface can friendly and efficient output all kinds of numerical forecast products.Experimental results show that the solutions are practical,can supportmostof numerical forecastmodel and have a good compatibility to all kinds of terminal system.

1007-1423(2015)16-0047-05

10.3969/j.issn.1007-1423.2015.16.011

呂梁(1983-),男,浙江衢州人,工程師,碩士研究生,研究方向為信息網(wǎng)絡和辦公自動化

陳晴(1984-),女,浙江杭州人,工程師,本科,研究方向為信息網(wǎng)絡和數(shù)據(jù)庫

滕舟(1982-),男,浙江杭州人,工程師,本科,研究方向為信息網(wǎng)絡和網(wǎng)絡安全

2015-04-29

2015-05-21

猜你喜歡
數(shù)據(jù)庫產(chǎn)品
好產(chǎn)品,可持續(xù)
從靈感出發(fā),邂逅好產(chǎn)品
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
2015產(chǎn)品LOOKBOOK直擊
Coco薇(2015年1期)2015-08-13 02:23:50
數(shù)據(jù)庫
財經(jīng)(2010年20期)2010-10-19 01:48:32
新產(chǎn)品
玩具(2009年10期)2009-11-04 02:33:14
主站蜘蛛池模板: 国产精品视频观看裸模| www.狠狠| 午夜日b视频| 黄色网在线| 国产成人一区二区| 国产91全国探花系列在线播放| 在线观看热码亚洲av每日更新| 美女高潮全身流白浆福利区| 国产精品亚洲欧美日韩久久| 国产熟睡乱子伦视频网站| 国产地址二永久伊甸园| 亚洲区一区| 日韩精品欧美国产在线| 国产91小视频在线观看| 中国毛片网| 91黄视频在线观看| 99热这里只有精品国产99| 亚洲人成网址| 欧美日韩精品一区二区视频| 任我操在线视频| 狠狠做深爱婷婷久久一区| 精品综合久久久久久97超人该| 美女裸体18禁网站| 国产经典三级在线| 韩日免费小视频| 亚洲天堂网站在线| 日韩欧美在线观看| 免费不卡在线观看av| 2020极品精品国产| 国产欧美日韩va| 国产精品香蕉在线观看不卡| 青青操视频在线| 又黄又湿又爽的视频| 日韩色图区| 精品久久久久久成人AV| 99久久人妻精品免费二区| 在线观看无码av免费不卡网站| 国产成人乱无码视频| 91色爱欧美精品www| 久久久久88色偷偷| 亚洲欧美自拍一区| 国产丝袜无码一区二区视频| 国产日韩欧美精品区性色| 日韩AV无码一区| 精品夜恋影院亚洲欧洲| 99免费视频观看| 欧美区国产区| 国产在线91在线电影| 国产精鲁鲁网在线视频| 九月婷婷亚洲综合在线| 亚洲欧美激情另类| AV在线天堂进入| 国产欧美精品午夜在线播放| 国产伦片中文免费观看| 99在线观看国产| 国产精品成人久久| 男女猛烈无遮挡午夜视频| 国产尤物在线播放| 久久亚洲国产视频| 91在线中文| 操国产美女| 日韩精品一区二区三区大桥未久| 伊人欧美在线| 免费a级毛片18以上观看精品| 国产小视频免费| 亚洲精品无码日韩国产不卡| 国语少妇高潮| 亚洲成网777777国产精品| 亚洲三级影院| 久青草网站| 亚洲欧美成aⅴ人在线观看| 欧美色视频网站| 99人妻碰碰碰久久久久禁片| 国产欧美精品午夜在线播放| 国产一区二区免费播放| 日韩免费中文字幕| 97在线公开视频| 色综合a怡红院怡红院首页| 日韩成人在线一区二区| 色婷婷成人网| 色首页AV在线| 欧美一级在线|