- #1
debbieanne
- 12
- 1
Good day,
I am not familiar with older FORTRAN. We are shutting down an old OpenVMS server and moving to AIX. I am trying to tweak old FORTRAN code that is working fine on OpenVMS to now run on AIX. I have one error left in this code that I can't seem to fix. It is the line that reads
6 READ(*,7)IVES,MIN,ITRIP
7 FORMAT(5A4,2I5)
The executable hangs on this code. The complete program is below. I would really appreciate any help you can give me.
I am not familiar with older FORTRAN. We are shutting down an old OpenVMS server and moving to AIX. I am trying to tweak old FORTRAN code that is working fine on OpenVMS to now run on AIX. I have one error left in this code that I can't seem to fix. It is the line that reads
6 READ(*,7)IVES,MIN,ITRIP
7 FORMAT(5A4,2I5)
The executable hangs on this code. The complete program is below. I would really appreciate any help you can give me.
Fortran:
C TRIP REPORT
C TO LIST CATCH NO & WT BY SET FOR EACH SPECIES
C 6 SETS PER PAGE
C FMT
C 1.SPECIES CODE NAME CONVERSION FILE ON DISK
C 2.CARD WITH SHIP NAME(COL 1-20),MINIMUM SET NO(21-25),TRIP NO IN
C (COL 26-50) (5A4,2I5)
C 3.CATCH CARDS ARE FED SORTED BY SPECIES EX TEMP DISK FILE
C
C CAN HANDLE UP TO 1000 SETS PER TRIP
DIMENSION NCOM(1000,7),ACOM(1000,7),IVES(5)
DIMENSION JSL(3000),KSL(3000,6)
DIMENSION ISL(240),ISTS(240,1000),ASTS(240,1000),LSET(1000)
CHARACTER*4 KSL,IVES
JJ=0
KKK=0
ISP=0
DO 5 I=1,3000
II=I
OPEN(9,FILE='GFSPCY.CODE', FORM="formatted", ACTION="read")
READ(9,4,END=6) JSL(I),(KSL(I,J),J=1,6)
4 FORMAT(4X,I4,6A4)
5 CONTINUE
6 READ(*,7)IVES,MIN,ITRIP
7 FORMAT(5A4,2I5)
DO 8 I=1,140
ISL(I)=0
DO 8 J=1,1000
ISTS(I,J)=0
8 ASTS(I,J)=0.0
DO 9 I=1,1000
9 LSET(I)=0
DO 10 I=1,1000
DO 10 J=1,7
NCOM(I,J)=0
10 ACOM(I,J)=0.0
L=1
18 N=0
IF(ISP)19,19,24
OPEN(8,FILE='SORTEDSDA3A.DAT')
19 READ(8,20,END=50)ISET,ISP,INO,AWT,ITYPE
20 FORMAT(6X,I3,71X,I4,I6,F7.2,T1,I1)
IF(ITYPE.NE.6) GO TO 19
NSET=ISET+1-MIN
IF(NSET.GT.JJ)JJ=NSET
IF(ISP.EQ.438.OR.ISP.EQ.794) GO TO 200
IF(ISP.EQ.793.OR.ISP.EQ.889) GO TO 200
IF(ISP.EQ.891.OR.ISP.EQ.890) GO TO 200
IF(ISP.EQ.892) GO TO 200
24 N=N+1
IF(N-1)25,25,30
25 ISL(L)=ISP
JSP=ISP
GO TO 31
30 IF(ISP-JSP)35,31,35
31 ISTS(L,NSET)=ISTS(L,NSET)+INO
ASTS(L,NSET)=ASTS(L,NSET)+AWT
GO TO 19
35 L=L+1
GO TO 18
200 IF(ISP.EQ.438) IS=1
IF(ISP.EQ.794) IS=2
IF(ISP.EQ.793) IS=3
IF(ISP.EQ.889) IS=4
IF(ISP.EQ.891) IS=5
IF(ISP.EQ.890) IS=6
IF(ISP.EQ.892) IS=7
NCOM(NSET,IS)=NCOM(NSET,IS)+INO
ACOM(NSET,IS)=ACOM(NSET,IS)+AWT
GO TO 19
50 LSET(1)=MIN
DO 57 I=2,JJ
57 LSET(I)=MIN-1+I
N=1
KK=6
MM=KK
IZZZZ=0
DO 7071 I=1,240
DO 7071 J=1,1000
7071 IZZZZ=IZZZZ+ISTS(I,J)
IF(IZZZZ.EQ.0) GO TO 100
OPEN(6,FILE='PRINTSCAL.LIS')
59 WRITE(6,60)IVES,ITRIP
60 FORMAT(1H1/////12X,'TABLE 3. ',5A4,' CRUISE NO.',I4//)
WRITE(6,61)
61 FORMAT(1H ,11X,'.........
1..........')
WRITE(6,62)
62 FORMAT(1H ,73X,'SET NUMBER')
WRITE(6,63)(LSET(IN),IN=N,KK)
63 FORMAT(1H ,36X,6I13)
WRITE(6,64)
64 FORMAT(1H ,11X,'SPECIES NAME',20X,'NO WT NO WT NO
1 WT NO WT NO WT NO WT')
WRITE(6,61)
WRITE(6,65)
65 FORMAT(1H )
K50=0
DO 70 I=1,L
DO 80 K=1,II
IF(ISL(I).EQ.JSL(K))GO TO 81
GO TO 80
81 WRITE(6,245)(KSL(K,M),M=1,6)
245 FORMAT(1H ,11X,6A4,4X)
K50=K50+1
GO TO 82
80 CONTINUE
82 IF(K50.LT.I) GO TO 303
DO 85 J=N,KK
IF(ISTS(I,J))86,86,87
86 IF(ASTS(I,J))85,85,87
87 LL=MM-J+1
GO TO(131,132,133,134,135,136),LL
131 WRITE(6,137)ISTS(I,J),ASTS(I,J)
137 FORMAT(1H+,104X,I6,F7.2)
GO TO 85
132 WRITE(6,138)ISTS(I,J),ASTS(I,J)
138 FORMAT(1H+,91X,I6,F7.2)
GO TO 85
133 WRITE(6,139)ISTS(I,J),ASTS(I,J)
139 FORMAT(1H+,78X,I6,F7.2)
GO TO 85
134 WRITE(6,140)ISTS(I,J),ASTS(I,J)
140 FORMAT(1H+,65X,I6,F7.2)
GO TO 85
135 WRITE(6,141)ISTS(I,J),ASTS(I,J)
141 FORMAT(1H+,52X,I6,F7.2)
GO TO 85
136 WRITE(6,142)ISTS(I,J),ASTS(I,J)
142 FORMAT(1H+,39X,I6,F7.2)
GO TO 85
303 WRITE(6,304) ISL(I)
304 FORMAT(1H ,19X,I5,2X,'SPECIES CODE ERROR')
K50=K50+1
85 CONTINUE
IF(I.EQ.44.OR.I.EQ.88) GO TO 68
GO TO 70
68 IF(I.EQ.L)GO TO 70
WRITE(6,60)IVES,ITRIP
WRITE(6,61)
WRITE(6,62)
WRITE(6,63)(LSET(IN),IN=N,KK)
WRITE(6,64)
WRITE(6,61)
WRITE(6,65)
70 CONTINUE
IF(KKK)71,71,100
71 N=N+6
KK=KK+6
MM=KK
IF(KK-JJ)59,59,72
72 KK=JJ
KKK=10
GO TO 59
100 N=0
WRITE(6,201)IVES,ITRIP
201 FORMAT(1H1/////10X,'TABLE 2. ',5A4,' CRUISE NO.',I4//)
WRITE(6,202)
202 FORMAT(1H ,9X,109('.'))
WRITE(6,203)
203 FORMAT(1H ,9X,'SET COD MENTELLA MARINUS
1 AM PLAICE YELLOWTAIL GREYSOLE TURBOT')
WRITE(6,204)
204 FORMAT(1H ,10X,'NO NO WT NO WT NO
WT
1 NO WT NO WT NO WT NO WT')
WRITE(6,202)
DO 250 I=1,JJ
MSET=MIN-1+I
WRITE(6,205)MSET
205 FORMAT(1H ,9X,I3)
DO 249 J=1,7
IF(NCOM(I,J))206,206,207
206 IF(ACOM(I,J))249,249,207
207 GO TO(211,212,213,214,215,216,217),J
211 WRITE(6,221)NCOM(I,J),ACOM(I,J)
221 FORMAT(1H+,13X,I6,F9.2)
GO TO 249
212 WRITE(6,222)NCOM(I,J),ACOM(I,J)
222 FORMAT(1H+,28X,I6,F9.2)
GO TO 249
213 WRITE(6,223)NCOM(I,J),ACOM(I,J)
223 FORMAT(1H+,43X,I6,F9.2)
GO TO 249
214 WRITE(6,224)NCOM(I,J),ACOM(I,J)
224 FORMAT(1H+,58X,I6,F8.2)
GO TO 249
215 WRITE(6,225)NCOM(I,J),ACOM(I,J)
225 FORMAT(1H+,72X,I6,F9.2)
GO TO 249
216 WRITE(6,226)NCOM(I,J),ACOM(I,J)
226 FORMAT(1H+,87X,I6,F9.2)
GO TO 249
217 WRITE(6,227)NCOM(I,J),ACOM(I,J)
227 FORMAT(1H+,102X,I6,F9.2)
249 CONTINUE
IF(I.EQ.44.OR.I.EQ.88) GO TO 251
IF(I.EQ.132.OR.I.EQ.176) GO TO 251
IF(I.EQ.220.OR.I.EQ.264) GO TO 251
IF(I.EQ.308.OR.I.EQ.352) GO TO 251
GO TO 250
251 WRITE(6,201)IVES,ITRIP
WRITE(6,202)
WRITE(6,203)
WRITE(6,204)
WRITE(6,202)
250 CONTINUE
STOP
END
Last edited by a moderator: