ncwa (NCO) 能看懂吗missing_value

Can ncwa (NCO) understand missing_value

我正在尝试使用 NCO 的 ncwa 脚本找出 netcdf 文件中某些数据变量的范围。但是看起来它默认情况下无法解码 missing_value 属性,该属性用于定义结果。

例如,我正在尝试 运行:

ncwa -y min -v hs ./test.nc /tmp/min.nc 

找出文件 ./test.nc 中变量 hs 的最小值。输出为 -9,如下所示,这是该变量的 missing_value 属性。

我尝试使用具有不同 missing_value 值的不同文件,但情况仍然如此。然而 _FillValue 属性似乎确实被 ncwa 正确解码,结果中忽略了相关值。

如有任何帮助,我们将不胜感激。谢谢。

% ncdump /tmp/min.nc
netcdf min {
variables:
    float hs ;
        hs:standard_name = "sea_surface_wave_significant_height" ;
        hs:units = "m" ;
        hs:long_name = "Significant wave height" ;
        hs:missing_value = -9.f ;
        hs:cell_methods = "time, lat, lon: minimum" ;
data:
    hs = -9 ;
}

% ncwa --version
ncwa 4.6.9

由于 here 所述的原因,NCO 关注 _FillValue 而不是 missing_value。推荐的解决方案是添加一个 _FillValue 属性,其值与 missing_value 属性相同:

ncatted -O -a _FillValue,,o,f,1.0e36 inout.nc

或将 missing_value 重命名为 _FillValue:

ncrename -a .missing_value,_FillValue inout.nc