Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace Binary with HDF5 output #24

Open
pikarpov-LANL opened this issue Dec 16, 2022 · 0 comments
Open

Replace Binary with HDF5 output #24

pikarpov-LANL opened this issue Dec 16, 2022 · 0 comments

Comments

@pikarpov-LANL
Copy link
Owner

Problem

Currently, COLLAPSO1D output the checkpoints in unformatted binary, which then need to be converted to human-readable text files with readout.f90.

  1. This works only if both the code output and readout have the exact same structure as how the checkpoint files are structured. If a user adds or removes observables, they also need to edit the readout.f90. As a result, there is a lot of potential for older binary checkpoints to become unusable and impossible to read and process. No internal organization or metadata.
  2. Impossible to manipulate the binary, e.g., cannot be appended to - every restart is a separate file
  3. The binary and readable redundancy is completely unnecessary, clogging up disk space.
  4. Cannot run in parallel, which can be useful during debugging with frequent dumps.
  5. ifort is having a lot of trouble processing unformatted binary files.

Solution

Convert readini and printout subroutines to write and load checkpoints with HDF5. It addresses all of the issues pointed out above, and the format is widely accepted in the CFD community. In addition, COLLAPSO1D already requires HDF5 installation to read the EOS Tables, e.g., SFHo, so there won't be new package dependencies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant