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

Case Setup 与 XML 变量修改

介绍 case.setup、xmlquery、xmlchange 以及 setup 前应关注的配置变量。

CESM.run2026-06-24cesm-required/04_case_setup_xml.md

Case Setup 与 XML 变量修改

case 创建后,需要在 $CASEROOT 中执行 case.setup。该步骤会根据当前 XML 配置生成运行脚本、构建辅助文件和组件 namelist 模板,是从“配置目录”进入“可构建 case”的关键步骤。

1. setup 前应先检查的变量

在执行 case.setup 前,建议先查询关键变量:

./xmlquery CASE,CASEROOT,MACH,COMPSET,GRID
./xmlquery NTASKS,NTHRDS,ROOTPE

其中 PE layout 相关变量通常包括:

  • NTASKS:各组件 MPI task 数。
  • NTHRDS:各组件 OpenMP 线程数。
  • ROOTPE:各组件起始 MPI rank。

如果需要调整并行布局,应在 case.setup 前完成。例如:

./xmlchange NTASKS=30,NTHRDS=4

只修改大气组件 task 数:

./xmlchange NTASKS_ATM=8

2. 执行 case.setup

进入 case 目录后执行:

cd $CASEROOT
./case.setup

该命令会生成或更新多个文件和目录,包括:

  • .case.run:由 CIME 生成的运行脚本,不应直接手工执行或编辑。
  • CaseStatus:记录 case 操作历史。
  • case.st_archive:短期归档脚本。
  • Macros.cmake:与平台和编译器相关的构建宏。
  • user_nl_xxx:各组件用户 namelist 修改文件。
  • CaseDocs/:组件 namelist 的参考输出目录,不应直接编辑。
  • .env_mach_specific.*software_environment.txt:有助于排查模块加载和环境变量问题。

3. 修改 XML 的基本原则

CIME 官方文档建议通过 xmlchange 修改 XML 变量,而不是直接手工编辑 XML 文件。查看变量:

./xmlquery STOP_OPTION,STOP_N

修改变量:

./xmlchange STOP_OPTION=nmonths,STOP_N=1

查看帮助:

./xmlchange --help
./xmlquery --help

4. 清理 setup

如果 setup 后发现 PE layout 或批处理配置需要重新整理,可使用:

./case.setup --clean

需要注意的是,case.setup --clean 不会删除已经创建的 user_nl_xxx 文件。若用户 namelist 中已有手动修改,重新 setup 前应先备份或审查。

5. 学习提示

case.setup 并不是运行模型,而是生成运行与构建所需的 case 控制文件。初学者常见错误是直接编辑 .case.runCaseDocs;更稳妥的做法是通过 xmlchangeuser_nl_* 和 CIME 认可的配置入口修改 case。

官方参考