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美元

    你的答案

    通过点击“发布你的答案”,你同意我们服务条款并承认您已阅读并理解我们的隐私政策的行为准则

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