cdtdivergence文档

cdtdivergence计算网格矢量在椭球地球表面上的散度。

参见:cdtgradientcdtcurl而且埃克曼

回到气候数据工具内容

内容

语法

D = cdtdivergence(lat,lon,U,V)

描述

D = cdtdivergence(lat,lon,U,V)使用cdtdim中每个网格单元的尺寸估计纬度、经度网格,然后计算网格化矢量的散度U, V.D的单位是U和V的单位除以米。

例1:理论

这是一个简单的纬向风场,在全球各地都有1米/秒的均匀速度。使用cdtgrid做一个四分之一度的网格,然后定义风场:

[lat,lon] = cdtgrid(0.25);%四分之一度网格U = ones(size(lat));%纯纬向风V = 0 (size(lat));%无经向成分。

以下是风速均匀的纯纬向风的风矢量和散度:

D = cdtdivergence(lat,lon,u,v);图imagescn(lon,lat,D) hold住边界(“国家”“颜色”rgb (“灰色”) quiversc(经度、纬度、u, v,“k”) cb = colorbar;ylabel (cb、“散度(s ^ {1})) cmocean (“平衡”“主”

在上图中,我们看到散度处处为零。这是因为当一团空气从一个网格单元向东移动到下一个网格单元时,风不会改变速度或方向,而相邻的网格单元与它刚刚发出的网格单元大小完全相同。一切都保持完美不变,所以没有散度。

纯粹的经向风呢?我们能指望全球各地都出现同样的零分歧吗?

使用相同的四分之一度纬度,从上面,定义一个纯经向风的均匀速度无处不在:

U = 0 (size(lat));%无分区成分V = ones(size(lat));% 1 m/s向北%计算散度:D = cdtdivergence(lat,lon,u,v);图imagescn(lon,lat,D) hold住边界(“国家”“颜色”rgb (“灰色”) quiversc(经度、纬度、u, v,“k”) cb = colorbar;ylabel (cb、“散度(s ^ {1})) cmocean (“平衡”“主”

上面,我们得到的是到处都是零散度。相反,北半球似乎出现了分歧,而南半球似乎出现了趋同。这是因为地球不是一个完美的球体,而是一个椭球,其纬线之间的距离接近但不完全相等。摆弄一下earth_radius函数,你会看到从南极到赤道的旅行中,纬线越来越近。继续下去,从赤道到北极,纬度线将再次开始分散。检查上面颜色条上的刻度,你会发现纬度间距确实会影响散度,但它在这里的作用仍然很小。

把上面两个例子放在一起,如果风在纬向和经向上都是均匀的呢?

U = ones(size(lat));V = ones(size(lat));D = cdtdivergence(lat,lon,u,v);图imagescn(lon,lat,D) hold住边界(“国家”“颜色”rgb (“灰色”) quiversc(经度、纬度、u, v,“k”) cb = colorbar;ylabel (cb、“散度(s ^ {1})) cmocean (“平衡”“主”

上面我们看到,将零纬向散度添加到少量的经向散度中产生的结果与只观察经向散度产生的结果相同。我想这没什么好惊讶的。

现在考虑一个风速随经度变化的情况。成功

U = lon.^2;V = 0 (size(lat));D = cdtdivergence(lat,lon,u,v);图imagescn(lon,lat,D) hold住边界(“国家”“颜色”rgb (“灰色”) quiversc(经度、纬度、u, v,“k”) cb = colorbar;ylabel (cb、“散度(s ^ {1})) cmocean (“平衡”“主”([-1 1]*1e-2)

上图中,西半球的风在国际日期变更线上非常强劲,在本初子午线处速度为零。在那里,在本初子午线,风开始再次加快速度,当风开始有效地将自己拉开时,风开始发散。

在上面的地图中还注意到,在靠近两极的地方,辐合和散散的幅度会增强,因为在高纬度地区,风从一个网格单元加速到下一个网格单元的距离更小。如果您对世界各地网格单元间距的变化感到好奇,请使用cdtdim函数。

例2:现实与ITCZ

在本例中,加载CDT附带的一些全球地面风数据。加载10米风速u10而且v10简单来说,只需要取2017年的平均地面风速就可以了:

文件名=“ERA_Interim_2017.nc”;U10 = mean(ncread(文件名,“u10”), 3);V10 = mean(ncread(文件名,“v10”), 3);Lat = double(ncread(文件名,“纬度”));Lon = double(ncread(文件名,“经”));[Lat,Lon] =网格(Lat,Lon);

原始数据在一个从0到360度的网格上。我宁愿把本初子午线放在地图的中间,所以让我们重定位的网格。这一步不是必需的,但这是一种偏好:

[Lat,Lon,u10,v10] = recenter(Lat,Lon,u10,v10);

用真实数据计算风散度和用我们在例1中创建的合成数据计算风散度一样简单。为了美观起见,我们在这里所做的唯一调整是使用功能:

计算风散度:D = cdtdivergence(Lat,Lon,u10,v10);%屏蔽土地:土地=岛屿(Lat,Lon);D(land) = NaN;u10(land) = NaN;v10(陆地)= NaN;

现在我们可以像例1一样画出风向量和它们的散度,但这次我们将从an开始earthimage上下文的基本地图:

图earthimage;持有pcolor(经度、纬度、D)阴影插值函数持有quiversc(经度、纬度、u10 v10,“k”“密度”,100) cb = colorbar;ylabel (cb、'地面风散度(s^{-1})'[-1 1] cmocean平衡

上面的地图显示了10米风矢量在世界各地是如何汇聚和发散的。它显示了赤道以北东太平洋的一个蓝色辐合区,与热带辐合区(ITCZ)重合,然而,ITCZ是季节性迁移的,所以这个全年平均风场可能会在任何给定时间降低ITCZ的真实强度。

作者信息

这个函数是气候数据工具箱Matlab.该功能和辅助文档由德克萨斯大学奥斯万博1manbetx汀分校的Chad A. Greene编写。