假设我有两个netCDF数据文件,其中包含相同区域(如南美洲、非洲等)的数据,但不同的网格大小分别为0.5度x0.5度和1.0度x1.0度。我希望将它的网格大小增加或减小到不同的值,例如0.25 x 0.25或1.0 x 1.0,这样我就可以很容易地使用它来进行光栅计算和比较,等等。
是否有一种方法可以使用任何bash脚本、CDO等来完成此操作?
可以从这里下载一个示例数据。raGHC34VnsXGPqa?dl
对于这种情况,可以采用不同的方法,如双线性插值或三次插值?对于ArcGIS和其他软件来说,这是相当容易的,但是对于一个大数据集的netCDF文件,有什么方法可以做到呢?假设这只是数据的一个子集。我稍后要转换的是一套完整的年度数据。
得到的文件应该是一个.nc文件,其网格大小由用户定义。
发布于 2019-04-18 14:24:51
您可以使用cdo重新映射网格,例如,将网格重新映射到常规的1度网格,您可以使用:
cdo remapcon,r360x180 input.nc output.nc
除了保守的一阶重映射(remapcon)之外,其他选项包括:
remapbil : bilinear interpolation
remapnn : nearest neighbour interpolation
remapcon2 : 2nd order conservative remapping
如果您愿意,还可以将一个文件重新映射到另一个文件中使用的网格:
cdo remapcon,my_target_file.nc in.nc out.nc
编辑2021:新视频可用..。
要回答下面关于使用哪种方法的评论,有关这些插值方法的完整指南,以及在粗粒度数据时需要注意的问题,你可以参考我在youtube上的“里脊和插值”视频指南。
一般来说,如果你要从高分辨率插值到低分辨率(“粗网格”)超过2倍,你不想使用双线性插值,因为它本质上将子采样场。对于非光滑、高度非均匀的场,如降水,这尤其成问题。在这种情况下,我总是建议使用保守的方法(remapcon或remapcon2)。详情请看我的视频指南。
另一个提高速度的技巧是,如果您对许多分辨率相同的输入文件执行相同的插值过程,那么您可以使用genbil、gencon等计算一次插值权重,然后使用文件上的循环中的重映射函数。这要快得多,因为权值的生成是雷帕康的慢部分。
发布于 2019-05-03 14:19:14
NCO的雀斑图也有一个单线解决方案.考虑将a.nc
重新定位到与b.nc
相同的网格上。我们将把答案命名为c.nc
(这是a.nc
)。
ncremap -d b.nc a.nc c.nc
若要选择保守而不是双线性插值(默认值),请使用-a
ncremap -a conserve -d b.nc a.nc c.nc
https://stackoverflow.com/questions/55746419
复制相似问题