9
\ begingroup美元

我有你风美元,v风美元和特定的湿度。我想计算网格点水分通量收敛。所以我需要问美元计算的价值(\压裂{du} {dx} + \压裂{dv} {dy})美元

我的问题是如何计算$ \压裂{du} {dx} $和$ \压裂{dv} {dy}从u风美元美元美元风准备点(x, y)美元吗?

\ endgroup美元
7
  • 1
    \ begingroup美元 我没有那样做。此外,NCL。我想做使用FORTRAN等程序代码或shell脚本。 \ endgroup美元
    - - - - - -
    2017年2月9日14:07
  • 3
    \ begingroup美元 计算你可能需要u风和v风的相邻网格细胞以及距离相邻网格细胞。 \ endgroup美元
    - - - - - -FuzzyLeapfrog
    2017年2月9日,在十六21
  • 2
    \ begingroup美元 参见条目3下www.hoelymoley.com/questions/19/… \ endgroup美元
    - - - - - -milancurcic
    2017年2月9日21:11
  • 1
    \ begingroup美元 @milancurcic:非常感谢。这正是我在寻找的。 \ endgroup美元
    - - - - - -
    2017年2月10日,在0:46
  • 1
    \ begingroup美元 @gansub:非常感谢你的评论。我在谷歌搜索很多。但我怀疑这里有清除FuzzyLeapfrog和milancurcic。 \ endgroup美元
    - - - - - -
    2017年2月10日,在0:58

2答案2

5
\ begingroup美元

我想象你有水平网格(x, y)和风力分量u (x, y)和v (x, y)。

通常我们做1度的纬度常数(y维)和等于110000。所以你的dy取决于你有多少度每个网格点(yresolution)。然而,dx根据纬度会有所不同。

dy = 110000 * yesolution;

现在,我们可以使用集中有限的差异计算出你想要的。(下面是Matlab代码,但我相信通用足以重现在其他语言)。

对y = 2:长度(lat) 1 dx = abs (110000 * cos (latx (y) *(2 * 360(π/))* xresolution);x = 2:长度(朗)1 div (x, y, 1) = (u (x + 1, y, 1) - u (x - 1, y, 1)) / (2 * dx) + (v (x, y + 1, - 1) - v (x, y-1, 1) / (2 * (dy);结束结束

请注意,您将有一个空的框架在你的散度场当x = 1, x = max (x), y = 1, y = max (y),一旦他们没有两个neighboors计算差异。同样观察到当你这样做hdivg例如,在毕业生。

顺便说一下,这是基于收益率相同的结果作为毕业生(我有检查!)使用cdiff复制hdivg

还要注意,这里的余弦函数与弧度,所以如果你计算余弦(即直接在度。cosd在Matlab函数),你应该省略这个词扩展(2 *π/ 360),这只是一个转换。

希望它可以帮助!

\ endgroup美元
3
  • 1
    \ begingroup美元 集中有限的差异只会为非边界网格点工作。在网格点边界(如波兰)您将需要使用前后的差异。 \ endgroup美元
    - - - - - -gansub
    2019年1月26日,在32
  • \ begingroup美元 检查这个答案回来一段时间后,你是正确的@gansub领域。计算散度、涡度与毕业生,使用hdivghcurl,同时也返回缺失值边界网格细胞。我想这很好对于大多数应用程序。 \ endgroup美元
    - - - - - -
    2019年3月22日,于10:55
  • 1
    \ begingroup美元 如果您使用的是大部分地区天气好网格。这不是好如果你想计算旋度的极涡在波兰人(右)。 \ endgroup美元
    - - - - - -gansub
    2019年3月22日12:11弟兄
3
\ begingroup美元

最简单的答案是使用有限差分。哪一个是完全你的选择。例如,我将选择一个简单的中心差分格式。

你说你有一个网格,你点美元($ x $, $ y)现i和j,我表示网格上的左右指数和j表示南北网格索引。因此美元u和v可以表示为美元美元u(间{i, j}, y_ {i, j})和v美元(间{i, j}, y_ {i, j})美元。

$ $ \压裂{du} {dx} \大约\压裂{\δu}{\δx} = \压裂{u (x + \δx, y) - u (x - \δx, y)}{\δx} = \压裂{u(间{i + 1, j}, y) - u(间{张,j}, y)}{间{i + 1, j}间{张,j}} = \压裂{u_ {i + 1, j} u_{张,j}}{间{i + 1, j}间{张,j}} $ $

类似的过程可以应用于v分量,只是改变指数,和变量

\ endgroup美元

    你的答案

    通过点击“发布你的答案”,你同意我们服务条款,隐私政策饼干的政策

    不是你要找的答案?浏览其他问题标记问你自己的问题