Climate Data Toolbox (CDT)是面向MATLAB用户气候数据工具箱,包括描述性统计、矩阵运算、地理空间参考网格、空间分布、时间序列、不确定度量化、地球物理属性以及地图绘图等相关函数,是海洋&大气研究方向的一款科研利器。本文通过CDT自带的气压数据集,学习使用CDT计算并可视化全球气压变化梯度,为后续其他科研实验研究奠定基础。
1. cdtgradient函数及用法法介绍
cdtgradient 函数可用于计算在地理坐标中等间隔网格数据的空间梯度。
语法:
[FX,FY] = cdtgradient(lat,lon,F)
[FX,FY] = cdtgradient(lat,lon,F,'km')
说明:
- [FX,FY] = cdtgradient(lat,lon,F) 对于网格变量 F 以及相应地理坐标 lat 和 lon,cdtgradient 计算 FX,即沿地球表面每米 F 的东西向变化的空间速率和 FY,从南到北的每米 F 变化。FX 的正值指示 F 在该网格单元中从西向东增加,而 FY 的正值指示F 从南向北增加。F 可以是二维或三维矩阵,其前两个维度必须对应于 lat 和 lon。如果 F 为三维,则输出FX 和 FY 也将为三维,沿着第三维的每个网格将单独计算。
- [FX,FY] = cdtgradient(lat,lon,F,'km') 返回每公里而非默认米的坡度。
2. 计算全球表面气压变化梯度
对于此示例,我们将使用 CDT 随附的示例表面气压数据。首先加载它:
filename = 'ERA_Interim_2017.nc';
sp = ncread(filename,'sp'); %表面压强
lat = double(ncread(filename,'latitude'));
lon = double(ncread(filename,'longitude'));
[Lat,Lon] = meshgrid(lat,lon);
绝对表面压强并不是特别有趣,因为它主要跟踪表面高度。但是表面气压异常要有趣得多,因为它们使我们了解了系统在给定时间点的失衡程度。
为了方便起见,让我们将 2017 年 1 月的表面气压距平计算为该月的表面气压场,减去 2017 年全年的平均表面气压
% 表面气压“距平”:
spa = sp(:,:,1)-mean(sp,3);
这是我们要分析的表面气压距平:
figure
globepcolor(Lat,Lon,spa);
axis tight
cmocean('delta','pivot') % 设置颜色图
cb = colorbar;
ylabel(cb,'surface pressure anomaly (Pa)')
view(125,5) % 设置视角
像这样计算 Pa/km 的纬向和经向表面气压梯度
[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
上图可能难以解释,因此我们将采用另一种方法。不用将 Sx 和 Sy 绘制为颜色,而是将它们作为矢量绘制在表面气压距平贴图的顶部:
figure
pcolor(Lon,Lat,spa)
shading interp
189/771
hold on
cmocean('delta','pivot') % 设置颜色图
cb = colorbar;
ylabel(cb,'surface pressure anomaly (Pa)')
quiversc(Lon,Lat,Sx,Sy,'k','density',100)
set(gcf,'Color','w')
3.参考文献
- 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
- 本文主要参考、转发并修改了气象家园的作者北京-不懂matlab-二爷翻译的CDT说明文档。