必看
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.run 或 CaseDocs;更稳妥的做法是通过 xmlchange、user_nl_* 和 CIME 认可的配置入口修改 case。
官方参考
- CIME Setting up a Case: https://esmci.github.io/cime/versions/master/html/users_guide/setting-up-a-case.html
- CESM2.2 Quick Start: https://escomp.github.io/CESM/versions/cesm2.2/html/quickstart.html