subroutine get_column_data(long_string, column) use precision_def implicit none real(rp), allocatable :: column(:) character(*) long_string character*600 string integer i, ix integer error if(.not. allocated(column))then string = long_string i=0 ix=0 do while (.true.) call string_trim(string(ix+1:), string, ix) if(ix == 0)exit i=i+1 end do ! print '(a,i10)',' number of columns=',i allocate(column(1:i)) endif i=0 ix=0 do while (.true.) call string_trim(long_string(ix+1:), long_string, ix) if(ix == 0)exit i=i+1 read(long_string(1:ix),*, iostat=error)column(i) ! print '(2i10,3x,a,3x,es12.4)',i,ix, long_string(1:ix), column(i) if(error /= 0 .and. error /= 59 .and. error /= 5010)print *,'read column data read error =',error end do return end subroutine get_column_data