2

正如标题所示,我想计算一个.nc名为sfcWind_1999.nc. 在每个网格点(纬度/经度组合)上,我想计算time维度中的中位数。是否有任何 nco 属性可以做到这一点?

4

2 回答 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 回答