Describe Data to get Science-Data-Ready Tooling: Awkward as a Target for Kaitai Struct YAML

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Goyal, Manasvi, Zonca, Andrea, Roberts, Amy, Pivarski, Jim, Osborne, Ianna
Format: Preprint
Publié: 2024
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866911962209714176
author Goyal, Manasvi
Zonca, Andrea
Roberts, Amy
Pivarski, Jim
Osborne, Ianna
author_facet Goyal, Manasvi
Zonca, Andrea
Roberts, Amy
Pivarski, Jim
Osborne, Ianna
contents In some fields, scientific data formats differ across experiments due to specialized hardware and data acquisition systems. Researchers need to develop, document, and maintain experiment-specific analysis software to interact with these data formats. These software are often tightly coupled with a particular data format. This proliferation of custom data formats has been a prominent challenge for small to mid-scale experiments. The widespread adoption of ROOT has largely mitigated this problem for the Large Hadron Collider experiments. However, many smaller experiments continue to use custom data formats to meet specific research needs. Therefore, simplifying the process of accessing a unique data format for analysis holds immense value for scientific communities within HEP. We have added Awkward Arrays as a target language for Kaitai Struct for this purpose. Researchers can describe their custom data format in the Kaitai Struct YAML (KSY) language. The Kaitai Struct Compiler generates C++ code to fill the LayoutBuilder buffers using the KSY format. In a few steps, the Kaitai Struct Awkward Runtime API can convert the generated C++ code into a compiled Python module. Finally, the raw data can be passed to the module to produce Awkward Arrays. This paper introduces the Awkward Target for the Kaitai Struct Compiler and the Kaitai Struct Awkward Runtime API. It also demonstrates the conversion of a given KSY for a specific custom file format to Awkward Arrays.
format Preprint
id arxiv_https___arxiv_org_abs_2407_14461
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Describe Data to get Science-Data-Ready Tooling: Awkward as a Target for Kaitai Struct YAML
Goyal, Manasvi
Zonca, Andrea
Roberts, Amy
Pivarski, Jim
Osborne, Ianna
Programming Languages
In some fields, scientific data formats differ across experiments due to specialized hardware and data acquisition systems. Researchers need to develop, document, and maintain experiment-specific analysis software to interact with these data formats. These software are often tightly coupled with a particular data format. This proliferation of custom data formats has been a prominent challenge for small to mid-scale experiments. The widespread adoption of ROOT has largely mitigated this problem for the Large Hadron Collider experiments. However, many smaller experiments continue to use custom data formats to meet specific research needs. Therefore, simplifying the process of accessing a unique data format for analysis holds immense value for scientific communities within HEP. We have added Awkward Arrays as a target language for Kaitai Struct for this purpose. Researchers can describe their custom data format in the Kaitai Struct YAML (KSY) language. The Kaitai Struct Compiler generates C++ code to fill the LayoutBuilder buffers using the KSY format. In a few steps, the Kaitai Struct Awkward Runtime API can convert the generated C++ code into a compiled Python module. Finally, the raw data can be passed to the module to produce Awkward Arrays. This paper introduces the Awkward Target for the Kaitai Struct Compiler and the Kaitai Struct Awkward Runtime API. It also demonstrates the conversion of a given KSY for a specific custom file format to Awkward Arrays.
title Describe Data to get Science-Data-Ready Tooling: Awkward as a Target for Kaitai Struct YAML
topic Programming Languages
url https://arxiv.org/abs/2407.14461