A simple C++ library for manipulating scientific data sets as structured data
Please always quote using this URN: urn:nbn:de:0297-zib-5674
- Representing scientific data sets efficiently on external storage usually involves converting them to a byte string representation using specialized reader/writer routines. The resulting storage files are frequently difficult to interpret without these specialized routines as they do not contain information about the logical structure of the data. Avoiding such problems usually involves heavy-weight data format libraries or data base systems. We present a simple C++ library that allows to create and access data files that store structured data. The structure of the data is described by a data type that can be built from elementary data types (integer and floating-point numbers, byte strings) and composite data types (arrays, structures, unions). An abstract data access class presents the data to the application. Different actual data file structures can be implemented under this layer. This method is particularly suited to applications that require complex data structures, e.g. molecular dynamics simulations. Extensions such as late type binding and object persistence are discussed.
Author: | Christoph Best |
---|---|
Document Type: | ZIB-Report |
Tag: | object persistence; scientific file formats; structured data |
CCS-Classification: | E. Data / E.5 FILES (D.4.3, F.2.2, H.2) |
PACS-Classification: | 00.00.00 GENERAL / 07.00.00 Instruments, apparatus, and components common to several branches of physics and astronomy (see also each subdiscipline for specialized instrumentation and techniques) / 07.05.-t Computers in experimental physics; Computers in education, see 01.50.H- and 01.50.Lc; Computational techniques, see 02.70.-c; Quantum computation architectures and implementations, see 03.67.Lx; Optical computers, see 42.79.Ta / 07.05.Kf Data analysis: algorithms and implementation; data management (for data analysis in nuclear physics, see 29.85.-c) |
Date of first Publication: | 1998/12/30 |
Series (Serial Number): | ZIB-Report (TR-98-06) |
ZIB-Reportnumber: | TR-98-06 |