[Users] Announcing a new Python package for post-processing simulation data: kuibit
Gabriele Bozzola
bozzola.gabriele at gmail.com
Tue Jan 12 11:57:13 CST 2021
Hello,
I developed a new package to analyze Einstein Toolkit simulations, kuibit
[0,1].
kuibit is a Python3.6+ code that I built from scratch following the same
design
(and in various instances, implementation details too) of Wolfgang
Kastaun's
PostCactus.
kuibit provides high-level data types to easily work with grid functions,
time
and frequency series, gravitational waves, and so on. It also has readers
to
effortlessly access simulation data with full support for HDF5 and ASCII
output
(1D, 2D, 3D grid data, scalar data, reductions, horizon data, ...). You can
find
a reasonably comprehensive list of features in the documentation [2] or a
high-level summary in the frontpage of the docs [3].
One of the main reasons I wrote this code is for other people to use it.
Our group (University of Arizona) is a young one and we don't have any
sophisticated
toolchain to analyze simulation data. Without suitable tools,
post-processing
simulations can be a daunting task for those that are new to the Einstein
Toolkit.
Given that I want other people to use kuibit, I made the effort to make the
code user
and developer-friendly. For users, there is documentation [4] with examples
and
small tutorials. Also, the package is on PyPI so it can be easily installed
and updated.
For developers, the entire codebase has unit tests and continuous
integration [5],
there are extensive comments, and the style of the code is rather verbose
to help developers understand what is going on. The continuous integration
also
lints the code, performs static analysis, and generates the documentation,
reducing the maintenance costs.
kuibit takes care of all the low-level details need to deal with simulation
data, so
it greatly lowers the entry barrier in using the Einstein Toolkit. I
believe that this,
along with the care I put in making the code accessible to other
developers,
makes kuibit a good candidate for inclusion in the Einstein Toolkit.
The main problem with kuibit is that it is a new code: regardless of all the
tests I wrote, there will be bugs, unergonomic interfaces, and performance
issues.
kuibit needs to be tested with several real-world projects and
cross-checked with
other codes.
I am happy to give a short introduction to kuibit during a weekly call if
there's
interest. In the meantime, the code is available here:
https://github.com/Sbozzolo/kuibit
Best regards,
Gabriele Bozzola
[0] https://github.com/Sbozzolo/kuibit
[1] https://github.com/Sbozzolo/kuibit#what-is-a-kuibit
[2] https://sbozzolo.github.io/kuibit/features.html
[3] https://sbozzolo.github.io/kuibit/#summary-of-features
[4] https://sbozzolo.github.io/kuibit/
[5] https://github.com/Sbozzolo/kuibit/actions
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.einsteintoolkit.org/pipermail/users/attachments/20210112/e75e7b05/attachment.html
More information about the Users
mailing list