前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NCL专辑 | 常用插值函数集锦

NCL专辑 | 常用插值函数集锦

作者头像
郭好奇同学
发布2021-02-19 10:30:08
4.2K0
发布2021-02-19 10:30:08
举报
文章被收录于专栏:好奇心Log

NCL作为一门气象专业语言,自带了很多气象届常用的算法和命令,比如各种强大的插值函数。

平时,我们不管做科研也好,还是做业务也好,都逃不了各种各样的插值:站点插到格点上,格点插到站点上,高分辨率插值到低分辨率格点,低分辨率插值到高分辨率,还有各种模式输出产品往站点、格点上插……NCL没出来之前,我用fortran写插值经常写地焦头烂额(不好!暴露年龄了!)

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

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

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

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

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

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

下面是两张对比图,圆润好看的是csagrid出来的,歪七扭八装如丑橘的是dsgrid的插值结果:

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

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

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

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

附ngmath库介绍:

http://www.ncarg.ucar.edu//ngmath/index.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 好奇心Log 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档