! pr 14942, list directed io program d implicit none integer i, j, m, n, nin, k real x(3,4) data x / 1,1,1,2,2,2,3,3,3,4,4,4 / real y(3,4) data y / 1,1,1,2,2,2,3,3,3,4,4,4 / logical debug ! set me true to see the output debug = .FALSE. nin = 1 n = 4 open(unit = nin) write(nin,*) n do I = 1,3 write(nin,*)(x(i,j), j=1, n) end do m = 3 n = 4 write(nin,*) m,n do I = 1,3 write(nin,*)(x(i,j), j=1, n) enddo close(nin) ! ok, the data file is written open(unit = nin) read(nin, fmt = *) n if (debug ) write(*,'(A,I2)') 'n = ', n do i = 1, 3 do K = 1,n x(i,k) = -1 enddo read(nin, fmt = *) (x(i,j), j=1, n) if (debug) write(*, *) (x(i,j), j=1, n) do K = 1,n if (x(i,k).ne.y(i,k)) call abort end do end do m = 0 n = 0 read(nin, fmt = *) m, n if (debug) write(*,'(A,I2,2X,A,I2)') 'm = ', m, 'n = ', n do i = 1, m do K = 1,n x(i,k) = -1 enddo read(nin, fmt = *) (x(i,j), j=1, n) if (debug) write(*, *) (x(i,j), j=1, n) do K = 1,n if (x(i,k).ne.y(i,k)) call abort end do end do close(nin, status='delete') end program d