[UP]


Manual Reference Pages  - read_table (3)

NAME

read_table(3f) - [M_io] read file containing a table of numeric values (LICENSE:PD)

CONTENTS

Synopsis
Description
Options
Examples
Author
License

SYNOPSIS

subroutine read_table(filename,array,ierr)

   character(len=*),intent(in)              :: filename
   integer,allocatable,intent(out)          :: array(:,:)
      or
   real,allocatable,intent(out)             :: array(:,:)
      or
   doubleprecision,allocatable,intent(out)  :: array(:,:)
   integer,intent(out)                      :: ierr

DESCRIPTION

Read a table from a file that is assumed to be columns of space-delimited numbers, with each row containing the same number of values

OPTIONS

filename
  filename to read
array array to create. May be INTEGER, REAL, or DOUBLEPRECISION
ierr zero if no error occurred.

EXAMPLES

Sample program, assuming the input file "inputfile" exists:

    program demo_read_table
    use M_io, only : read_table
    implicit none
    doubleprecision,allocatable :: array(:,:)
    integer :: i, ierr

! create test file open(file=’inputfile’,unit=10) write(10,’(a)’) ’1 10 45’ write(10,’(a)’) ’10 10 45’ write(10,’(a)’) ’ 2 20 15’ write(10,’(a)’) ’ 20.345 20 15’ write(10,’(a)’) ’ 3 30.111 0’ write(10,’(a)’) ’30 30e3 0’ write(10,’(a)’) ’ 4 300.444e-1 -10’ write(10,’(a)’) ’40 30.5555d0 -10’ write(10,’(a)’) ’ 4 300.444E-1 -10’ write(10,’(a)’) ’40 30.5555D0 -10’ close(unit=10)

! read file as a table call read_table(’inputfile’,array,ierr)

! print values write(*,*)’size= ’,size(array) write(*,*)’size(dim=1)=’,size(array,dim=1) write(*,*)’size=(dim=2)’,size(array,dim=2) do i=1,size(array,dim=1) write(*,*)array(i,:) enddo

! remove sample file open(file=’inputfile’,unit=10) close(unit=10,status=’delete’)

end program demo_read_table

Results:

    size=          30
    size(dim=1)=   10
    size(dim=2)=    3
      1.0000000000000000        10.000000000000000        45.000000000000000
      10.000000000000000        10.000000000000000        45.000000000000000
      2.0000000000000000        20.000000000000000        15.000000000000000
      20.344999999999999        20.000000000000000        15.000000000000000
      3.0000000000000000        30.111000000000001        0.0000000000000000
      30.000000000000000        30000.000000000000        0.0000000000000000
      4.0000000000000000        30.044400000000000       -10.000000000000000
      40.000000000000000        30.555499999999999       -10.000000000000000
      4.0000000000000000        30.044400000000000       -10.000000000000000
      40.000000000000000        30.555499999999999       -10.000000000000000

AUTHOR

John S. Urban

LICENSE

Public Domain


read_table (3) March 11, 2021
Generated by manServer 1.08 from efc4a2e8-7cbe-4b93-939b-360ac8721e42 using man macros.