22 LOGICAL,
INTENT(INOUT) :: pEXIT_SIGNAL
25 LOGICAL :: USER_HAULT, WALL_HAULT
27 DOUBLE PRECISION :: WALL_STOP, FANCY_BUFF, FANCY_BATCH
29 CHARACTER(LEN=4) :: WT_UNIT, BF_UNIT, BC_UNIT
36 wall_hault = ((wall_stop+
term_buffer) >= batch_wallclock)
37 INQUIRE(file=
"MFIX.STOP", exist=user_hault)
41 CALL get_tunit(wall_stop,wt_unit)
43 CALL get_tunit(fancy_buff, bf_unit)
44 fancy_batch = batch_wallclock
45 CALL get_tunit(fancy_batch, bc_unit)
46 WRITE(
err_msg, 1100) wall_stop, wt_unit, fancy_buff, bf_unit, &
51 1100
FORMAT(2/,15(
'='),
' REQUESTED CPU TIME LIMIT REACHED ',(
'='),/ &
52 'Batch Wall Time:',3x,f9.2,1x,a,/
'Elapsed Wall Time: ',f9.2, &
53 1x,a,/
'Term Buffer:',7x,f9.2,a,/15(
'='),
' REQUESTED CPU ', &
54 'TIME LIMIT REACHED ',(
'='))
62 1200
FORMAT(2/,19(
'='),
' MFIX STOP SIGNAL DETECTED ',19(
'='),/
'MFIX.',&
63 'STOP file detected in run directory. Terminating MFIX.',/ &
64 'Please DO NOT FORGET to erase the MFIX.STOP file before ', &
65 'restarting',/19(
'='),
'MFIX STOP SIGNAL DETECTED ',19(
'='))
69 pexit_signal = (wall_hault .OR. user_hault) .OR. pexit_signal
subroutine check_batch_queue_end(pEXIT_SIGNAL)
double precision function wall_time()
double precision wall_start
double precision term_buffer
double precision batch_wallclock
character(len=line_length), dimension(line_count) err_msg
subroutine get_tunit(TLEFT, TUNIT)
subroutine flush_err_msg(DEBUG, HEADER, FOOTER, ABORT, LOG, CALL_TREE)