球面地球上二维矢量场的散度(Python/Basemap)

球面地球上二维矢量场的散度(Python/Basemap),python,vector,matplotlib-basemap,Python,Vector,Matplotlib Basemap,我有几个点的u(纬向)和v(经向)风分量的二维阵列,它们的位置给出了相应的二维纬度和经度阵列 我想计算这个风场的散度。我知道散度是du/dx+du/dy,但是因为我的x和y坐标是纬度和经度,所以结果不太正确。例如,全球各地的均匀经向风(v=各地恒定)实际上会在民意测验中产生发散/收敛,即使v阵列在每个指数上只是一个常数 我最终想在Basemap实例上绘制分歧 我应该怎么做呢?散度公式取决于你发现的坐标系。计算公式(使用坐标公式的变化和链式法则)是一个值得的练习,但有一个有用的必要公式表 你需要球

我有几个点的u(纬向)和v(经向)风分量的二维阵列,它们的位置给出了相应的二维纬度和经度阵列

我想计算这个风场的散度。我知道散度是du/dx+du/dy,但是因为我的x和y坐标是纬度和经度,所以结果不太正确。例如,全球各地的均匀经向风(v=各地恒定)实际上会在民意测验中产生发散/收敛,即使v阵列在每个指数上只是一个常数

我最终想在Basemap实例上绘制分歧


我应该怎么做呢?

散度公式取决于你发现的坐标系。计算公式(使用坐标公式的变化和链式法则)是一个值得的练习,但有一个有用的必要公式表


你需要球坐标的公式,因为你在球面上工作,你需要保持r。这会降低第一项,并缩放其他两项。

A_θ和A_φ会分别是v和u吗?所以dA_φ/dφ类似于diff(u)/diff(lon)?A_θ和A_φ分别是向量在θ和φ方向上的分量(纬度和经度,或者纬向和经向,如果你愿意的话)。还有一件重要的事情需要注意——这些公式是基于假设θ和φ以弧度为单位来计算的,不是学位。