#====================================================================== # Clear coupler log files for comparison tests #====================================================================== unsetenv CPLLOG_INIT unsetenv CPLLOG_REST #====================================================================== # do an initial run test with length taken from compset default #====================================================================== cd $CASEROOT echo "doing an initial test, with length taken from compset default" >>& $TESTSTATUS_LOG ./xmlchange -file env_run.xml -id CONTINUE_RUN -val FALSE ./xmlchange -file env_run.xml -id REST_OPTION -val never rm $EXEROOT/cesm.exe >& /dev/null cp -f $EXEROOT/cesm.exe.pem1 $EXEROOT/cesm.exe || exit -9 cp -f env_mach_pes.xml.pem1 env_mach_pes.xml cp -f env_build.xml.pem1 env_build.xml ./cesm_setup -clean ./cesm_setup cp -f env_mach_pes.xml.pem1 env_mach_pes.xml cp -f env_build.xml.pem1 env_build.xml cp -f env_mach_pes.xml LockedFiles/env_mach_pes.xml.locked cp -f env_build.xml LockedFiles/env_build.xml.locked ./$CASE.run gunzip $RUNDIR/cpl.log*.gz set CplLogFile = `ls -1t $RUNDIR/cpl.log* | head -1` setenv CPLLOG_INIT $CplLogFile setenv BASEGEN_FILE01 $CplLogFile echo "Initial Test log is $CPLLOG_INIT" >>& $TESTSTATUS_LOG if ( $?CPLLOG_INIT ) then echo "Checking successful completion of init cpl log file" >>& $TESTSTATUS_LOG set pass = `grep "SUCCESSFUL TERM" $CPLLOG_INIT | wc -l` if ( $pass != 0 ) then set basestatus = "PASS " else set basestatus = "FAIL " echo "initial run did not complete successfully, stopping" >>& $TESTSTATUS_LOG echo "$basestatus ${CASEBASEID} " >>& $TESTSTATUS_LOG echo "$basestatus ${CASEBASEID} " >&! $TESTSTATUS_OUT exit -5 endif set tput = `grep "# simulated years " $CPLLOG_INIT` echo "initial tput = $tput" >>& $TESTSTATUS_LOG endif #====================================================================== # do another initial run modify cpl pes #====================================================================== cd $CASEROOT echo " " echo "doing a second test" >>& $TESTSTATUS_LOG rm $EXEROOT/cesm.exe >& /dev/null cp -f $EXEROOT/cesm.exe.pem2 $EXEROOT/cesm.exe || exit -9 cp -f env_mach_pes.xml.pem2 env_mach_pes.xml cp -f env_build.xml.pem2 env_build.xml ./cesm_setup -clean ./cesm_setup cp -f env_mach_pes.xml.pem2 env_mach_pes.xml cp -f env_build.xml.pem2 env_build.xml cp -f env_mach_pes.xml LockedFiles/env_mach_pes.xml.locked cp -f env_build.xml LockedFiles/env_build.xml.locked ./$CASE.run #================== # restore original settings #================== cp -f env_mach_pes.xml.pem1 env_mach_pes.xml cp -f env_build.xml.pem1 env_build.xml #================== gunzip $RUNDIR/cpl.log*.gz set CplLogFile = `ls -1t $RUNDIR/cpl.log* | head -1` setenv CPLLOG_REST $CplLogFile setenv BASEGEN_FILE02 $CplLogFile echo "second test log is $CPLLOG_REST" >>& $TESTSTATUS_LOG set basestatus = "UNDEF" if ( $?CPLLOG_INIT ) then if ( $?CPLLOG_REST ) then echo "Comparing initial log file with second log file" >>& $TESTSTATUS_LOG $CASETOOLS/check_exactrestart.pl $CPLLOG_INIT $CPLLOG_REST >>& $TESTSTATUS_LOG set pass = `tail -1 $TESTSTATUS_LOG | grep PASS | wc -l` if ( $pass != 0 ) then set basestatus = "PASS " else set basestatus = "FAIL " endif set tput = `grep "# simulated years " $CPLLOG_REST` echo "second tput = $tput" >>& $TESTSTATUS_LOG else echo "ERROR in ${0}: restart coupler log file NOT set" >>& $TESTSTATUS_LOG set basestatus = "ERROR" endif else echo "ERROR in ${0}: initial coupler log file NOT set" >>& $TESTSTATUS_LOG set basestatus = "ERROR" endif echo "$basestatus ${CASEBASEID} " >>& $TESTSTATUS_LOG echo "$basestatus ${CASEBASEID} " >&! $TESTSTATUS_OUT #====================================================================== # runs complete #====================================================================== setenv CPLLOG_GENCMP $CPLLOG_INIT