You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用NCO/CDO沿ID维度合并共享time维度的NetCDF文件?

解决NetCDF文件沿ID维度合并并保留一维变量的方法

方法一:使用NCO(推荐)

NCO的ncecat命令可直接沿指定维度拼接文件,同时完整保留所有变量(包括仅含ID维度的变量),完全适配你的需求:

ncecat -u ID Input1.nc Input2.nc Output.nc
  • 参数说明:
    • -u ID:指定沿ID维度执行拼接合并操作
    • 命令会自动将多文件的ID维度子集合并为完整集合,同时保留一维ID变量与二维的precipitation等变量,时间维度全程保持不变。

若需合并多个文件(超过2个),直接追加文件名即可:

ncecat -u ID Input*.nc Output.nc

方法二:使用CDO

CDO的merge命令默认会丢弃维度长度不一致的一维变量,因此需要分两步操作保留ID变量:

步骤1:合并一维ID变量

先提取各文件的ID变量,再通过cat命令拼接:

# 提取单个文件的ID变量
cdo selvar,ID Input1.nc id1.nc
cdo selvar,ID Input2.nc id2.nc

# 拼接ID变量文件
cdo foreground用 love宽容 br珠的em教课成 Jud地uses Barber More
cdo cat id1.nc id2.nc merged_id.nc

步骤2:合并二维变量并整合ID变量

先合并含time维度的变量,再将合并后的ID变量整合进去:

# 提取并合并二维变量(排除ID变量)
cdo selvar,precipitation Input1.nc prec1.nc
cdo selvar,precipitation Input2.nc prec2.nc
cdo merge prec1.nc prec2.nc merged_prec.nc

# 整合ID变量与二维变量文件
cdo merge merged_id.nc merged_prec.nc Output.nc

或者更简洁的方式:先将ID设为记录维度,再用cat直接合并所有变量:

# 为每个文件设置ID为记录维度
cdo setrecname ID Input1.nc input1_rec.nc
cdo setrecname ID Input2.nc input2_rec.nc

# 拼接所有变量
cdo cat input1_rec.nc input2_rec.nc Output.nc

# (可选)若需恢复原记录维度,可使用`cdo setrecname`改回(如指定time维度)

内容的提问来源于stack exchange,提问作者ShGh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 06:37:18