Skip to content

cesm 使用指南

1.概述

1.1 软件信息

简介:CESM( Community Earth System Model )是由美国国家大气中心于 2010 年发布的新一代地球系统模式,是目前最先进、使用最广泛的地球系统模式之一。CESM 利用耦合器协同大气、海洋、陆面、海冰等分量模式进行气候模拟。它由大气(简称 ATM)、海洋(简称 OCN)、陆面(简称 LND)、海冰(简称 ICE)和陆冰(简称 GLC)5 个分量模式以及控制各分量交互的耦合器(简称 CPL)组成,每个分量模式由动力模式和数据版模式等多种选择,可以进行多种组合满足不同的研究目的,并且各分量模式及耦合器均为并行模型,它们同时支持分布式内存和共享内存两种并行机制,可以非常灵活的使用各种计算资源。

可用版本:

版本
平台
处理器
模块名
使用方式
备注
1.2.2
隐秀

intel
intel/cesm/1.2.2
命令行
使用 netcdf/4.8.1, oneapi2024.2 编译
2.2.0
隐秀
intel
intel/cesm/2.2.0
命令行

使用 netcdf/4.8.1, oneapi2024.2 编译

如需使用其它版本,请联系工作人员 ~

1.2 使用步骤

  1. 创建 case :加载完环境后使用 create_220_case 命令来创建所需 case
  2. 修改 case 配置:使用 xmlchange 或者手动修改配置文件
  3. 编译 case :执行./case.build --skip-provenance-check
  4. 任务提交:执行 ./case.submit
  5. 任务查看:计算任务提交之后,可以查看 case 日志

2.数据传输

1). 打开文件夹:登录超算系统后,点击桌面上的“文件夹”。 2). 选择集群:选择超算集群,然后打开 data 文件夹,所有文件均须上传到 data 文件夹下。 3). 下载客户端:将鼠标悬浮于 文件传输 按钮之上,随后点击 下载 按钮,把文件传输客户端下载至本地,并予以安装。在客户端安装完毕后,点击 文件传输,会自动打开本地安装好的客户端。

需注意的是,文件传输客户端仅在第一次使用时需要安装,后续使用不必再次安装。 客户端安装指南:cloudtools 客户端下载与安装

文件传输:文件传输客户端打开之后,其左侧呈现的是本地电脑文件夹,而右侧则为超算平台文件夹。鼠标选中文件,然后左右拖曳,即可实现文件的上传与下载。

3.示例 case

3.1 基础编译运行流程

如何使用命令行登录超算,请参考:命令行登陆超算

1). 加载 cesm 环境

module load intel/cesm/2.2.0

2). 设置 cesm 输出路径:

# 这里可以设置为您需要的任意路径
export CESM_OUTPUT=$HOME/data/cesm/2.2.0

3). 创建 case:

create_220_case --mach qh_intel \
     --compset B1850 --res f09_g17 \
     --run-unsupported \
     --case test_module  # case名可以自己指定

4). 修改核心数 (这里修改为 64):

./xmlchange -file env_mach_pes.xml -id NTASKS_ATM -val 64
./xmlchange -file env_mach_pes.xml -id NTASKS_LND -val 64
./xmlchange -file env_mach_pes.xml -id NTASKS_ICE -val 64
./xmlchange -file env_mach_pes.xml -id NTASKS_OCN -val 64
./xmlchange -file env_mach_pes.xml -id NTASKS_CPL -val 64
./xmlchange -file env_mach_pes.xml -id NTASKS_GLC -val 64
./xmlchange -file env_mach_pes.xml -id NTASKS_ROF -val 64
./xmlchange -file env_mach_pes.xml -id NTASKS_WAV -val 64
./xmlchange -file env_mach_pes.xml -id TOTALPES -val 64
./xmlchange NTASKS=64
./xmlchange ROOTPE=0

5). 初始化 case:

./case.setup

6). 查看任务提交信息:

./preview_run

7). 编译 case

./case.build --skip-provenance-check

8). 提交 case

./case.submit

如果提示缺少 inputdata,可以联系管理员帮忙下载

这里会提交两个作业,run.xx 是主要的计算过程,st_archive 是运行结束后的归档过程

9). 查看日志

# 这里的 cesm.log 后缀是提交的作业id+时间,后续请自行更改
tail -f tail -f $CESM_OUTPUT/cesm_2.2.0_result/intel/test_module/run/cesm.log.318918.241126-133918

3.2 查看计算结果

cd $CESM_OUTPUT/cesm_2.2.0_result/intel/test_module/run/
ls -l *nc

3.3 查看计算时间

# 进入算例文件夹,这里文件的后缀是 case 的名字+提交的作业id+时间
vim timing/cesm_timing.test_module.318918.241126-133918

3.4 进阶操作:从断点处续跑

首次运行结束后生成多个断点文件后才可续跑

# 进入算例文件夹内,按照需求修改配置
./xmlchange RUN_TYPE=branch  # 续跑可以置为 branch 或其他
./xmlchange RUN_REFCASE=test_module  # 断点文件 case 名,一般为当前的 case 名
./xmlchange RUN_REFDATE=2016-12-03  # 自行设置从哪个日期续跑
./xmlchange RUN_REFTOD=00000  # 自行设置续跑日期的秒数(一天为 86400s)
./xmlchange CONTINUE_RUN=TRUE  # 打开续跑功能
./xmlchange RESUBMIT=3  # 设置提交次数,每次续跑后该变量会自动减 1,直到减为 0 后算例停止运行
./case.build --skip-provenance-check  # 每次修改变量后需要重新 build 
./case.submit

4.任务查看

4.1 图形页面查看

通过图形界面提交计算任务后会自动跳转到 任务中心,在任务中心页面能够对计算任务状态、基本信息进行查看,还能停止计算任务。任务中心 页面,也可以通过双击桌面上 任务中心 图标打开。

任务中心 有两个 tab 页面:

  • “进行中”:正在运行的任务,或者一分钟内结束任务
  • “已完成”:已经结束的任务,一分钟同步一次

计算任务最右侧操作栏的按钮功能可区分为:

  • 第一个按钮:打开计算任务所在的目录
  • 第二个按钮:打开程序输出日志
  • 第三个按钮:打开任务详细信息
  • 第四个按钮:停止计算任务

4.2 命令行查看

1). 查看计算任务 执行 squeue 查看计算任务状态

[user@login01 tmp]$  squeue 
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
            318919     intel st_archi   zouxun PD       0:00      1 (Dependency)
            318918     intel run.test   zouxun  R       8:39      1 qhcn765
  • JOBID,任务编号
  • ST,任务状态,作业状态包括 R(正在运行),PD(正在排队),CG(即将完成),CD(已完成)
  • TIME,运行时间
  • NODES,占用节点(也称服务器,下同)个数
  • NODELIST,占用服务器的编号

2). 查看日志 计算任务运行起来后,执行 tail -f cesm.log. xxxx 可 以查看程序的实时输出,执行 Ctrl+C 退出查看

[user@login01 tmp]$ tail -f cesm.log.xxxx
 max rss=3880185856.0 MB
(Task 35, block 1) Message from (lon, lat) (  96.687,   3.085), which is global (i,j) (122, 199). Level: 13
(Task 35, block 1) MARBL WARNING (marbl_interior_tendency_mod:compute_large_detritus_prod): dz*DOP_loss_P_bal= 0.386E-012 exceeds Jint_Ptot_thres= 0.271E-013
(Task 29, block 1) Message from (lon, lat) ( 188.938,  -7.346), which is global (i,j) (204, 160). Level: 14
(Task 29, block 1) MARBL WARNING (marbl_interior_tendency_mod:compute_large_detritus_prod): dz*DOP_loss_P_bal= 0.774E-012 exceeds Jint_Ptot_thres= 0.271E-013

3). 停止计算任务

执行 scancel 任务号 停止任务。任务号通过 squeue 查询。

scancel  123456