我们一直使用不同的天气模型,比如ECMWF和GFS.这些模型很简单令人惊异的给我。
这些模型是如何工作的?我知道他们必须接受各种各样的数据点——这些是什么,模型如何使用它们?此外,他们如何预测未来会发生什么?
江南体育网页版地球科学堆栈交换是为那些对地江南电子竞技平台质、气象、海洋学和环境科学感兴趣的人提供的一个问答网站。注册只需要一分钟。
注册加入这个社区所有的数值大气模式都是基于原始方程描述了大气流动。Vilhelm Bjerknes发现了这种关系,从而成为数值天气预报之父。从概念上讲,这些方程可以被认为是描述了一团空气与周围环境的关系。例如,我们很小的时候就知道热空气会上升。的流体静力学垂直动量方程解释了原因和量化在什么条件下热空气会停止上升。(当空气上升时,它膨胀并冷却,直到达到流体静力平衡。)其他方程考虑其他类型的运动和传热。
不幸的是,这些方程是非线性的,这意味着你不能简单地代入一些数字并得到有用的结果。相反,天气模型是将大气划分成三维网格的模拟,并计算物质和能量如何在离散的时间增量内从一个空间立方体流向另一个空间立方体。实际的大气流动是连续的,而不是离散的,所以这些模型必然是近似的。不同的模型根据其特定目的做出不同的近似。
随着时间的推移,数值模型一直在改进,原因如下:
不断增强的计算能力使得模型可以使用更小的网格框。然而,计算的数量随着盒子的数量呈指数增长,并且这个过程会受到影响收益递减.在事物的输入端,更多更好的传感器提高了模型初始条件的精度。综观尺度和中尺度模型从一般循环模式,这有助于设置合理的初始条件。在输出端,模型输出统计通过将当前模型状态与模型显示相似结果的历史数据进行比较,在估计当地天气方面做得出色。最后,整体模型将几个模型的输出作为输入,并产生一系列可能的结果。
天气模型(或者,在这个领域通常被称为大气模型)是一种计算机程序,它读取输入数据(初始条件)并求解偏微分方程,以产生未来的大气状态。虽然@JonEricson对模型的作用做了一个总体上很好的总结,但我在这里描述了一个大气模型产生预测所需要的确切步骤。这个答案通常也适用于海洋环流和气候模型。许多人认为天气预报员坐在地图前,头脑风暴云会去哪里。这个答案旨在为大气和海洋预测模型如何工作提供一个容易理解但又彻底的解释。
大气的演化可以用一套偏微分方程来描述。最常见的是原始方程,由动量方程(求解速度$\mathbf{v}$或动量$\mathbf{\rho v}$)、连续性方程(或质量守恒方程)和热能方程(求解温度$T$和比湿度$q$)组成。连续性方程是与动量方程闭合的必要条件。这些方程可以用许多方法近似,得到一组简化的和/或简化的方程。其中一些近似是流体静力、布辛尼斯克、非弹性等。在大气原始方程的最完整形式中,预测状态变量为$u$, $v$, $w$, $p$, $T$, $q$。理想的大气也可以只用动量和连续性方程(不含热力学)、浅水方程或绝对涡度方程来模拟。对于后者的一个例子,请参阅先驱论文查尼、费约托夫特和冯·诺伊曼(1950)通过对绝对涡度方程进行时间积分,数值预测了500mb涡度。因为他们的模型是正压的,所以不会产生旋流。然而,他们实现了历史上第一次成功的数值天气预报,他们的模型在第一台通用计算机上运行,ENIAC.
现在以动量方程为例:
$ $ \ dfrac{\部分\ρ\ mathbf {v}}{\部分t} + \微分算符(\ \ρmathbf {v} ^{2}) + 2ω\ \ * \ \ρmathbf {v} = - \微分算符p + \ν\微分算符^{2}(ρ\ \ mathbf {v}) +φ\ $ $
从左到右,我们有动量的时间趋势,平流,科里奥利力,压力梯度,粘性耗散,最后,任何外部强迫或亚网格趋势。不幸的是,平流项$\nabla(\rho\mathbf{v}^{2})$是非线性的,正是由于这一项,这个方程的解析解是未知的。这一项也是大气和其他流体在本质上是混沌的原因,$\mathbf{v}$中的小误差会迅速增长,因为它们在这一项中相乘。如果将方程线性化,$\nabla(\rho\mathbf{v}^{2})=0$,则可以找到解析解。例如,罗斯比波、开尔文波、庞加莱波都是一组简化的线性动量或涡量方程的解析解。重要的是要认识到,如果我们希望产生准确的预报,我们需要非线性平流项。因此,我们用数值方法求解方程。
如何解决这些偏微分方程?加工商没有能力做衍生品——他们知道该怎么做添加和乘数字。所有其他操作都是从这两个操作派生出来的。我们需要用基本的算术运算来近似偏导数。感兴趣的域(比如地球)在网格上离散化。每个网格单元对每个状态变量都有一个值。例如,取x方向压力梯度项:
$ $ \ nabla_ {x} p = \ dfrac{\部分p} {x} \部分\大约\ dfrac{\δp}{\δx} = \ dfrac {p_ {i + 1, j} -p_{张,j}}{2 \三角洲间{i, j}} $ $
其中$i,j$是$x,y$中的网格索引。这个例子使用了有限的差异,以空间为中心。离散偏导数的方法还有很多,在现代模型中使用的方法通常比这个例子要复杂得多。如果网格间距不均匀,有限体积法如果要保持预测量,必须使用。有限元法在工程中定义在非结构化网格上的计算流体动力学问题中更常见,但也可用于大气和海洋求解。谱方法在一些全球模型中使用,比如GFS和ECMWF.
网格尺度(term $\Phi$)上未解决的进程以参数化方案的形式实现。参数化过程包括湍流和边界层混合、积云对流、云微物理、辐射、土壤物理、化学成分等。参数化方案仍然是一个研究热点,并在不断改进。对于上面列出的所有物理过程,有许多不同的方案。在不同的气象情景下,有些比其他的效果更好。
一旦所有方程中的所有项都在纸上离散化,离散方程就会以计算机代码的形式写出来。大多数大气、海洋环流和海浪模型都是用Fortran编写的。这主要是由于历史原因——由于Fortran历史悠久,它拥有非常成熟的编译器和非常优化的线性代数库。如今,有了非常高效的C、c++和Fortran编译器,这更多的是一个偏好问题。然而,Fortran代码在大气和海洋建模中仍然是最流行的,即使在最近开始的项目中也是如此。最后,上述压力梯度项的示例代码行如下所示:
Dpdx (i,j,k) = 0.5*(p(i+1,j,k)-p(i-1,j,k))/dx(i,j)
整个代码被编译成机器语言,然后加载到处理器上。模型程序通常不是用户友好的,没有花哨的图形界面——它通常从高性能多处理器集群上的哑终端运行。
一旦启动,程序就会离散地穿越时间进入未来。每个网格点的状态变量的计算值存储在输出文件中,通常每小时存储一次(模拟时间)。然后,可视化和图形软件可以读取输出文件,生成漂亮的模型预测图像。然后将这些作为预报员的指导,以提供有意义和合理的预测。
这不是一个完整的答案。天气模式的一个方面包括数据同化或4 d-var.
我同意他们很了不起,问题是它们是如何工作的?太宽泛了,难以回答。所以我建议你们仔细阅读数据同化特别是4 d-var.概念是有些类似于逆理论,但维度更高。简而言之:
我不能细说,但这是真的,他们太棒了!
天气模型和预报是由系统控制的微分方程.首先从因果变量的当前水平或值开始:温度、湿度、大气压力等。人们还必须考虑“导数”,即这些变量的变化率。因此需要微分方程,微分方程包含变量和它们的导数来解释各种“波动”现象,如热、光和声音等。
即使有了目前地球上大部分地区的大量原始知识,由于各种变量的明显“随机性”,预测天气仍然是一件冒险的事情。(其中一些确实是随机的,另一些随着时间的推移会得到更好的解释。)通过对变量进行“切片和切块”(并受益于过去的经验),天气预报缓慢但肯定会随着时间的推移在更大的空间内变得更加准确。计算能力的提高也有所帮助。(为了获得更准确的预测,延长时间的长度比较棘手,因为仍然有太多的活动因素。)就目前而言,与地球和宇宙的大小相比,我们所拥有的工具似乎只是“九牛一毛”(有些天气模式可能是由星际空间发生的事情引起的),所以我们经常能提出或多或少准确的天气预报,这真的很神奇。