你不是登录。你的编辑将被放置在一个队列,直到同行评议

我们欢迎编辑,使读者更容易理解和更有价值。因为社区成员审查编辑,请尽量使文章更好比你怎么发现,例如,通过修正语法或添加额外的资源和超链接。

温度平流用有限差分网格数据

平流的标量,如温度(T),水平风,定义如下:

$ - \ textbf{你}\ cdot \微分算符元新台币

在哪里$ \ textbf{你}$水平风矢量,$ \ textbf{你}= (U, v),被你美元五美元它的纬向和经向组件,分别是()。

计算网格数据,方便使用有限的差异(或类似的数值方法),指出在这里

使用这种方法,以下行Python编写的计算温度平流的(TAdv):

dy = 111000 # [m] lonres =朗[1]朗[0]#常数tadv = np.zeros (np.shape (T));tadv.fill (np.nan) t范围(np.shape (t)[0]):在np.arange x (1, len(朗)1):在np.arange y (1, len (lat) 1): dx = abs (111000 * np.cos (lat [y] * (2 * np.pi / 360)) * lonres) tadv (t、y、x) = - (u (t、y、x) * (t (t、y、x + 1) - t (t、y、x - 1)) / (2 * dx) + v \ [t、y、x] * (t (t, y + 1, x) - t [t y-1 x]) / (2 * (dy))

我希望类似的结果从扩展风组件的温度,在每个网格单元,完成如下:

ut = np.zeros (np.shape (T) vt = np.zeros (np.shape (T) ut = np.zeros (np.shape (T)的T范围(np.shape (T) [0]): x的范围(len(朗)):y的范围(len (lat)): ut (T、y、x) = u [T、y、x] * abs (T (T、y、x)) vt (T、y、x) = v (T、y、x) * abs (T (T、y、x)) ut [T、y、x] = ((ut [T、y、x] * * 2 + v (T、y、x) * * 2) * * 0.5) * np.sign (T (T、y、x))

风的大小缩放向量(UT)将类似的“T”的运输。这是乘以T(1 - 1)的迹象,因为T异常(有T < 0),为了保持其标志。

然而,结果是完全不同的。我错过什么呢?在这种假设它是一个错误(这两个结果应该相当类似的)?还是一个编码的问题?

在下图中,我展示了原始T, u和v字段(左),和两个以上的结果计算:Tadv与u和v(中间),和缩放向量的大小,UT,缩放向量本身UT和vT(右)。TAdv乘以24 * 3600,单位是K /天。

图

这里是一个链接到一个Dropbox文件夹,完整的脚本和样本数据在哪里可以下载:https://www.dropbox.com/sh/kcrb08h72jjj3rn/AAAIAUgKVrRrICAQtXhOHS2ta?dl=0

回答

取消
9
  • \ begingroup美元 我编辑了问题把年代渔政船在T美元美元。只有时间和空间的函数T (T、y、x)美元。 \ endgroup美元
    - - - - - -
    2019年3月20日19:32
  • \ begingroup美元 三个字段。T, u和v:温度、纬向和经向组件的水平风。这就是我获得t .我不明白你的评论“…但这似乎有点像冗余操作:最终的结果是:= "你能详细说明吗?我不计算T T。我扩展u和v,每个乘以T,使uT和vT。T模块,因为它包含负异常。这就是我叫“缩放风组件温度”。按比例缩小的风矢量的大小然后由美元\√6 {uT ^ {2} + vT ^ {2}} $。 \ endgroup美元
    - - - - - -
    2019年3月20日19:39
  • 1
    \ begingroup美元 集中有限的差异是非常常用的在这一领域的毕业生已经成功使用了几十年……cola.gmu.edu/grads/gadoc/gradfunchcurl.html你也许是对的“逆风”。的主要来源,但不应该中间和右边的数字之间的区别。我询问我的假设古典温度平流应该类似于temperature-scaled风力的大小。 \ endgroup美元
    - - - - - -
    2019年3月20日19:43
  • \ begingroup美元 积分时间应该无关紧要,因为这不是一个预后数量。这个问题是一个时间步仍然有效。 \ endgroup美元
    - - - - - -
    2019年3月20日在44
  • 1
    \ begingroup美元 @ouranos:除此之外,如果你仍然坚持这个问题,我建议减少的大小问题:看看会发生什么,如果你只会用平流输送沿着一个方向一个温度撞你的计划。这将给你一个更清洁的设置和一个更简单的方法来确定什么是错的。 \ endgroup美元 2019年3月22日16:05

Baidu
map