Climate Data Toolbox (CDT)是面向MATLAB用戶氣候數(shù)據(jù)工具箱,包括描述性統(tǒng)計(jì)、矩陣運(yùn)算、地理空間參考網(wǎng)格、空間分布、時(shí)間序列、不確定度量化、地球物理屬性以及地圖繪圖等相關(guān)函數(shù),是海洋&大氣研究方向的一款科研利器。本文通過CDT自帶的氣壓數(shù)據(jù)集,學(xué)習(xí)使用CDT計(jì)算并可視化全球氣壓變化梯度,為后續(xù)其他科研實(shí)驗(yàn)研究奠定基礎(chǔ)。
1. cdtgradient函數(shù)及用法法介紹
cdtgradient 函數(shù)可用于計(jì)算在地理坐標(biāo)中等間隔網(wǎng)格數(shù)據(jù)的空間梯度。
語法:
[FX,FY] = cdtgradient(lat,lon,F)
[FX,FY] = cdtgradient(lat,lon,F,'km')
說明:
- [FX,FY] = cdtgradient(lat,lon,F) 對于網(wǎng)格變量 F 以及相應(yīng)地理坐標(biāo) lat 和 lon,cdtgradient 計(jì)算 FX,即沿地球表面每米 F 的東西向變化的空間速率和 FY,從南到北的每米 F 變化。FX 的正值指示 F 在該網(wǎng)格單元中從西向東增加,而 FY 的正值指示F 從南向北增加。F 可以是二維或三維矩陣,其前兩個(gè)維度必須對應(yīng)于 lat 和 lon。如果 F 為三維,則輸出FX 和 FY 也將為三維,沿著第三維的每個(gè)網(wǎng)格將單獨(dú)計(jì)算。
- [FX,FY] = cdtgradient(lat,lon,F,'km') 返回每公里而非默認(rèn)米的坡度。
2. 計(jì)算全球表面氣壓變化梯度
對于此示例,我們將使用 CDT 隨附的示例表面氣壓數(shù)據(jù)。首先加載它:
filename = 'ERA_Interim_2017.nc';
sp = ncread(filename,'sp'); %表面壓強(qiáng)
lat = double(ncread(filename,'latitude'));
lon = double(ncread(filename,'longitude'));
[Lat,Lon] = meshgrid(lat,lon);
絕對表面壓強(qiáng)并不是特別有趣,因?yàn)樗饕櫛砻娓叨?。但是表面氣壓異常要有趣得多,因?yàn)樗鼈兪刮覀兞私饬讼到y(tǒng)在給定時(shí)間點(diǎn)的失衡程度。
為了方便起見,讓我們將 2017 年 1 月的表面氣壓距平計(jì)算為該月的表面氣壓場,減去 2017 年全年的平均表面氣壓
% 表面氣壓“距平”:
spa = sp(:,:,1)-mean(sp,3);
這是我們要分析的表面氣壓距平:
figure
globepcolor(Lat,Lon,spa);
axis tight
cmocean('delta','pivot') % 設(shè)置顏色圖
cb = colorbar;
ylabel(cb,'surface pressure anomaly (Pa)')
view(125,5) % 設(shè)置視角

全球表面氣壓異常
像這樣計(jì)算 Pa/km 的緯向和經(jīng)向表面氣壓梯度
[Sx,Sy] = cdtgradient(Lat,Lon,spa,'km');
figure
subplot(1,2,1)
pcolor(Lon,Lat,Sx)
shading interp
axis off % 移除刻度
cb1=colorbar('location','southoutside');
188/771
xlabel(cb1,'zonal pressure gradient Pa/km')
caxis([-1 1])
cmocean diff
subplot(1,2,2)
pcolor(Lon,Lat,Sy)
shading interp
axis off %移除刻度
cb2=colorbar('location','southoutside');
xlabel(cb2,'meridional pressure gradient /km')
caxis([-1 1])
cmocean diff

維向和經(jīng)向表面氣壓變化梯度
上圖可能難以解釋,因此我們將采用另一種方法。不用將 Sx 和 Sy 繪制為顏色,而是將它們作為矢量繪制在表面氣壓距平貼圖的頂部:
figure
pcolor(Lon,Lat,spa)
shading interp
189/771
hold on
cmocean('delta','pivot') % 設(shè)置顏色圖
cb = colorbar;
ylabel(cb,'surface pressure anomaly (Pa)')
quiversc(Lon,Lat,Sx,Sy,'k','density',100)
set(gcf,'Color','w')

全球表面氣壓變化梯度
3.參考文獻(xiàn)
- Chad A. Greene, Kaustubh Thirumalai, Kelly A. Kearney, Jose Miguel Delgado, Wolfgang Schwanghart, Natalie S. Wolfenbarger, Kristen M. Thyng, David E. Gwyther, Alex S. Gardner, and Donald D. Blankenship. The Climate Data Toolbox for MATLAB. Geochemistry, Geophysics,Geosystems 2019. doi:10.1029/2019GC008392
- 本文主要參考、轉(zhuǎn)發(fā)并修改了氣象家園的作者北京-不懂matlab-二爺翻譯的CDT說明文檔。