NCL中常用插值函数有哪些

这期内容当中小编将会给大家带来有关NCL中常用插值函数有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了亚东免费建站欢迎大家使用!

NCL作为一门气象专业语言,自带了很多气象届常用的算法和命令,比如各种强大的插值函数。
平时,我们不管做科研也好,还是做业务也好,都逃不了各种各样的插值:站点插到格点上,格点插到站点上,高分辨率插值到低分辨率格点,低分辨率插值到高分辨率,还有各种模式输出产品往站点、格点上插……NCL没出来之前,我用fortran写插值经常写地焦头烂额(不好!暴露年龄了!)

后来有了NCL,导师再也不怕你因为插值而卡在那里一个月没有任何进展啦!(然而NCL停更了耶。。)

好啦,现在让我们一起快乐地插值吧!

NCL的插值函数都在ngmath库(该库是Fortran、C语言、NCL可直接调用的数学命令的集合)中。根据插值方法的不同,NCL的插值函数主要可以分为以下几类:

csagrid系列:该系列函数利用一个三次样条近似演算法来拟合输入数据的函数。函数的输入值是一组随机间隔的数据,这些数据可以是一维、二维或三维的。 注意,csagrid 是 ngmath 数据库中唯一一个为三维数据提供拟合曲面近似的软件包。 

计算插值和近似方法可以分为两个基本类:拟合函数方法和加权平均数方法。拟合函数方法是对已知数据拟合一个代数曲面,然后从拟合曲面中提取插值或近似值。加权平均方法则是计算插值或近似值作为已知值的加权平均值。

一般来说,从csagrid得到的结果比使用dsgrid系列的反距离加权平均算法得到的结果看起来更漂亮。

歪七扭八装如丑橘的是dsgrid的插值结果:
NCL中常用插值函数有哪些

cssgrid系列:使用张力样条插值将单位球面上的不规则数据插值到直线网格上,它使用三次样条函数计算插值函数。注意:只有cssgrid系列函数具备球面数据插值的功能。

dsgrid系列:包括dsgrid和dspn开头的函数,使用反距离加权插值法将站点数据插值到格点上。这是我们常用的插值方法之一。

该系列函数输入的是一组随机间隔的三维坐标及对应的数据,输出一组在用户指定的坐标上的插值函数值。注意:输出网格中的坐标必须在每个坐标方向上单调递增,但不需要均匀分布。

natgrid系列:利用自然邻接插值(具体方法为Dave Watson博士开发的nngridr包),该方法属于一种加权平均数方法,上面提到的反向距离加权平均数方法复杂得多。该系列函数输入是一组随机间隔的二维坐标及对应数据,输出在用户指定的矩形网格坐标上的插值函数值。输出网格中的坐标必须在每个坐标方向上单调递增,但不需要均匀分布。也可以在单点上进行插值。

fitgrid系列:该函数利用张力下的样条进行插值。张力下的样条由标量张力因子控制,可以通过调整该因子实现从立方样条插值到线性插值的平稳过渡。该函数首先要拟合输入数据的张力样条,然后从拟合的样条函数中提取插值结果。

该系列插值函数可以实现以下功能:一维单值函数的插值;平面向曲线的插值;通过函数值的矩形网格计算插值曲面;一维周期函数的插值;求插值函数的积分和导数。

shgrid系列:实现了一个改进的Shepard算法,用于在三维空间中插入随机数据。它还提供了高效查找三维空间中给定点或最近点的功能。该插值函数输出是一组坐标在用户指定的网格(可能是一个单点)上的值。

对于我自己来说,常用的插值函数有:
cressman插值:站点插值到格点上。命令为obj_anal_ic_deprecated,难点在于半径rscan的选取,它用纬度表示,并且必需是单调递减的,比如rscan=(/10,5,3/)。如果插值到的格点分辨率较高,rscan后面的两个数值也要调小,不然可能出现插值结果过于平滑,丢失信息的情况。具体怎么选择半径,还要自己根据实际情况多试几次,选出合适的。

rcm2points:将WRF、RCM、NARR等模式输出的曲线网格上的数据插值到站点。

rcm2grid:将WRF、RCM、NARR等模式输出的曲线网格上的数据插值到格点。反过来就是rgrid2rcm

vinth3p:将CAM模式输出的混合坐标结果插值到压力坐标。

vinth3p_ecmwf:将CESM输出的混合坐标产品插值到压力坐标,但使用 ECMWF 公式外推地面以下的数值。

对于WRF产品的处理:含有wrf、interp或intrp或vert字段的命令。

上述就是小编为大家分享的NCL中常用插值函数有哪些了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


新闻标题:NCL中常用插值函数有哪些
转载源于:http://pwwzsj.com/article/ippish.html