正如标题所示,我想计算一个.nc
名为sfcWind_1999.nc
. 在每个网格点(纬度/经度组合)上,我想计算time
维度中的中位数。是否有任何 nco 属性可以做到这一点?
问问题
668 次
2 回答
3
中位数是第 50 个百分位数,因此您可以使用 CDO 中的百分位数函数来执行此操作:
cdo timpctl,50 in.nc -timmin in.nc -timmax in.nc median.nc
该函数需要知道数据边界值来计算直方图,因此需要管道 min 和 max 命令。
于 2018-03-27T17:15:07.423 回答
2
如手册中所述,NCO 可以报告单个变量的中位数,但不能一次性报告文件中的所有变量。因此,您必须自己在 Bash 或 ncap2 中直接在变量上创建循环。
ncap2 -O -v -s "foo=gsl_stats_median_from_sorted_data(var_nm.sort());print(foo)" in.nc out.nc
或者
ncmdn var_nm in.nc
于 2017-01-14T18:53:23.270 回答