9 SUBROUTINE open_files(RUN_NAME, RUN_TYPE, N_SPX)
23 CHARACTER(LEN=*) :: RUN_NAME
25 CHARACTER(LEN=*) :: RUN_TYPE
29 CHARACTER(len=4) :: EXT
31 CHARACTER(len=255) :: FILE_NAME
36 CHARACTER(len=35) :: EXT_END
37 CHARACTER(len=10) :: CSTATUS
39 CHARACTER(len=32) :: CER
53 ext_end =
'123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' 58 nb = index(run_name,
' ')
62 file_name,
'UNKNOWN',
'SEQUENTIAL',
'FORMATTED',132, ier(
mype))
73 SELECT CASE (trim(run_type))
85 IF (ier(
mype) == 100)
THEN 86 WRITE(
err_msg, 1000)
'RES',
'NEW', trim(file_name)
89 ELSEIF(ier(
mype) /= 0)
THEN 91 WRITE(
err_msg, 2000) trim(file_name), trim(cer)
98 ext(4:4) = ext_end(lc:lc)
100 'NEW',
'DIRECT',
'UNFORMATTED',
open_n1, ier(
mype))
102 IF (ier(
mype) == 100)
THEN 103 WRITE(
err_msg, 1000)ext(2:4),
'NEW', trim(file_name)
106 ELSEIF(ier(
mype) /= 0)
THEN 108 WRITE(
err_msg, 2000) trim(file_name), trim(cer)
123 'OLD',
'DIRECT',
'UNFORMATTED',
open_n1, ier(
mype))
125 IF (ier(
mype) == 101)
THEN 126 WRITE(
err_msg, 1001)
'RES',
'RESTART_1',trim(file_name)
129 ELSEIF(ier(
mype) /= 0)
THEN 131 WRITE(
err_msg, 2000) trim(file_name), trim(cer)
138 ext(4:4) = ext_end(lc:lc)
140 'OLD',
'DIRECT',
'UNFORMATTED',
open_n1, ier(
mype))
142 IF (ier(
mype) == 101)
THEN 143 WRITE(
err_msg, 1001) ext(2:4),
'RESTART_1', &
147 ELSEIF(ier(
mype) /= 0)
THEN 149 WRITE(
err_msg, 2000) trim(file_name), trim(cer)
165 cstatus,
'DIRECT',
'UNFORMATTED',
open_n1, ier(
mype))
167 IF (ier(
mype) == 101)
THEN 168 WRITE(
err_msg, 1001)
'RES',
'RESTART_2',trim(file_name)
171 ELSEIF(ier(
mype) /= 0)
THEN 173 WRITE(
err_msg, 2000) trim(file_name), trim(cer)
180 ext(4:4) = ext_end(lc:lc)
182 'NEW' ,
'DIRECT',
'UNFORMATTED',
open_n1, ier(
mype))
184 IF (ier(
mype) == 100)
THEN 185 WRITE(
err_msg, 1000)ext(2:4),
'RESTART_2', &
189 ELSEIF(ier(
mype) /= 0)
THEN 191 WRITE(
err_msg, 2000) trim(file_name), trim(cer)
213 1000
FORMAT(
'Error 1000: ',a,
' file detected but RUN_TYPE=',a/, &
214 'Cannot open file: ',a)
216 1001
FORMAT(
'Error 1001: ',a,
' file missing for RUN_TYPE=',a/, &
217 'Cannot open file: ',a)
219 2000
FORMAT(
'Error 2000: Unknown error opening file ',a,/ &
222 3000
FORMAT(
'Error 3000: Unknown run type: ',a)
241 INTEGER,
INTENT(IN) :: IER_L(0:
numpes-1)
291 INTEGER,
INTENT(inout) :: IER
296 CHARACTER(len=255) :: LOGFILE
297 CHARACTER(len=255) :: FILE_NAME
299 LOGICAL :: DO_NOTHING
309 INQUIRE(unit=unit_log, opened=do_nothing)
310 IF(do_nothing)
RETURN 321 WRITE(logfile,
"(A)")
run_name(1:(nb-1))
323 WRITE(logfile,
"(A,'_',I1.1)")
run_name(1:(nb-1)), mype
325 WRITE(logfile,
"(A,'_',I2.2)")
run_name(1:(nb-1)), mype
326 ELSEIF(
numpes < 1000)
THEN 327 WRITE(logfile,
"(A,'_',I3.3)")
run_name(1:(nb-1)), mype
328 ELSEIF(
numpes < 10000)
THEN 329 WRITE(logfile,
"(A,'_',I4.4)")
run_name(1:(nb-1)), mype
331 WRITE(logfile,
"(A,'_',I8.8)")
run_name(1:(nb-1)), mype
336 nb = len_trim(logfile)+1
337 CALL open_file(logfile, nb, unit_log,
'.LOG', file_name, &
338 'APPEND',
'SEQUENTIAL',
'FORMATTED', 132, ier)
logical function error_opening(IER_l)
integer, parameter unit_out
subroutine open_files(RUN_NAME, RUN_TYPE, N_SPX)
character(len=60) run_name
logical bstart_with_one_res
subroutine init_err_msg(CALLER)
subroutine open_file(FILENAME, NB, IUNIT, EXT, FULL_NAME, OPEN_STAT, OPEN_ACCESS, OPEN_FORM, IRECL, IER)
integer, parameter unit_spx
integer, parameter unit_log
character(len=line_length), dimension(line_count) err_msg
integer, parameter unit_res
subroutine open_pe_log(IER)
subroutine flush_err_msg(DEBUG, HEADER, FOOTER, ABORT, LOG, CALL_TREE)