Overview of bamboost simulation data framework
bamboost is a Python framework designed for managing scientific simulation data. It organizes data into collections, which contain individual simulations. Each simulation is stored as a directory containing a central data.h5 HDF5 file for parameters and results, allowing for additional files (e.g., CSVs, images, or 3rd party software output) to be stored alongside the data.
Key principles include:
- Independence: Datasets are self-contained and understandable without external dependencies.
- Path Redundancy: Data is referenced via unique identifiers (UIDs) rather than absolute paths, ensuring that moving files or renaming directories does not break data references.
- Indexing: While the primary storage is the filesystem, bamboost uses a SQLite database as a cache to allow fast querying of simulations and parameters. This cache can be automatically rebuilt if deleted or corrupted.