NetCDF 在空间上合并到全局数据

use*_*103 3 netcdf nco cdo-climate

目前我使用全球降水量(ppt)和潜在蒸散量(pet)数据来计算SPEI。由于我的硬件资源有限,我将全局 ppt 和 ppt 数据分为 32 个部分,每个文件覆盖 45x45deg,包含 756 个数据 - 从 1958 年到 2020 年每月(tile01.nc,tile02.nc,...tile32.nc)

  • 例如,为了做到这一点,我使用cdo sellonlatbox,-180,-135,45,90 in.nc out.ncncks -d lat,45.,90. -d lon,-180.,-135. in.nc -O out.nc
  • 根据 SPEI 脚本的要求,我使用和重新排序并固定了尺寸从time,lat,lon到。lat,lon,timencpdqncks
  • 从 SPEI 输出中,我得到了lat,lon,time. 所以我确实对尺寸进行了重新排序,使其变为time,lat,lon使用ncpdq.
  • 每个图块 SPEI 输出覆盖 45x45deg,包含 756 个 SPEI 数据 - 从 1958 年到 2020 年每月

最后,我需要将所有输出(32 个文件)合并为一个,这样我将获得全局 SPEI 输出。我尝试过使用cdo mergegrid,但结果不是我所期望的。是否有任何命令来自cdonco解决这个问题,其功能类似于gdal_merge我们处理 geoTIFF 格式?

下面是 SPEI 输出的示例

全套

更新

cdo collgrid我设法按照下面罗伯特的建议合并所有数据。结果如下:

斯佩

Rob*_*son 6

我相信您想为此使用 CDO 的 distgrid 和 collgrid 方法。

首先,运行这个:

cdo distgrid,4,8 in.nc obase
Run Code Online (Sandbox Code Playgroud)

这将按照您想要的方式分割文件。

然后对文件进行必要的后处理。

然后使用 collgrid 合并文件:

cdo collgrid obase* out.nc
Run Code Online (Sandbox Code Playgroud)

您可能可以在当前的工作流程中使用 collgrid 代替 mergegrid,具体取决于您如何拆分文件。

  • 谢谢,它成功了,这对我来说是新的。我之前没有意识到 `distgrid`,所以我使用 `sellonlatbox` 并为 32 个文件创建一个列表。:( (2认同)