必看
续跑、重启、归档与故障排查
介绍 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. 运行失败的排查顺序
如果作业失败,建议按以下顺序检查:
$CASEROOT中批处理系统生成的标准输出和标准错误文件。$RUNDIR中的cpl.log.*,确认模型在哪一阶段停止。- 其他组件日志,例如
atm.log.*、lnd.log.*、ice.log.*、ocn.log.*。 CaseStatus中最后一次成功和失败的操作记录。- 输入数据检查结果,必要时重新执行
./check_input_data。
若错误发生在构建阶段,应回到 $BLDDIR 检查对应组件的 *.bldlog.*。
6. 学习提示
本节适合作为“从能跑到可维护”的进阶阅读。实际排错时,可优先将问题归类为输入数据缺失、队列账号错误、NetCDF ABI 不一致、MPI 启动命令错误、restart 文件缺失或组件 namelist 配置错误。
官方参考
- CIME Running a Case: https://esmci.github.io/cime/versions/master/html/users_guide/running-a-case.html
- CESM2.2 Quick Start: https://escomp.github.io/CESM/versions/cesm2.2/html/quickstart.html