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 使用步骤
- 创建 case :加载完环境后使用 create_220_case 命令来创建所需 case
- 修改 case 配置:使用 xmlchange 或者手动修改配置文件
- 编译 case :执行./case.build --skip-provenance-check
- 任务提交:执行 ./case.submit
- 任务查看:计算任务提交之后,可以查看 case 日志
2.数据传输
1). 打开文件夹:登录超算系统后,点击桌面上的“文件夹”。
    2). 选择集群:选择超算集群,然后打开
2). 选择集群:选择超算集群,然后打开 data 文件夹,所有文件均须上传到 data 文件夹下。
    3). 下载客户端:将鼠标悬浮于
3). 下载客户端:将鼠标悬浮于 文件传输 按钮之上,随后点击 下载 按钮,把文件传输客户端下载至本地,并予以安装。在客户端安装完毕后,点击 文件传输,会自动打开本地安装好的客户端。
   
需注意的是,文件传输客户端仅在第一次使用时需要安装,后续使用不必再次安装。 客户端安装指南:cloudtools 客户端下载与安装
文件传输:文件传输客户端打开之后,其左侧呈现的是本地电脑文件夹,而右侧则为超算平台文件夹。鼠标选中文件,然后左右拖曳,即可实现文件的上传与下载。
3.示例 case
3.1 基础编译运行流程
如何使用命令行登录超算,请参考:命令行登陆超算
1). 加载 cesm 环境
2). 设置 cesm 输出路径:
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:

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

7). 编译 case


8). 提交 case
如果提示缺少 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 查看计算结果

3.3 查看计算时间

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 查询。