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

如何用CDO/NCO为时间序列首尾添加指定时间步?

别担心,CDO和NCO都能轻松搞定这个需求,而且操作比你想的简单!我来给你拆解两种工具的实现方法:

用CDO实现

首先要纠正你一个小误解:CDO的mergetime确实是按时间戳排序合并,但如果要强制按位置拼接(不管时间先后),咱们用cat命令就好——它会严格按照你输入文件的顺序拼接时间序列,完全符合你“开头加段、结尾加段”的要求。

步骤如下:

  1. 先从原数据里提取需要插入的两段:
    • 提取开头要加的2021年8月24-30日数据:
      cdo seldate,2021-08-24,2021-08-30 your_original_data.nc start_segment.nc
      
    • 提取结尾要加的2021年6月1-8日数据:
      cdo seldate,2021-06-01,2021-06-08 your_original_data.nc end_segment.nc
      
  2. 按顺序拼接三个文件(开头段 → 原数据 → 结尾段):
    cdo cat start_segment.nc your_original_data.nc end_segment.nc final_data.nc
    

如果你不想生成中间文件,还可以用管道一步到位:

cdo cat -seldate,2021-08-24,2021-08-30 your_original_data.nc your_original_data.nc -seldate,2021-06-01,2021-06-08 your_original_data.nc final_data.nc

用NCO实现

NCO的思路和CDO类似,用ncrcat命令按文件顺序拼接,搭配ncks提取子时间段:

  1. 提取两段插入数据:
    • 开头段:
      ncks -d time,"2021-08-24","2021-08-30" your_original_data.nc start_segment.nc
      
    • 结尾段:
      ncks -d time,"2021-06-01","2021-06-08" your_original_data.nc end_segment.nc
      
  2. 拼接得到最终文件:
    ncrcat start_segment.nc your_original_data.nc end_segment.nc final_data.nc
    

同样可以一步完成(无需中间文件):

ncrcat <(ncks -d time,"2021-08-24","2021-08-30" your_original_data.nc) your_original_data.nc <(ncks -d time,"2021-06-01","2021-06-08" your_original_data.nc) final_data.nc

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 10:22:54