1 SUBROUTINE strip_comments(input_file)
11 CHARACTER(LEN=*) :: input_file
15 INTEGER,
PARAMETER :: unit_strip = 20
16 INTEGER :: istat, iustrip, iunew
17 CHARACTER(LEN=500) :: line
21 INQUIRE (file=input_file, exist=lex, iostat=istat)
22 IF (istat.ne.0 .or. .not. lex)
THEN
24 print *,trim(input_file),
' does not exist in directory: ',
30 CALL safe_open(iustrip, istat, input_file,
'old',
'formatted')
31 IF (istat .ne. 0)
THEN
32 line =
'error opening ' // trim(input_file) //
33 1
' in STRIP_COMMENTS'
35 print *,
'istat = ', istat
39 CALL safe_open(iunew, istat, trim(input_file) //
'.stripped',
40 1
'replace',
'formatted')
41 IF (istat .ne. 0)
THEN
42 line =
'error opening ' // trim(input_file) //
43 1
'.stripped in STRIP_COMMENTS'
45 print *,
'istat = ', istat
49 READ(iustrip,
'(a)',
END=100) line
51 IF (line(1:1) ==
'!') cycle
52 WRITE(iunew,
'(a)') trim(line)
60 END SUBROUTINE strip_comments