table_io, a FORTRAN90 code which can read or write a TABLE file.
A TABLE file is a simple format for storing a double-indexed array of data. We regard this is a situation involving N points in M dimensions, with M relatively small (often just 2 or 3, but possibly 10 or 20) while N can be "enormous" (10, 100, 1,000 or 10,000).
To keep things simple, then, the data is written to an ASCII file, with optional comment lines (which must start with the '#' character) and blank lines (which are ignored). The point data is stored by writing the coordinates of each point on a separate line. No information about M or N is explicitly included in the file. It is up to the I/O program to determine this.
The code supplies routines by which a TABLE file can easily be written or read. A typical write operation for a double precision real table simply calls routine R8MAT_WRITE. A typical read operation will probably first want to call R8MAT_HEADER_READ to determine the values of M and N, and then allocate space for the table, and then call R8MAT_DATA_READ to read the data.
The code includes routines to read and write table datasets whose entries are integers (I4MAT) or double precision reals (R8MAT).
table_io is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version and
TABLE_COLUMNS, a FORTRAN90 code which can extract specific columns of data from a table file.
TABLE_QUALITY, a FORTRAN90 code which reads a file of points and computes the quality of dispersion.
TABLE_TOP, a FORTRAN90 code which reads a table file of M-dimensional data and makes a table of plots of all pairs of coordinates.