爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 14020|回复: 8

NCL 滤波

[复制链接]
发表于 2021-5-25 09:03:19 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 鲤鱼么 于 2021-5-25 16:35 编辑

求助!NCL滤波,10-20天带通,OLR-day-mean,算出来全是NaN.....请问有没有大佬教教我
脚本如下:
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"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"


begin

; -------------Input Data-------------
  f = addfile("e:/olrjason.nc","r")
  olr = f->olr

; -----------Lanczos Filter-----------
  ihp     = 2
;1 for highfrequency,  2 for bandpass and 0 for lower pass

  sigma   = 1.0                           ; Lanczos sigma

  nWgt    =   201                ; loose 200days each end                           
  fca     = 1./20.                        ; start freq
  fcb     = 1./10.                        ; last  freq
  wgt     = filwgts_lanczos (nWgt, ihp, fca,fcb, sigma )

  qBPF    = wgt_runave_Wrap( olr(lat|:,lon|:,time|:), wgt, 0 )     
  copy_VarCoords(olr(lat|:,lon|:,time|:),qBPF)


;-------------Output Data-------------------
system("/bin/rm -f "+"qbwo.nc")
  fout = addfile("e:/qbwo.nc","c")
  filedimdef(fout,"time",-1,True)
  fout->qfil = qBPF(time|:,lat|:,lon|:)

  end


密码修改失败请联系微信:mofangbao
发表于 2021-5-25 09:47:44 | 显示全部楼层
如果用的lanczos滤波,首尾会丢失数据的。可以先用长时间序列滤波,之后再挑选你关注的时段。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

发表于 2021-5-25 09:17:56 | 显示全部楼层
最近刚学习的滤波和ncl的滤波函数记录了一下,不知有没有用哈哈
http://mp.weixin.qq.com/s?__biz= ... 69b4f41066568ef2#rd
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-25 16:28:31 | 显示全部楼层
我还是叫小确幸 发表于 2021-5-25 09:47
如果用的lanczos滤波,首尾会丢失数据的。可以先用长时间序列滤波,之后再挑选你关注的时段。

谢谢你~我参考了NCL官网的定义也是先算了长时间之后选了自己的时段,但就是得不出数据....我再瞅瞅 谢谢哦
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-25 16:33:10 | 显示全部楼层
本帖最后由 鲤鱼么 于 2021-5-25 16:35 编辑

谢谢各位回复哦...但是我还是搞不懂
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-25 16:36:45 | 显示全部楼层
一大碗年糕 发表于 2021-5-25 09:17
最近刚学习的滤波和ncl的滤波函数记录了一下,不知有没有用哈哈
http://mp.weixin.qq.com/s?__biz=MzkyODI ...

谢谢你哦...但是我这个新手有点看不出脚本有啥问题...是不是需要循环呀
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2021-5-28 11:58:19 | 显示全部楼层
olr(lat|:,lon|:,time|:) 改为  olr(time|:,lat|:,lon|:),
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-2 19:32:00 | 显示全部楼层
南气斑织逍遥 发表于 2021-5-28 11:58
olr(lat|:,lon|:,time|:) 改为  olr(time|:,lat|:,lon|:),

谢谢~滤波成功啦 和python差不多~
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2022-2-9 20:47:16 | 显示全部楼层
你好,想问最后怎么滤波成功的呢,我试了一下你的程序,但提示我维度不匹配,求解答,感恩
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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