爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7494|回复: 3

[其他] NCL插值后为什么数值变小呢

[复制链接]

新浪微博达人勋

发表于 2016-11-20 22:06:41 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
以下是我的NCL脚本,我用它读取全国1212个站的资料,进行插值,但是发现,插值后的最大值比起站点数据小太多
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
begin
f=asciiread("E:/program_plot/NCL/NCL_script/data.000", -1,"string")
;print(f)
;if(False)
;;;;;;;;;;;;;;;;;;;;;;;经度纬度起始行;;;;;;;;;;;;;;;;;;;;;
latlon_line_start_num=0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;经度纬度结束行;;;;;;;;;;;;;;;;;;;;;
latlon_line_end_num=1212
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;经度所在列;;;;;;;;;;;;;;;;;;;;;;;;;
lon_colome_num=1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;维度所在列;;;;;;;;;;;;;;;;;;;;;;;;
lat_colome_num=2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;变量所在列;;;;;;;;;;;;;;;;;;;;;;;;
var_colome_num=3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
lon= tofloat(str_get_field(f,lon_colome_num," "));获取全国1212个站点经度
lon@units="degrees_east"
lat= tofloat(str_get_field(f,lat_colome_num," "));获取全国1212个站点纬度
lat@units="degrees_north"
var=tofloat(str_get_field(f, var_colome_num," "));获取全国1212个站点气象要素(24h降水量)
olon=fspan(72,137,132)                                                          ;我要插值的经度                  
olon@units="degrees_east"                                                      ;               
olat=fspan(17,56,80)                                                           ;我要插值的维度                 
olat@units="degrees_north"
rscan=(/10,5,3/)                                                               ;插值半径            
var_interp=obj_anal_ic_deprecated(lon, lat, var, olon, olat, rscan, False) ;cressman插值
;var_interp=natgrid_Wrap(lon,lat,var,olon,olat)
var_interp@_FillValue = 9.96921e+36
print(max(var));输出站点资料最大值
print(max(var_interp));输出插值后格点资料最大值
;end if
end
输出:
(0)     45.7
(0)     28.86712

为什么插值后的最大值( 45.7)比起站点数据(28.86712)  最大值小太多 ?


密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-11-20 22:08:53 | 显示全部楼层
说反啦,为什么插值后的最大值( 28.86712)比起站点数据 最大值(45.7)小太多 ?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-21 09:50:54 | 显示全部楼层
差值本来就有误差,你的这个差距较大的问题你最好找找到底是哪个点,可能点附近站点的值比较小
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-8-14 13:42:59 | 显示全部楼层
想问问同学 这个原因你找到了么?我是插值前的数据是负值,插值完有些都变成正值了。。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表