【问题标题】:How to Calculate the Divergence in Metpy?如何计算 Metpy 中的散度?
【发布时间】:2019-07-22 05:13:37
【问题描述】:

您想知道在 Metpy 中是如何进行散度计算的吗?我们知道,在 Grads 中,散度的计算是通过有限差分法进行的,如下所示:

pi = 3,14159265359 

dtr = pi / 180 

a = 6,371e6 

dx = a * cos (dtr * lat) * dtr * cdiff (lon, x) 

dy = a * dtr * cdiff (lat, y) 

div = cdiff (u, x) / dx + cdiff (v, y) / dy-v * tan (dtr * lat) / a

但是,在 Metpy 中,我没有找到任何关于如何执行散度计算的详细信息(就像在 Grads 中一样)。

【问题讨论】:

    标签: metpy


    【解决方案1】:

    MetPy 的散度计算 (metpy.calc.divergence) 内部使用 3 点差分 first_derivative 函数以笛卡尔形式计算散度为

    As referenced in the MetPy documentation,这会根据 Bowen 和 Smith (2005) 公式明确处理不规则间距。但是,GrADS 包含的最终坐标校正项 v * tan (dtr * lat) / a 不包含在当前的 MetPy 计算中(这是 an open issue on GitHub 的一部分)。

    【讨论】:

      【解决方案2】:

      MetPy 中的散度是通过使用 MetPy 中的 first_derivative 函数计算的,该函数基于中心,除了边缘点,将 dudxdvdy 相加。如果您通过metpy.calc.divergencemetpy.calc.first_derivativeXarray.Dataset 传递坐标/投影信息,它将计算跨不同网格的散度。否则,您需要提供网格间距。有关散度函数和坐标数组处理的更多信息,请参阅https://unidata.github.io/MetPy/latest/_modules/metpy/calc/kinematics.html#divergencehttps://unidata.github.io/MetPy/latest/api/generated/metpy.calc.first_derivative.html#metpy.calc.first_derivative

      【讨论】:

      猜你喜欢
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      • 2021-07-13
      • 2015-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多