游茂燕
摘 要:海表面溫度(SST)是海洋-大氣系統(tǒng)中的一個(gè)重要物理量。所以,提供高精度的海表面溫度,對(duì)了解全球氣候變化及其他各種海洋科學(xué)工作有重要意義。衛(wèi)星遙感提供了獲得海表面溫度的有效可行方法。MODIS具有強(qiáng)大的海洋信息探測(cè)功能,其存儲(chǔ)和分發(fā)格式為HDF,可以通過(guò)交互式語(yǔ)言IDL編程,實(shí)現(xiàn)利用MODIS數(shù)據(jù)進(jìn)行全球SST反演。
關(guān)鍵詞:海表面溫度;MODIS;反演;IDL
中圖分類(lèi)號(hào):TB
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):16723198(2015)19022603
0 前言
衛(wèi)星SST觀測(cè)的目的是為了了解區(qū)域和全球的氣候變化,使人們能認(rèn)識(shí)大范圍的洋流變化。這些觀測(cè)是非常重要的。首先,3m內(nèi)的上層水體具有大致相同的熱容量,上層10m的海水質(zhì)量與覆蓋其上的水柱的大致相同,海洋上層具有調(diào)節(jié)全球氣候系統(tǒng)的能力,而SST與海洋上層的熱存儲(chǔ)成比例。第二,大氣的水汽和熱通量的時(shí)間分布是海表面溫度的函數(shù)。第三,海表面溫度的梯度分布與流系、渦、氣流和上升流區(qū)域有關(guān),這些過(guò)程在SST圖像上是可以看到的。
隨著人們認(rèn)識(shí)的提高和衛(wèi)星探測(cè)技術(shù)的發(fā)展,衛(wèi)星海表面溫度反演方法也在不斷的發(fā)展。目前,反演方法主要?dú)w為兩大類(lèi):一類(lèi)是利用與衛(wèi)星同步的浮標(biāo)回歸得到海表面溫度反演系數(shù),另一類(lèi)是利用大氣輻射傳遞模式模擬計(jì)算從海面到衛(wèi)星高度處的輻射傳輸,獲得海表面溫度反演系數(shù)。本次實(shí)驗(yàn)中的SST反演算法屬于第一類(lèi),即采用的參數(shù)由實(shí)測(cè)數(shù)據(jù)回歸分析而來(lái)。
1 MODIS介紹
中分辨率成像光譜儀(Moderate-resolution Imaging Spectroradiometer)-MODIS是Terra和Aqua衛(wèi)星上搭載的主要傳感器之一,兩顆星相互配合每1-2天可重復(fù)觀測(cè)整個(gè)地球表面,得到36個(gè)波段的觀測(cè)數(shù)據(jù),這些數(shù)據(jù)將有助于我們深入理解全球陸地、海洋和低層大氣內(nèi)的動(dòng)態(tài)變化過(guò)程,因此,MODIS在發(fā)展有效的、全球性的用于預(yù)測(cè)全球變化的地球系統(tǒng)相互作用模型中起著重要的作用,其精確的預(yù)測(cè)將有助于決策者制定與環(huán)境保護(hù)相關(guān)的重大決策。MODIS自2000年4月開(kāi)始正式發(fā)布數(shù)據(jù),NASA對(duì)MODIS數(shù)據(jù)以廣播X波段向全球免費(fèi)發(fā)送,我國(guó)目前已建立了數(shù)個(gè)接收站并分別于2001年3月前后開(kāi)始接收數(shù)據(jù)。由于NASA對(duì)MODIS數(shù)據(jù)實(shí)行這種全球免費(fèi)接收的政策,使得MODIS數(shù)據(jù)的獲取十分廉價(jià)和方便。MODIS數(shù)據(jù)的存儲(chǔ)和分發(fā)格式為HDF(Hierarchical Data Format),MODIS數(shù)據(jù)的存儲(chǔ)和分發(fā)格式為HDF(Hierarchical Data Format),HDF是一種國(guó)際標(biāo)準(zhǔn)的超文本文件格式,由美國(guó)國(guó)家高級(jí)計(jì)算應(yīng)用中心組織開(kāi)發(fā),能夠存儲(chǔ)和處理不同種類(lèi)的大數(shù)據(jù)的科學(xué)數(shù)據(jù),MODIS使用的是HDF4版本,目前包括C、Fortran、Matlab和IDL等軟件都可以方便地進(jìn)行讀取和處理。表1列出了SST反演中使用的MODIS波段,對(duì)每一個(gè)波段列出了熱紅外波段的波長(zhǎng)范圍和NET。
2 IDL介紹
IDL(Interactive Data Language)交互式數(shù)據(jù)語(yǔ)言是進(jìn)行二維及多維數(shù)據(jù)可視化分析及應(yīng)用開(kāi)發(fā)的理想軟件工具。作為面向矩陣、語(yǔ)法簡(jiǎn)單的第四代可視化語(yǔ)言,IDL致力于科學(xué)數(shù)據(jù)的可視化和分析。
IDL在海洋領(lǐng)域具有廣泛的應(yīng)用,在各種海洋數(shù)據(jù)的可視化及與時(shí)間、空間相關(guān)的分析,對(duì)風(fēng)、流、浪、溫度以及水、粒子流等數(shù)據(jù)的生物學(xué)和化學(xué)參數(shù)的時(shí)間序列,不同格式的數(shù)據(jù)的讀取,不同的機(jī)器和操作系統(tǒng)的兼容都有很強(qiáng)的優(yōu)勢(shì)。
圖1 Topex/Poseidon數(shù)據(jù)時(shí)間上的動(dòng)態(tài)模擬
3 SST反演算法
MODIS的SST反演算法主要來(lái)源于“邁阿密”探路者海表面溫度算法,是在NOAA/AVHRR的SST算法基礎(chǔ)上發(fā)展而來(lái),屬于一種非線性多通道結(jié)構(gòu)。公式如下:
MODIS_sst=C1+C2·T31+C3·T(31)(32)+C4[sec(θ)-1]·T(31)(32)
該公式模擬了NOAA氣象衛(wèi)星AVHRR的MCSST算法。式中θ是衛(wèi)星天頂角;T31代表MODIS通道31探測(cè)到的亮溫,它等價(jià)于AVHRR的通道4亮溫;T(31)(32)代表MODIS通道32亮溫與通道31亮溫之間的溫差,它等價(jià)于AVHRR的通道4亮溫與通道5亮溫之間的溫差。該算法通過(guò)運(yùn)用通道32亮溫與通道31亮溫之間的溫差T(31)(32)進(jìn)行大氣校正,來(lái)剔除大氣衰減的影響。因?yàn)槿鹄?金斯定律在熱紅外波段不成立,所以MODIS熱紅外通道的亮溫Ti需要依據(jù)普朗克定律(黑體輻射定律)從該通道探測(cè)的輻亮度Li計(jì)算獲得。
因?yàn)榱翜豑i是依據(jù)黑體輻射定律從該通道探測(cè)的輻亮度Li計(jì)算獲得,故Ti又稱為對(duì)應(yīng)通道的黑體溫度。
4 利用IDL對(duì)MODIS數(shù)據(jù)進(jìn)行處理
(1)查看變量和屬性。
function hdf_sd_vardir,hdfid
if(n_params() ne 1)then $
message,'usage:result=hdf_sd_vardir(hdfid)'
if(n_elements(hdfid)eq 0) then $
message,'hdfid is undefined'
varnames="
hdf_sd_fileinfo,hdfid,nvars,ngatts
if(nvars gt 0) then begin
varnames=strarr(nvars)
for index=0L,nvars-1L do begin
varid=hdf_sd_select(hdfid,index)
hdf_sd_getinfo,varid,name=name
hdf_sd_endaccess,varid
varnames[index]=name
endfor
endif
return,varnames
End
(2)返回變量和屬性的數(shù)目。
function hdf_sd_attdir,hdfid,varnames
if(n_params() ne 2) then $
message,'usage:result=hdf_sd_attdir(hdfid,varname)'
if(n_elements(hdfid) eq 0) then $
message,'hdfid is undefined'
if(n_elements(varnames) eq 0) then $
message,'varname is undefined'
attnames=''
if(varnames eq'') then begin
hdf_sd_fileinfo,hdfid,nvars,natts
endif else begin
index=hdf_sd_nametoindex(hdfid,varnames)
varid=hdf_sd_select(hdfid,index)
hdf_sd_getinfo,varid,natts=natts
endelse
if (natts gt 0)then begin
attnames=strarr(natts)
for index=0,natts-1 do begin
if(varnames eq '') then begin
hdf_sd_attrinfo,hdfid,index,name=name
endif else begin
hdf_sd_attrinfo,varid,index,name=name
endelse
attnames[index]=name
endfor
endif
if(varnames ne '') then hdf_sd_endaccess,varid
return,attnames
End
(3)以獲取文件\A20131522013181.L3m_MO_SST4_4中所有變量的名稱為例。
hdfid=hdf_sd_start('E:\衛(wèi)星海洋實(shí)習(xí)\A20131522013181.L3m_MO_SST4_4')
varnames=hdf_sd_vardir(hdfid)
print,varnames
index=hdf_sd_nametoindex(hdfid,'l3m_data')
varid=hdf_sd_select(hdfid,index)
hdf_sd_getinfo,varid,ndims=ndims,dims=dims,type=type
print,ndims,dims
print,type
hdfid=hdf_sd_start('E:\衛(wèi)星海洋實(shí)習(xí)\A20131522013181.L3m_MO_SST4_4')
attnames=hdf_sd_attdir(hdfid,'l3m_data')
hdf_sd_end,hdfid
print,attnames
lhdfid=hdf_sd_start('E:\衛(wèi)星海洋實(shí)習(xí)\Data\A20131522013181.L3m_MO_SST4_4')
index=hdf_sd_nametoindex(hdfid,'l3m_data')
varid = hdf_sd_select(hdfid,index)
attindex=hdf_sd_attrfind(varid,'Slope')
hdf_sd_attrinfo,varid,attindex,data=attvalue
hdf_sd_endaccess,varid
print,attvalue
hdfid=hdf_sd_start('E:\衛(wèi)星海洋實(shí)習(xí)\A20131522013181.L3m_MO_SST4_4')
index=hdf_sd_nametoindex(hdfid,'l3m_data')
varid = hdf_sd_select(hdfid,index)
attindex=hdf_sd_attrfind(varid,'Intercept')
hdf_sd_attrinfo,varid,attindex,data=attvalue
hdf_sd_endaccess,varid
print,attvalue
index=hdf_sd_nametoindex(hdfid,'l3m_data')
varid=hdf_sd_select(hdfid,index)
hdf_sd_getdata,varid,data
hdf_sd_end,hdfid
hdfid=hdf_sd_start('E:\衛(wèi)星海洋實(shí)習(xí)\A20131522013181.L3m_MO_SST4_4')
attnames=hdf_sd_attdir(hdfid,'l3m_qual')
hdf_sd_end,hdfid
print,attnames
hdfid=hdf_sd_start('E:\衛(wèi)星海洋實(shí)習(xí)\A20131522013181.L3m_MO_SST4_4')
index=hdf_sd_nametoindex(hdfid,'l3m_qual')
varid = hdf_sd_select(hdfid,index)
attindex=hdf_sd_attrfind(varid,'valid_range')
hdf_sd_attrinfo,varid,attindex,data=attvalue
hdf_sd_endaccess,varid
print,attvalue
hdfid=hdf_sd_start('E:\衛(wèi)星海洋實(shí)習(xí)\A20131522013181.L3m_MO_SST4_4')
index=hdf_sd_nametoindex(hdfid,'l3m_qual')
varid=hdf_sd_select(hdfid,index)
hdf_sd_getdata,varid,data_y
hdf_sd_end,hdfid
index=where(data_y eq 2,count)
if(count gt 0) then data(index)=65535
y=0.000717185*data-2.00000
data=congrid(data,700,500) ;tvscl,data
index=where(data eq 65535,count)
if(count gt 0) then data(index)=33
data=reverse(data,2)
window,/free,xsize=900,ysize=600
device,decomposed=0
loadct,39
tvscl,data,100,100
colorbar,-2,32,6,'sst'
device,decomposed=1
到此完成了對(duì)參數(shù)的讀取。
5 反演結(jié)果及其結(jié)果分析
圖2 MODIS反演SST圖像
黑的是陸地,色條是溫度標(biāo)尺。
從反演結(jié)果圖(圖2)可以看出世界大洋海表面的溫度大致沿緯向呈帶狀分布,即東西方向上量值的差異相對(duì)很?。欢诮?jīng)向上,即南北方向上的變化卻十分顯著。
(1)在這個(gè)圖像上SST的寬的帶狀分布通過(guò)近極地鋒面的暗藍(lán)色邊界和接近赤道較暖的紅色到綠色邊界予以實(shí)現(xiàn)。
(2)同時(shí)有許多特殊的非帶狀特性,包括沿著北美的東海岸與灣流有聯(lián)系的向北方向流的暖水羽狀流和鄰近日本海岸類(lèi)似于羽狀的由黑潮產(chǎn)生的流。沿著南部非洲的東海岸,流向南方的阿加勒斯海流延伸到好望角。
(3)該圖也顯示了一個(gè)鄰近南部美洲的冷水上升流區(qū)域和在太平洋赤道冷水上升流的拉尼娜帶。相似的冷水帶沿著大西洋延伸。
6 結(jié)語(yǔ)
本文介紹SST及利用IDL語(yǔ)言編程實(shí)現(xiàn)MODIS數(shù)據(jù)的SST反演方法并給出了應(yīng)用實(shí)例。海表面溫度是海洋學(xué)研究中最重要的參數(shù)之一。幾乎所有的海洋過(guò)程,特別是海洋動(dòng)力過(guò)程都直接或間接地與之相關(guān)。由此可見(jiàn),提供高精度的海表面溫度,對(duì)了解全球氣候變化及其他各種海洋科學(xué)工作有重要意義。本文的海表面溫度反演實(shí)現(xiàn)方法,運(yùn)算速度快,能從海量的MODIS數(shù)據(jù)直接提取有效數(shù)據(jù),可用于批量和實(shí)時(shí)地對(duì)MODIS數(shù)據(jù)進(jìn)行SST反演,節(jié)省了大量的人力和物力。
參考文獻(xiàn)
[1]何全軍,張?jiān)戮S,曹靜等.基于AMSRE與MODIS數(shù)據(jù)海表面溫度遙感反演研究[J].熱帶氣象學(xué)報(bào),2009,15(04).
[2]陳宏.基于MODIS的海表面溫度反演系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].遙感信息,2009.
[3]宋佳.基于MODIS數(shù)據(jù)的海面溫度反演及應(yīng)用研究[J].西安電子科技大學(xué),2011,01(01).
[4]張莉,曾志遠(yuǎn).基于HDF4文件格式的MODIS1B影像數(shù)據(jù)提取的研究與實(shí)現(xiàn)[J].國(guó)土資源遙感,2004,15(12).
[5]劉玉光.衛(wèi)星海洋學(xué)[M].北京:高等教育出版社,2009:253260.
[6]馮士筰,李鳳岐,李少菁.海洋科學(xué)導(dǎo)論[M].北京:高等教育出版社,2010.