\documentclass{article} % Use the Cactus ThornGuide style file % (Automatically used from Cactus distribution, if you have a % thorn without the Cactus Flesh download this from the Cactus % homepage at www.cactuscode.org) \usepackage{../../../../doc/ThornGuide/cactus} \begin{document} \title{FlexIO} \author{John Shalf} \date{$ $Date$ $} \maketitle % Do not delete next line % START CACTUS THORNGUIDE \section{Purpose} Thorn FlexIO provides a library for writing multidimensional data from Cactus using the IEEEIO data format. The advantage of using this library is that it is distributed with Cactus and needs no additional libraries to be installed on a machine. Writing in the FlexIO-IEEEIO format is currently implemented in thorn CactusPUGHIO/IOFlexIO. \section{FlexIO} 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. \section{More Information} For more information the reader is directed to the web pages for FlexIO at \begin{itemize} \item \verb|http://infinite-entropy.lbl.gov/FlexIO/| \item \verb|http://zeus.ncsa.uiuc.edu/~jshalf/FlexIO/| \item in the thorn's directory \verb|CactusExternal/FlexIO/doc/html/| \end{itemize} Information can be found on these web pages about \begin{itemize} \item{} Programming interfaces, including C, C++ and Fortran \item{} Utilities, for finding information about IEEEIO data files \item{} Data converters, between IEEEIO and HDF \end{itemize} % Do not delete next line % END CACTUS THORNGUIDE \end{document}