41 |
CEOP |
CEOP |
42 |
|
|
43 |
C !FUNCTIONS |
C !FUNCTIONS |
44 |
|
INTEGER ILNBLNK |
45 |
INTEGER MDS_RECLEN |
INTEGER MDS_RECLEN |
46 |
LOGICAL MASTER_CPU_IO |
LOGICAL MASTER_CPU_IO |
47 |
|
EXTERNAL ILNBLNK |
48 |
EXTERNAL MDS_RECLEN |
EXTERNAL MDS_RECLEN |
49 |
EXTERNAL MASTER_CPU_IO |
EXTERNAL MASTER_CPU_IO |
50 |
|
|
51 |
C !LOCAL VARIABLES |
C !LOCAL VARIABLES |
52 |
INTEGER i, j |
INTEGER i, j |
53 |
INTEGER ioUnit, length_of_rec |
INTEGER ioUnit, length_of_rec, IL |
54 |
|
CHARACTER*(MAX_LEN_MBUF) msgBuf |
55 |
|
LOGICAL exst |
56 |
#ifdef EXF_INTERP_USE_DYNALLOC |
#ifdef EXF_INTERP_USE_DYNALLOC |
57 |
#ifdef EXF_IREAD_USE_GLOBAL_POINTER |
#ifdef EXF_IREAD_USE_GLOBAL_POINTER |
58 |
C When using threads the address of the local automatic array |
C When using threads the address of the local automatic array |
109 |
IF ( MASTER_CPU_IO(myThid) ) THEN |
IF ( MASTER_CPU_IO(myThid) ) THEN |
110 |
C-- master thread of process 0, only, opens a global file |
C-- master thread of process 0, only, opens a global file |
111 |
|
|
112 |
|
#ifndef ALLOW_ECCO |
113 |
|
IL = ILNBLNK( infile ) |
114 |
|
INQUIRE( file=infile, exist=exst ) |
115 |
|
IF (exst) THEN |
116 |
|
IF ( debugLevel .GE. debLevA ) THEN |
117 |
|
WRITE(msgBuf,'(A,A)') |
118 |
|
& ' EXF_INTERP_READ: opening file: ',infile(1:IL) |
119 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
120 |
|
& SQUEEZE_RIGHT , myThid) |
121 |
|
ENDIF |
122 |
|
ELSE |
123 |
|
WRITE(msgBuf,'(2A)') |
124 |
|
& ' EXF_INTERP_READ: filename: ', infile(1:IL) |
125 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
126 |
|
& SQUEEZE_RIGHT , myThid) |
127 |
|
CALL PRINT_ERROR( msgBuf, myThid ) |
128 |
|
WRITE(msgBuf,'(A)') |
129 |
|
& ' EXF_INTERP_READ: File does not exist' |
130 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
131 |
|
& SQUEEZE_RIGHT , myThid) |
132 |
|
CALL PRINT_ERROR( msgBuf, myThid ) |
133 |
|
STOP 'ABNORMAL END: S/R EXF_INTERP_READ' |
134 |
|
ENDIF |
135 |
|
#endif /* ALLOW_ECCO */ |
136 |
|
|
137 |
CALL MDSFINDUNIT( ioUnit, myThid ) |
CALL MDSFINDUNIT( ioUnit, myThid ) |
138 |
length_of_rec=MDS_RECLEN( filePrec, nx_in*ny_in, myThid ) |
length_of_rec=MDS_RECLEN( filePrec, nx_in*ny_in, myThid ) |
139 |
OPEN( ioUnit, file=infile, status='old', access='direct', |
OPEN( ioUnit, file=infile, status='old', access='direct', |