【问题标题】:Numpy aggregate within zones区域内的 Numpy 聚合
【发布时间】:2013-04-21 05:22:32
【问题描述】:

有没有办法使用 numpy 对 python 中的两个 netcdf 文件执行区域统计功能?但是不使用gdal?较精细的 netcdf 为 0.5 度,较大的 netcdf 为 2 度。所以,我想对落在较大的 2 度单元内的所有 0.5 度单元进行平均。

谢谢!

【问题讨论】:

    标签: python numpy netcdf


    【解决方案1】:

    我实际上会使用气候数据运算符 (cdo) 来执行此任务,而不是使用 numpy。这可以处理所有类型的原生网格,而不仅仅是您在这里遇到的特殊情况,即一个网格单元正好分成 16 个。

    为了将 file1.nc 映射到 file2.nc,我们首先计算权重。

    cdo gencon,file2.nc file1.nc weights.nc
    

    这里我使用一阶保守重映射,因此假设 file1 的分辨率为 0.5,file2 的分辨率为 2.0,粗略区域的总和应该被保留。请注意,cdo 中还有许多其他选项可用于重新映射。

    现在我们重新映射:

    cdo remap,file2.nc,weights.nc file1.nc file1_remap.nc
    

    区分和分区方法也很简单:

    cdo sub file1_remap.nc file2.nc diff.nc
    cdo zonmean diff.nc diff_zonmean.nc  
    

    您甚至可以使用管道将其保持在一行:

    cdo zonmean -sub file1_remap.nc file2.nc diff_zonmean.nc
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-08
      • 1970-01-01
      • 2011-03-06
      • 1970-01-01
      • 2017-06-21
      • 2018-11-27
      • 2013-08-24
      相关资源
      最近更新 更多