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

计算环境诊断与依赖准备

说明 CESM 对编译、MPI、NetCDF 与批处理环境的基本要求,并介绍 CESM.run Toolkit 的诊断命令。

CESM.run2026-06-24cesm-required/02_environment_dependencies.md

计算环境诊断与依赖准备

CESM 的编译与运行依赖具体计算平台。对于尚未完成 CIME 移植的新机器,需要先确认编译器、MPI、构建工具、NetCDF 以及批处理系统是否可用。CESM.run Toolkit 的定位是对这些前置条件进行自动化检查和记录,帮助用户在进入 CIME 工作流前形成可复核的环境基线。

1. 官方环境要求概览

CIME 官方移植文档指出,新平台至少应具备以下条件:

  • 可工作的 MPI 环境;如果只计划单核运行,可使用 CIME 的 mpi-serial
  • 构建工具,例如 gmakecmake
  • NetCDF 4.3 或更新版本,并且应使用与 CIME 构建一致的编译器构建。
  • 如使用并行 I/O,可按平台需要准备 PnetCDF。

在正式移植 CESM 前,建议先确认一个基础 MPI 程序能够完成编译和运行。若 MPI 示例都无法运行,后续 CESM 构建和提交通常也会失败。

2. 使用 CESM.run Toolkit 执行环境诊断

发布版二进制文件下载并授权后,可执行:

./cesmrun-linux-x86_64 doctor

如果已将二进制文件安装到 PATH 并重命名为 cesmrun,可使用:

cesmrun doctor

该命令用于检查系统工具、module 环境、NetCDF-C、NetCDF-Fortran、MPI、编译器、CMake、Perl 模块、BLAS/LAPACK 以及 Slurm、PBS、LSF 等批处理系统。诊断结果会导出到:

$HOME/.cime/cesm.env.sh

后续命令会优先复用该文件,以减少重复探测造成的差异。

3. 复用诊断环境

在同一个登录节点或构建 shell 中,可手动加载诊断结果:

source $HOME/.cime/cesm.env.sh

如果平台 module 系统行为异常,或需要排除 module fallback 的影响,可执行:

CESMRUN_DISABLE_MODULE=1 cesmrun doctor

4. 依赖链安装辅助

在缺少 NetCDF、HDF5 或 MPI 等依赖时,可先查看安装计划:

cesmrun install --prefix $HOME/opt/cesm-libs --dry-run

确认后执行实际构建:

cesmrun install --prefix $HOME/opt/cesm-libs --jobs 8

对于网络受限环境,可使用本地包目录:

cesmrun install --prefix $HOME/opt/cesm-libs --package-dir /path/to/packages

或通过环境变量指定:

CESMRUN_PACKAGE_DIR=/path/to/packages cesmrun install --prefix $HOME/opt/cesm-libs

5. 学习提示

环境诊断通过并不等价于科学模拟已经被验证。它只说明当前软件栈具备进入 CESM/CIME 工作流的基本条件。对于生产运行,还应继续完成 case 构建、短时试运行、重启一致性检查和必要的科学验证。

官方参考