亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        NetCDF數(shù)據(jù)格式在海洋斷面調(diào)查數(shù)據(jù)存儲(chǔ)中的應(yīng)用

        2016-08-31 07:22:00龍紹橋沈繼平唐德富陸偉先

        趙 強(qiáng),龍紹橋,沈繼平,唐德富,陸偉先

        (國家海洋局寧波海洋環(huán)境監(jiān)測(cè)中心站,浙江寧波 315040)

        ·研究簡(jiǎn)報(bào)·

        NetCDF數(shù)據(jù)格式在海洋斷面調(diào)查數(shù)據(jù)存儲(chǔ)中的應(yīng)用

        趙強(qiáng),龍紹橋,沈繼平,唐德富,陸偉先

        (國家海洋局寧波海洋環(huán)境監(jiān)測(cè)中心站,浙江寧波315040)

        摘要:通過制定合理的存儲(chǔ)規(guī)范,將NetCDF數(shù)據(jù)格式應(yīng)用于海洋斷面調(diào)查數(shù)據(jù)的存儲(chǔ),使NetCDF文件中可以包括調(diào)查記錄中的全部主要信息和數(shù)據(jù),并使某一特定站位、層次、變量的數(shù)據(jù)在不同航次的NetCDF文件中位于相同的陣元位置,相對(duì)于Excel或文本格式更便于高效的通過MATLAB等程序語言進(jìn)行數(shù)據(jù)的批量讀寫操作。本文也介紹了NetCDF在MATLAB中的讀寫操作。

        關(guān)鍵詞:NetCDF;存儲(chǔ)規(guī)則;MATLAB

        國家海洋局寧波海洋環(huán)境監(jiān)測(cè)中心站承擔(dān)著東海斷面海洋環(huán)境調(diào)查任務(wù),調(diào)查計(jì)劃每季度進(jìn)行一次,時(shí)間分別在2、5、8、11月份;自北向南分布有3個(gè)斷面,分別位于長(zhǎng)江口至濟(jì)州島連線、30°N和27°N,設(shè)計(jì)站位34個(gè);采樣深度為依照水深不同而不同,采樣深度見表1;調(diào)查內(nèi)容包括溫度、鹽度、營(yíng)養(yǎng)鹽、溶解氧、pH、堿度等。這些數(shù)據(jù)以Excel表格的形式存儲(chǔ)為電子文檔,供業(yè)務(wù)和科研人員使用。在使用時(shí),當(dāng)需要獲取特定數(shù)據(jù)時(shí),通常需要手動(dòng)打開Excel文件,找到相應(yīng)站位、深度對(duì)應(yīng)的數(shù)據(jù)。如果所需的數(shù)據(jù)量較大,人工查找的方式費(fèi)時(shí)費(fèi)力,我們期望能夠通過編程的方式自動(dòng)獲取對(duì)應(yīng)的數(shù)據(jù),但是由于每次調(diào)查的

        站位數(shù)、站位實(shí)際坐標(biāo)、采樣深度、調(diào)查站位順序會(huì)因季節(jié)和海況有所差異,導(dǎo)致每次調(diào)查獲得的數(shù)據(jù)量都不用,因此數(shù)據(jù)在Excel表格中所處的位置也都會(huì)不同。如果采用編程方法直接對(duì)這些Excel文件讀取需多次對(duì)關(guān)鍵詞進(jìn)行搜索,效率低下且較難實(shí)現(xiàn);如果先按照某一規(guī)則先對(duì)調(diào)查數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,使特定數(shù)據(jù)在文件中的位置固定,在批量獲取數(shù)據(jù)時(shí)直接調(diào)取對(duì)應(yīng)位置的數(shù)據(jù),則可提高效率。

        表1 東海斷面調(diào)查站點(diǎn)采樣深度

        NetCDF(Network Common Data Form,網(wǎng)絡(luò)通用數(shù)據(jù)格式)是一種面向數(shù)組型的數(shù)據(jù)描述方法和編碼標(biāo)準(zhǔn),是由美國大學(xué)大氣研究協(xié)會(huì)(University Corporation for Atmospheric Research,UCAR)的Unidata項(xiàng)目科學(xué)家針對(duì)科學(xué)數(shù)據(jù)的特點(diǎn)開發(fā)的[1-2]。NetCDF以數(shù)組的形式保存數(shù)據(jù),同時(shí)包含了數(shù)據(jù)或數(shù)據(jù)集的信息,可以對(duì)數(shù)據(jù)進(jìn)行高效地存儲(chǔ)、管理、獲取和分發(fā),因此被廣泛應(yīng)用于大氣科學(xué)、海洋學(xué)等諸多領(lǐng)域,也被主流程序語言所支持(如C、C++、Python、Fortran、MATLAB等)[3-4]。

        賈俊濤等[4]將海底地形數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),比較了NetCDF格式、文本格式和二進(jìn)制格式在文件的存儲(chǔ)大小、存儲(chǔ)時(shí)間、讀取時(shí)間和檢索時(shí)間四項(xiàng)指標(biāo)上的優(yōu)劣,結(jié)果顯示NetCDF格式在前三項(xiàng)上的效率略優(yōu)于其它兩種格式,而在第四項(xiàng)檢索時(shí)間上的效率顯著優(yōu)于其它兩種格式。通過對(duì)海洋斷面調(diào)查數(shù)據(jù)進(jìn)行整理,制定合理的存儲(chǔ)規(guī)則,將調(diào)查數(shù)據(jù)存儲(chǔ)為NetCDF格式,每個(gè)航次形成一個(gè)文件,就可以方便的通過編程對(duì)數(shù)據(jù)進(jìn)行批量讀取,便于數(shù)據(jù)的管理和應(yīng)用。

        1斷面調(diào)查數(shù)據(jù)存儲(chǔ)規(guī)則

        NetCDF文件中存儲(chǔ)的數(shù)據(jù)一般通過三種信息進(jìn)行描述,即維度(dimensions)、變量(variables)和屬性(attributes)。其中變量用于描述數(shù)據(jù)數(shù)組的基本信息,如:數(shù)組名、數(shù)據(jù)類型(整型、浮點(diǎn)型、字符型、等)、維數(shù)(一維、二維、等)等;維度定義了變量中每一維的長(zhǎng)度;屬性則給出了數(shù)據(jù)或數(shù)據(jù)集的附加信息(如數(shù)據(jù)的全名、單位、值的含義、數(shù)據(jù)來源、調(diào)查時(shí)間、等)。

        1.1維度

        維度決定了各變量數(shù)組的大小。根據(jù)斷面調(diào)查特征,在存儲(chǔ)規(guī)則中設(shè)置三種維度,分別為站位數(shù)、采樣層數(shù)、站位名長(zhǎng)度。其中站位數(shù)和采樣層數(shù)決定了NetCDF文件中溫度等變量的數(shù)值大小。為了保持各航次的特定數(shù)據(jù)在各文件中的排序一致,以最大站位數(shù)和最大采樣層數(shù)作為維度,即站位數(shù)統(tǒng)一設(shè)為34個(gè),采樣層數(shù)設(shè)為16層,分別為0、5、10、15、20、25、30、50、75、100、125、150、200、250、300和400 m,對(duì)于無觀測(cè)的站位、層次以空數(shù)據(jù)NaN表示。站位名長(zhǎng)度用4位的數(shù)字加以表示。維度設(shè)置見表2。

        表2  維度設(shè)定

        1.2變量和屬性

        變量用來定義數(shù)組,這些數(shù)組可以用來存儲(chǔ)調(diào)查信息(如站位名、經(jīng)緯度、調(diào)查時(shí)間等)和實(shí)際數(shù)據(jù)(如溫度、鹽度、溶解氧)等,每個(gè)變量都至少應(yīng)包括維度信息和數(shù)據(jù)類型信息。屬性用來定義數(shù)據(jù)的單位和對(duì)數(shù)據(jù)的進(jìn)一步描述。變量和屬性的設(shè)定見表3。

        表3  變量和屬性設(shè)定

        由于各航次調(diào)查站位可能存在一些不同,我們用station_name_valid變量表示該站位是否有進(jìn)行觀測(cè),0表示有觀測(cè),1表示未觀測(cè);針對(duì)調(diào)查中站點(diǎn)的實(shí)際位置和采樣的實(shí)際深度與設(shè)計(jì)位置、深度可能存在偏差的情況,我們用lon_real、lat_real和station_level_real來表示實(shí)際的站點(diǎn)位置和采樣深度。將海洋環(huán)境變量(如溫度等)表示為站位數(shù)和層數(shù)的二維數(shù)組,對(duì)于沒有進(jìn)行觀測(cè)的站位、水層,用NaN填充對(duì)應(yīng)的變量值。每一組海洋環(huán)境變量數(shù)組都對(duì)應(yīng)一組標(biāo)識(shí)數(shù)組(_flag)用來表示數(shù)據(jù)的觀測(cè)質(zhì)量,用0表示數(shù)據(jù)正常,2表示數(shù)據(jù)可能存在異常,4表示數(shù)據(jù)沒有觀測(cè)。

        通過這種存儲(chǔ)規(guī)則,NetCDF文件中可以包括斷面調(diào)查記錄中的全部主要信息和數(shù)據(jù),而且某一特定的站位、采樣深度、變量的數(shù)據(jù)在不同航次的NetCDF文件中位于相同的陣元位置,因此可以通過編程的方法方便高效的調(diào)取。

        2 NetCDF格式在MATLAB中的應(yīng)用實(shí)例

        MATLAB是一種常用的數(shù)學(xué)軟件,可以進(jìn)行復(fù)雜的數(shù)據(jù)運(yùn)算,在海洋研究中經(jīng)常被用于數(shù)據(jù)的讀寫、處理、分析、計(jì)算和可視化。MATLAB對(duì)NetCDF格式文件的支持一直在不斷加強(qiáng)。在MATLAB R2011a版本之前,我們需要安裝額外的插件和工具包來對(duì)NetCDF文件進(jìn)行操作;而在之后的版本,MATLAB則內(nèi)置了對(duì)NetCDF格式的支持,且提供了High-level和Low-level兩種文件操作方式。High-level方式操作方便,而Low-level方式的功能則更為強(qiáng)大。

        下面以溫度變量為例,簡(jiǎn)要介紹通過MATLAB制作一個(gè)NetCDF文件的過程,制作過程分為創(chuàng)建和寫入兩個(gè)部分。我們采用MATLAB R2014a版本,用Low-level方式創(chuàng)建NetCDF文件,用High-level方式將觀測(cè)數(shù)據(jù)寫入文件。

        2.1NetCDF文件的創(chuàng)建

        Low-level方式創(chuàng)建一個(gè)NetCDF文件主要包括三個(gè)步驟:定義維度、定義變量、定義屬性。

        1)用netcdf.create命令創(chuàng)建一個(gè)空的NetCDF文件:nc=netcdf.create('文件名.nc','clobber');

        2)用netcdf.defDim命令定義維度:nsta=netcdf.defDim(nc,'nsta',34);%站位數(shù)34 nlevel=netcdf.defDim(nc,'nlevel',16);%采用層數(shù)16

        3)用netcdf.defVar命令定義溫度變量,數(shù)據(jù)類型為浮點(diǎn)型:temp=netcdf.defVar(nc,'temp','NC_FLOAT',[nsta,nlevel]);

        4)用netcdf.putAtt命令定義屬性:可以定義溫度的局部屬性,如全名、單位等,netcdf.putAtt(nc,temp,'long_name','temperature');netcdf.putAtt(nc,temp,'units','degree Celsius');

        5)用netcdf.endDef命令結(jié)束定義:netcdf.endDef(nc);

        6)用netcdf.putVar命令將NaN作為溫度的默認(rèn)值寫入變量數(shù)組:netcdf.putVar(nc,temp,NaN(34,16));

        7)用netcdf.close命令把數(shù)據(jù)寫入文件中,結(jié)束文件創(chuàng)建:netcdf.close(nc);

        至此一個(gè)NetCDF文件創(chuàng)建完成。

        2.2NetCDF文件的讀寫

        將整理好的Excel表格導(dǎo)入MATLAB,并按照預(yù)定的站位順序排序,通過循環(huán)判斷各環(huán)境變量數(shù)值所處的站位和水層,然后用High-level方式的ncwrite命令將數(shù)據(jù)依次寫入NetCDF文件即可。寫入命令為:ncwrite(文件名,變量名,變量值)。

        通過ncread命令,可以將NetCDF文件中的數(shù)據(jù)全部或部分的讀入MATLAB進(jìn)行進(jìn)一步的處理、分析、可視化,或輸出為其它軟件所需要的文件格式。讀取命令為:ncread(文件名,變量名)。

        3結(jié)論

        本文將NetCDF數(shù)據(jù)格式應(yīng)用于斷面調(diào)查數(shù)據(jù)的存儲(chǔ)。通過制定存儲(chǔ)規(guī)范,使NetCDF文件中可以包括調(diào)查記錄中的全部主要信息和數(shù)據(jù),而且使某一特定站位、層次、變量的數(shù)據(jù)在不同航次的NetCDF文件中位于相同的陣元位置,可以通過MATLAB方便的進(jìn)行數(shù)據(jù)的創(chuàng)建和讀寫操作,便于對(duì)數(shù)據(jù)的進(jìn)一步整理、分析和可視化處理。與Excel格式的數(shù)據(jù)報(bào)表相比,NetCDF文件具有讀寫效率高、可操作性強(qiáng)、平臺(tái)支持廣泛的優(yōu)點(diǎn);缺點(diǎn)是直觀性不高,且操作需要一定的編程基礎(chǔ),因此更適合于數(shù)據(jù)的批量讀取。

        參考文獻(xiàn):

        [1]REW R K,DAVIS G P,EMMERSON S,et al.NetCDF User's Guide for C[Z].An Interface for Data Access,Version 3,1997.

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

        [3]劉文軍,李 靖,袁昌洪,等.基于NetCDF數(shù)據(jù)模型的氣象資料存儲(chǔ)設(shè)計(jì)[J].安徽農(nóng)業(yè)科學(xué),2009,37(3):1 370-1 371.

        [4]賈俊濤,孟嬋媛,宋海英,等.基于NetCDF的海底地形網(wǎng)格數(shù)據(jù)模型創(chuàng)建與調(diào)度[J].海洋測(cè)繪,2007,27(5):22-25.

        中圖分類號(hào):P731

        文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號(hào):1008-830X(2016)01-0086-04

        收稿日期:2015-10-19 基金項(xiàng)目:海洋赤潮災(zāi)害立體監(jiān)測(cè)技術(shù)與應(yīng)用國家海洋局重點(diǎn)實(shí)驗(yàn)室(MATHAB2014006)

        作者簡(jiǎn)介:趙強(qiáng)(1982-),男,浙江寧波人,博士研究生,研究方向:近岸動(dòng)力學(xué)及其模擬.E-mail:qiangzhao.cn@gmail.com

        The Application of NetCDF Data in the Storage of Marine Section Investigation

        ZHAO Qiang,LONG Shao-qiao,SHEN Ji-ping,et al
        (Ningbo Marine Environment Monitoring Center,SOA,Ningbo315040,China)

        Abstract:A proper standard was designed based on the array-oriented,self-describing data format of NetCDF to store the oceanic section investigation data.Under this standard,the variables of the specific station,level but in different surveys can be stored in the same array element positions of NetCDF files,and the batch read/write processing was more efficient base on NetCDF format than Excel or text format.The read and write processes in MATLAB were also introduced.

        Key words:NetCDF;storage standard;MATLAB

        女同亚洲一区二区三区精品久久 | 精品爆乳一区二区三区无码av| 97中文字幕在线观看| 网红极品女神精品视频在线| 国产内射一级一片内射高清视频1| 日韩免费视频| 日韩视频中文字幕精品偷拍 | 久久无码人妻精品一区二区三区| 久久国产成人亚洲精品影院老金| av中文码一区二区三区| 性感美女脱内裤无遮挡| 精品国产偷窥一区二区| 日躁夜躁狠狠躁2001| 91性视频| 91蜜桃精品一区二区三区毛片| 亚洲成年国产一区二区| 亚洲精品第一国产综合精品| 不卡高清av手机在线观看| 韩国女主播一区二区在线观看 | 超清纯白嫩大学生无码网站| 国产精品大屁股1区二区三区| 青青草国内视频在线观看| 日本九州不卡久久精品一区| 国产98色在线 | 国产| 国产超碰人人模人人爽人人喊| 久久精品国产屋| 中文字幕亚洲综合久久久| 综合图区亚洲另类偷窥| 超清精品丝袜国产自在线拍| 国产女人精品视频国产灰线| 日本精品一区二区三区在线播放| 久久96日本精品久久久| 永久黄网站色视频免费看| 99久久免费看少妇高潮a片特黄| 国产精品亚洲专区无码不卡| 日本一区二区三区精品免费| 欧美老熟妇乱子| 中文字幕有码无码av| 国产360激情盗摄一区在线观看 | 国产国拍亚洲精品福利| 国产久久久自拍视频在线观看|