- 积分
- 36990
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2017-7-22
- 最后登录
- 1970-1-1
|
发表于 2018-4-26 22:25:37
|
显示全部楼层
现在细看确实有些小问题,但不影响大局。
大局是模式跑成功了:(引自楼主)
这个其实不是出问题了,是运行成功了~
(seq_mct_drv): =============== SUCCESSFUL TERMINATION OF CPL7-CCSM ===============
有这句话就是运行成功了的~~
小问题是确实在rundir/Tools下面找不合理。如果楼主的$CASE.run 是对的话,应该长这样:
mpiexec_mpt -p "%g:" omplace $EXEROOT/cesm.exe >&! cesm.log.$LID
wait
echo "`date` -- CSM EXECUTION HAS FINISHED"
# -------------------------------------------------------------------------
# Update env variables in case user changed them during run
# -------------------------------------------------------------------------
cd $CASEROOT
source ./Tools/ccsm_getenv
#这是第二次 getenv,紧接在cd $CASEROOT 之后,所以找的是CASEROOT/Tools
# -------------------------------------------------------------------------
# Check for successful run
# -------------------------------------------------------------------------
set sdate = `date +"%Y-%m-%d %H:%M:%S"`
cd $RUNDIR
set CESMLogFile = `ls -1t cesm.log* | head -1`
if ($CESMLogFile == "") then
echo "Model did not complete - no cesm.log file present - exiting"
exit -1
endif
set CPLLogFile = `echo $CESMLogFile | sed -e 's/cesm/cpl/'`
if ($CPLLogFile == "") then
echo "Model did not complete - no cpl.log file corresponding to most recent CESM log ($RUNDIR/$CESMLogFile)"
exit -1
endif
grep 'SUCCESSFUL TERMINATION' $CPLLogFile || echo "Model did not complete - see $RUNDIR/$CESMLogFile" && echo "run FAILED $sdate" >>& $CASEROOT/CaseStatus && exit -1
# 这里宣布模式成功
echo "run SUCCESSFUL $sdate" >>& $CASEROOT/CaseStatus
# -------------------------------------------------------------------------
# Save model output logs
# -------------------------------------------------------------------------
gzip *.$LID
if ($LOGDIR != "") then
if (! -d $LOGDIR/bld) mkdir -p $LOGDIR/bld || echo " problem in creating $LOGDIR/bld"
cp -p $RUNDIR/*log.$LID.* $LOGDIR/
endif
# -------------------------------------------------------------------------
# Perform short term archiving of output
# -------------------------------------------------------------------------
cd $CASEROOT
if ($DOUT_S == 'TRUE') then
echo "Archiving cesm output to $DOUT_S_ROOT"
echo "Calling the short-term archiving script st_archive.sh"
cd $RUNDIR; $CASETOOLS/st_archive.sh
# 这里运行 st_archive.sh
endif
可能楼主的$CASE.run搞错了,getenv那句不小心搬到了后面,放在了st_archive.sh之后吧。而且st_archive.sh会 cd $RUNDIR。导致RUNDIR/Tools下试图找 getenv吧。
如果你真的有类似错误就贴出来吧。很有可能你的问题跟楼主不一样。 |
|