CESM 提交与运行(文件详解)

已建立case之后的操作      文件名     重要总结

主要步骤:环境变量设置、计算资源分配、case运行

一、提交

1、指定解释器为 /bin/csh -f

2、从文件 ./Tools/ccsm_getenv 获取环境变量设置(执行),如果获取失败退出

     ./check_case 检查case

3、判断文件{CASE}.test 存在:

(1)如果存在:

cat > templar <<EOF
${BATCHSUBMIT}./${CASE}.test
EOF

创建一个名为 templar 的文件

写入 ${BATCHSUBMIT}./${CASE}.test

执行 templar 文件中的命令

删除 templar 文件

输出 "test submitted $sdate" 并追加到 Casestatus 文件中,其中$sdate是日期时间

(2)如果不存在:

创建一个名为 templar 的文件

写入 ${BATCHSUBMIT}nohup./${CASE}.run > run.log

执行 templar 文件中的命令

删除 templar 文件

输出 "run submitted $sdate" 并追加到 CaseStatus 文件中

总结:判断 case.test 是否存在,存在则执行 .test,不存在则执行 .run

./Tool/ccsm_getenv

执行该文件的目的:加载环境

执行env_case env_run env_mach env_build

删除去掉扩展名后的文件名对应的文件 ($i:r表示去除扩展名后的文件名)

执行env_mach_specific

写入文件env_derived并复制到LockedFiles

文件 env_case

文件env_run

文件env_mach_specific

以编辑这个文件来添加在系统上进行构建和运行所需的模块加载命令或其他路径,还可以包括针对机器的一般环境设置,并给出一些示例

设置一些资源限制,将核心转储大小、栈大小和数据大小都设置为无限制

设置环境变量 OMP_STACKSIZE 的值为 256M,可能是用于 OpenMP 并行编程环境中的栈大小设置

文件 env_derived

./check_case

代码运行目的:检查case是否准备好运行

  • 执行 /Tools/ccsm_check_lockedfiles,检查是否有锁定的文件,防止冲突
  • 加载 ./Tools/ccsm_getenv,获取环境变量设置
  • 检查环境变量 BUILD_COMPLETE是否为 "TRUE",如果不是,则提示用户构建未完成,并告知用户如何重新交互式构建模型。如果构建已完成,表示这个 “case” 准备好运行

./case.test

.test不存在

./case.run

即【二、运行】

CaseStatus

文件目的:记录status的时间信息

二、运行

1、作业调度

CESM 简单作业调度-CSDN博客

2、环境加载,buildnml

source ./Tools/ccsm_getenv     || exit -2

$BUILD_COMPLETE = TRUE

设置环境变量BATCHQUERY BATCHSUBMIT

创建和清理与时间相关的目录 RUNDIR/timing RUNDIR/timing/checkpoints 检查节点

设置环境变量并输出具体时间到CaseStatus

执行 ./preview_namelists 主要目的:进行模式一些预处理,包括设置环境变量、创建必要的目录、构建命名列表(Namelist)以及保存命名列表到文档目录等

3、CESM PRESTAGE SCRIPT

检查输入文件 ./check_input_data

4、Run the model

循环检查节点,每过一段时间开始检查直至有合适数量的节点

//得到队列空闲节点id
set node_list = qview -all queue_name
//统计空闲节点数
set idle_node_num = cnload -c $node_list -nocolor egrep "idle" | wc -1

【SBATCH&bsub】商用超算作业调度系统-CSDN博客

提交作业,查看状态,运行

5、同化 start of DART

确认cpllog文件中,模式已成功建立:grep 'SUCCESSFUL TERMINATION' $CplLogFile

执行脚本:./assimilate.csh & ./no_assimilate.csh

no_assimilate.csh

assimilate.csh

执行 ./cam_no_assimilate.csh & ./pop_assimilate.csh(例子为只有海洋同化)

6、检查模式是否成功运行

检查 cesm.log

ls -1t cesm.log* | head -1

7、更新环境变量

source ./Tools/ccsm_getenv 同【一  / 文件./check_case】

8、保存模式输出

9、短期、长期archive

对应bulid_case中: ./st_archive.sh & case_name.l_archive

./Tool/st_archive.sh

修改为每月前十天归档

if [[ $secs == 00000 && ( $month == 01 || $month == 02 || $month == 03 || $month == 04 || $month == 05 || $month == 06 || $month == 07 || $month == 08 || $month == 09 || $month == 10 || $month == 11 || $month == 12 ) && ($day == 01 || $day == 02 || $day == 03 || $day == 04 || $day == 05 || $day == 06 || $day == 07 || $day == 08 || $day == 09 || $day == 10 ) ]]; then

10、resubmit

判断是否重新提交,通过修改参数

修改环境变量 ./xmlchange -file env_run.xml -id CONTINUE_RUN -val TRUE

./xmlchange -file env_run.xml -id RESUBMIT

$BATCHSUBMIT ./$CASE.run

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值