What does (TIT(I),I=1,80) mean?

C Read in Title card
READ (7,991) (TIT(I),I=1,80)

In modern Fortran, the first line is an error and should be a comment, insert ! as the first non-space character.

Then the second line look like a read from a file open on logical unit 7, and uses an implied do loop to obtain the first 80 values of an array tit. It would appear to have a format statement which you have not posted.

Are you converting or learning or both, good luck anyway.

1 Like

Yes. It is called an “implied do” in the literature because it is basically
shorthand in most ways for the DO loop

do i=1,80
   read (7,991) tit(i)
enddo

the main difference being that your format statement is used for
processing all the data at once as if you had entered

read(7,911),tit(1),tit(2),tit(3),...tit(80)

and is commonly used in I/O statements and for
assigning values to an array; as in

real :: arr(10)=[(real(i*i),i=1,10)]

depending on the compiler and the system you are using
it can produce more efficient I/O than calling the READ
multiple times; but not as commonly as it used to unless
you are surpressing I/O buffering.

So for more information look up “implied DO”.

Note that it can be used to read multiple values but when just reading a single array
you can often use

   read(7,977)tit

instead of the implied DO; the implied DO however can do things like

    read(7,9777)(tit(i),tat(i),i=1,80)
2 Likes