🎉 新版上线:现在购买赠送 1 次一对一服务,截止 2026.9.30
必看

续跑、重启、归档与故障排查

介绍 CONTINUE_RUN、RESUBMIT、RUN_TYPE、短期归档和常见错误定位路径。

CESM.run2026-06-24cesm-required/07_restart_archive_troubleshooting.md

续跑、重启、归档与故障排查

CESM 的长期积分通常不会一次性完成,而是由多个队列作业连续推进。理解续跑、重启、归档和日志位置,是从短时测试进入正式模拟的必要步骤。

1. 首次运行后的续跑

首次成功运行后,如果需要继续推进同一个 case,应设置:

./xmlchange CONTINUE_RUN=TRUE

然后重新提交:

./case.submit

若不设置 CONTINUE_RUN=TRUE,后续提交可能不会按预期从已有 restart 文件继续。

2. 控制运行长度与自动续交

运行长度由 env_run.xml 中的变量控制。常用查询:

./xmlquery STOP_OPTION,STOP_N,REST_OPTION,REST_N,RESUBMIT

示例:每次运行 5 个模式年,并自动续交 30 次:

./xmlchange STOP_OPTION=nyears,STOP_N=5,RESUBMIT=30

实际设置应结合模式吞吐量、队列最长墙钟时间和磁盘配额决定。

3. RUN_TYPE 的三种含义

RUN_TYPE 用于设置初始化类型:

  • startup:默认方式,各组件从基准状态、初始场或内部冷启动方式开始。
  • branch:从前一个 case 的一组一致 restart 文件开始,常用于保持逐位一致性的敏感性试验。
  • hybrid:类似 startup,但使用参考 case 的初始或重启文件;允许调整起始日期,不保证相对参考 case 的逐位连续。

查询:

./xmlquery RUN_TYPE,RUN_REFCASE,RUN_REFDATE,RUN_STARTDATE

设置 branch 或 hybrid 前,应确认参考 case 的 restart 文件已经位于 CIME 可识别的位置,或设置了正确的 RUN_REFDIR

4. 短期归档

模型运行期间,各组件会在 $RUNDIR 生成 history、restart、log、rpointer 等文件。短期归档会将这些文件移动到 $DOUT_S_ROOT/$CASE,有助于清理 $RUNDIR 并管理磁盘空间。

查询归档设置:

./xmlquery DOUT_S,DOUT_S_ROOT

测试阶段可临时关闭:

./xmlchange DOUT_S=FALSE

生产阶段是否启用归档,应结合平台存储策略决定。

5. 运行失败的排查顺序

如果作业失败,建议按以下顺序检查:

  1. $CASEROOT 中批处理系统生成的标准输出和标准错误文件。
  2. $RUNDIR 中的 cpl.log.*,确认模型在哪一阶段停止。
  3. 其他组件日志,例如 atm.log.*lnd.log.*ice.log.*ocn.log.*
  4. CaseStatus 中最后一次成功和失败的操作记录。
  5. 输入数据检查结果,必要时重新执行 ./check_input_data

若错误发生在构建阶段,应回到 $BLDDIR 检查对应组件的 *.bldlog.*

6. 学习提示

本节适合作为“从能跑到可维护”的进阶阅读。实际排错时,可优先将问题归类为输入数据缺失、队列账号错误、NetCDF ABI 不一致、MPI 启动命令错误、restart 文件缺失或组件 namelist 配置错误。

官方参考