1秒中解决NCL处理nc文件中的nan值问题

如题,如果下载的nc文件的缺测值是nan,那么很有可能在使用esccr等不允许有缺测值的函数时会出现“都是等值线”的错误,如何处理?

一句话:如果变量名叫v,那么直接v@_FillValue = -32767  (什么-9999,9999都行,0也行,但是会报warning),不用其他花哨的东西!!
花哨的东西包括但不限于:
  v         = where( ismissing(v), 0, v )
  v         = where(isnan_ieee(v), 0, v )
  v         = where( v.eq.v@_FillValue, 0, v )
  v         = mask( v, v.eq.v@_FillValue, False ) 
  
   f  = addfile("v.nc","w")
   v = f->v
   if (any(isnan_ieee(v))) then
      value = 1.e20
      replace_ieeenan (v, value, 0)
      v@_FillValue = value
   end if
负责任的讲,上述花哨的语句一句也不能解决v的缺测值是nan从而导致函数计算错误的问题,直接v@_FillValue = -32767简单粗暴有效!!
题外话,解决本来是vibeta本来就是三层但总是报错“数据要三层”并显示错误是-999的,对vibeta中的几个多维变量进行v = where( ismissing(v), 0, v ),就能解决问题!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值