This API documentation was generated by FORD (the Fortran documentation generator).
The purpose of this project is to provide a portable, standard I/O library for Modern Fortran programs supporting the Fortran 2018 standard, with the goal of enabling essential I/O functionality for Fortran programmers on any system and with any modern compiler.
The IO Fortran Library is a Fortran module io_fortran_lib which
provides high level routines for doing internal and external I/O. In
particular, the module provides a handful of generic interfaces and a
simple derived type for doing string-based and array-based I/O that are
useful for recording program data, reading data into programs, writing
formatted logs and output, and for doing advanced string manipulations.
For instance, one may read and write data from/to .csv
and .dat
files, represent numbers as strings inside of a string expression,
efficiently write text to a .log
file, and dynamically manipulate
strings with a String
type (including casting between numeric and
string data).
Note
The module is fully self-contained, with no external
dependencies, and is written to be portable and compliant to the
Fortran 2018 standard such that no special extensions or compiler
options should be required. The public interfaces accept all intrinsic
numeric types (integer
, real
, and complex
) and all standard kinds
provided by the intrinsic iso_fortran_env
module (int8
, int16
,
int32
, int64
, real32
, real64
, and real128
). All array-based
routines additionally support up to rank 15.
To use io_fortran_lib
with your
fpm project, add the following
lines to your fpm.toml
file and use
the module in your program
units to access the routines:
[dependencies]
IO-Fortran-Library = { git="https://github.com/acbbullock/IO-Fortran-Library", branch="main" }
See the important user information and reference guide for information about calling the routines, and further see the tutorials for complete example programs.
All source code referenced is distributed under the MIT license and available at Github.
For bug fixes or feature requests, feel free to open an issue at the project repository or contact acb.bullock@gmail.com.