/[MITgcm]/MITgcm/model/src/open_copy_data_file.F
ViewVC logotype

Contents of /MITgcm/model/src/open_copy_data_file.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show annotations) (download)
Sun Feb 4 14:38:48 2001 UTC (23 years, 4 months ago) by cnh
Branch: MAIN
CVS Tags: checkpoint40pre3, checkpoint40pre2, checkpoint40pre1, checkpoint40pre7, checkpoint40pre6, checkpoint40pre9, checkpoint40pre8, checkpoint38, checkpoint40pre4, pre38tag1, c37_adj, pre38-close, checkpoint39, checkpoint37, checkpoint36, checkpoint35, checkpoint40pre5, checkpoint40
Branch point for: pre38
Changes since 1.1: +2 -1 lines
Made sure each .F and .h file had
the CVS keywords Header and Name at its start.
Most had header but very few currently have Name, so
lots of changes!

1 C $Header: /u/gcmpack/models/MITgcmUV/model/src/open_copy_data_file.F,v 1.1 2000/06/21 19:23:39 adcroft Exp $
2 C $Name: $
3
4 #include "CPP_OPTIONS.h"
5
6 SUBROUTINE OPEN_COPY_DATA_FILE(
7 I data_file, caller_sub,
8 O iUnit,
9 I myThid )
10 C /==========================================================\
11 C | SUBROUTINE OPEN_COPY_DATA_FILE |
12 C | o Routine to open and copy a data.* file to STDOUT |
13 C | and return the open unit in iUnit |
14 C |==========================================================|
15 C \==========================================================/
16 IMPLICIT NONE
17
18 C === Global variables ===
19 #include "SIZE.h"
20 #include "EEPARAMS.h"
21
22 C === Routine arguments ===
23 C myThid - Number of this instance of INI_PARMS
24 CHARACTER*(*) data_file
25 CHARACTER*(*) caller_sub
26 INTEGER iUnit
27 INTEGER myThid
28
29 C === Local variables ===
30 C msgBuf - Informational/error meesage buffer
31 CHARACTER*(MAX_LEN_MBUF) msgBuf
32 CHARACTER*(MAX_LEN_PREC) record
33 INTEGER ILNBLNK
34 EXTERNAL ILNBLNK
35 INTEGER errIO,IL
36 LOGICAL exst
37
38 C
39 _BEGIN_MASTER(myThid)
40
41 C-- Open the parameter file
42 INQUIRE( FILE=data_file, EXIST=exst )
43 IF (exst) THEN
44 WRITE(msgbuf,'(A,A)')
45 & ' OPEN_COPY_DATA_FILE: opening file ',data_file
46 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
47 & SQUEEZE_RIGHT , mythid)
48 ELSE
49 WRITE(msgBuf,'(A,A,A)')
50 & 'File ',data_file,' does not exist!'
51 CALL PRINT_ERROR( msgBuf , 1)
52 WRITE(msgBuf,'(A,A)') 'S/R CALLED BY ',caller_sub
53 CALL PRINT_ERROR( msgBuf , 1)
54 STOP 'ABNORMAL END: S/R OPEN_COPY_DATA_FILE'
55 ENDIF
56
57 OPEN(UNIT=scrUnit1,STATUS='SCRATCH')
58 OPEN(UNIT=scrUnit2,STATUS='SCRATCH')
59 OPEN(UNIT=modelDataUnit,FILE=data_file,STATUS='OLD',
60 & IOSTAT=errIO)
61 IF ( errIO .LT. 0 ) THEN
62 WRITE(msgBuf,'(A,A)')
63 & 'Unable to open data file: ',data_file
64 CALL PRINT_ERROR( msgBuf , 1)
65 WRITE(msgBuf,'(A,A)') 'S/R CALLED BY ',caller_sub
66 CALL PRINT_ERROR( msgBuf , 1)
67 STOP 'ABNORMAL END: S/R OPEN_COPY_DATA_FILE'
68 ENDIF
69
70 DO WHILE ( .TRUE. )
71 READ(modelDataUnit,FMT='(A)',END=1001) RECORD
72 IL = MAX(ILNBLNK(RECORD),1)
73 IF ( RECORD(1:1) .NE. commentCharacter )
74 & WRITE(UNIT=scrUnit1,FMT='(A)') RECORD(:IL)
75 WRITE(UNIT=scrUnit2,FMT='(A)') RECORD(:IL)
76 ENDDO
77 1001 CONTINUE
78 CLOSE(modelDataUnit)
79
80 C-- Report contents of model parameter file
81 WRITE(msgBuf,'(A)')
82 &'// ======================================================='
83 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
84 & SQUEEZE_RIGHT , 1)
85 WRITE(msgBuf,'(A,A,A)') '// Parameter file "',data_file,'"'
86 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
87 & SQUEEZE_RIGHT , 1)
88 WRITE(msgBuf,'(A)')
89 &'// ======================================================='
90 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
91 & SQUEEZE_RIGHT , 1)
92 iUnit = scrUnit2
93 REWIND(iUnit)
94 DO WHILE ( .TRUE. )
95 READ(UNIT=iUnit,FMT='(A)',END=2001) RECORD
96 IL = MAX(ILNBLNK(RECORD),1)
97 WRITE(msgBuf,'(A,A)') '>',RECORD(:IL)
98 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
99 & SQUEEZE_RIGHT , 1)
100 ENDDO
101 2001 CONTINUE
102 CLOSE(iUnit)
103 WRITE(msgBuf,'(A)') ' '
104 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
105 & SQUEEZE_RIGHT , 1)
106
107
108 C-- Return open unit to caller
109 iUnit = scrUnit1
110 REWIND(iUnit)
111
112 _END_MASTER(myThid)
113
114
115 RETURN
116 END
117

  ViewVC Help
Powered by ViewVC 1.1.22