2016-07-02 3 views
1

Я пытаюсь использовать hdf5 для записи координат (x, y, z), которые являются результатом моделирования Molecular Dynamics. API достаточно четко описывает, как это сделать. Мой вопрос заключается в написании параметров моделирования. Мне нужно написать очень большое количество констант, скажем около 100, в файл hdf5. Я думаю, что для этого нужны атрибуты. Правильно ли это? Моя проблема в том, что API-интерфейс атрибута для этого несколько громоздкий. Я должен был бы создать очень большое количество скалярных атрибутов, указать их типы и размерность (что составляет 1 большую часть времени), а затем записать их. Мне нужно написать довольно много кода. Константы могут быть int, float, unsigned int, а иногда и некоторые пользовательские типы, которые я создал.Как написать много параметров в файл hdf5 разумно?

Есть ли лучший способ сделать это?

ответ

1

Да, атрибуты - это путь для записи этой информации.

API может показаться довольно сложным, так как атрибуты разделяют большую часть семантики как наборы данных. Вы можете использовать любой тип или форму в атрибуте, который вы можете указать с помощью набора данных. Об единственных свойствах атрибутов нет сжатия и chunking. (Также атрибуты не могут содержать атрибуты!)

Чтобы сделать кодирование менее громоздким, вы можете создать вспомогательную функцию. Если вы знаете (например), что все ваши атрибуты будут 4-байтовыми малоэтажными скалярами, ваша вспомогательная функция просто требует родительского идентификатора, имени и значения.

+0

Я был обеспокоен тем, что будет так :(Спасибо за помощь! – pmadhikar

Смежные вопросы