abacusutils contains a Python namespace package called
This is the name to import (not
abacusutils, which is just the name of the PyPI package).
For example, to import the
compaso_halo_catalog module, use
The CompaSO Halo Catalogs page has the documentation and API for this module.
The full API of the other modules is found here: abacusnbody API.
Specific examples of how to use abacusutils to work with AbacusSummit data will soon be given at the AbacusSummit website: https://abacussummit.readthedocs.io
For simple data access patterns, the Unix Pipes approach may suffice. However, if there is sufficient demand, a native C/C++ interface to Abacus simulation data could be written; please open an issue if you would like to have this functionality.
Aside from the Unix Pipes approach, the next best way to read ASDF and other files in C/C++ is probably to load the file in Python, then write a copy to disk in a simple binary format that your language can easily parse.
pipe_asdf Python script reads columns from ASDF files and pipes them to
stdout. Programs can then read the raw binary from
stdin without having
to worry about the details of file formats or compression. For example, to pipe
two columns from
halo_info_000.asdf to the
client analysis program, use:
$ pipe_asdf halo_info_000.asdf -f N -f x_com | ./client
pipe_asdf script is installed when installing abacusutils via pip.
Alternatively, it is available directly in the
An example client program is available in the same directory.
See the documentation here: Unix Pipes: pipe_asdf.