Introduction

FlexIO is a compact API for storing multidimensional scientific data. It hides the differences between underlying file formats including HDF-SDS, IEEEIO, and network socket connections. (Support for HDF5 will be added soon). It is designed to allow you to use exactly the same subroutine/method calls to store your data regardless of the underlying file format. FlexIO includes C++, C, and Fortran77/F90 interfaces and it has been ported to Sun-Solaris, Digital Unix, Cray-Unicos, SGI-Irix (32 and 64 bit), Windows95 and NT.

FlexIO borrows its terminology and storage-style from HDF and NetCDF. The file stores a sequence of multidimesional arrays which are referred to generically as datasets. The dimensions and datatype are stored with each dataset so that the data is completely self-describing. In addition, NetCDF-style named attributes can be stored with each dataset to add information like coordinates, units, and other auxillary information.

A set of higher level API's sit on top of FlexIO which permit simplified access to complex datastructures like Finite-Element, Adaptive Mesh Refinement, and Unigrid datastructures. In addition the MPIO interface provides access to parallel IO for MPI codes.


Information

Supported Datafile Formats
IEEEIO binary file format
HDF 4.x SDS file format
Network Socket remote file
FlexIO API's
C, C++, and Fortran programming interface
Higher level interfaces for complex datastructures
FlexIO based Software Tools
Utilities and Data Translators
Readers for Visualization Systems
Getting the Source Code and Compiling
Download the source code
Download precompiled libraries
Compiling FlexIO-IEEEIO

John Shalf
Last modified: Fri May 29 12:31:38 CDT 1998