Запись данных моделирования C ++ в файл HDF5 на лету

Я думаю, что я обеспокоен относительно простой проблемой.

В настоящее время я провожу симуляцию, где отслеживаю время, положение и ориентацию одной частицы для заданного количества шагов симуляции.

Задача: просто записать эти данные в h5-файл на лету.

До сих пор я делал это с помощью Jupyter. С помощью пакета h5py очень просто создать набор данных с предопределенной структурой (столбцы х строк) с помощью

outfile = h5py.File («outfile.h5», «w»)

dset = outfile.create_dataset («имя_установки», (number_of_lines, number_of_columns))

а затем записать данные построчно для каждого шага моделирования в набор данных с

dset [time_step] = np.array ([t, x, phi])

Теперь я перешел на C ++, реализовал там симуляцию и хотел бы хранить данные так же, как я делал это с Python.

Тем не менее, из основных примеров, таких как этот, во время прогона симуляции нужно будет сохранить весь набор данных в массиве, а затем записать их содержимое в файл h5.

Это не очень элегантно. Как и в случае с Python, я хотел бы просто записывать данные построчно в набор данных HDF5 на лету, а не хранить большие массивы данных (иногда до нескольких ГБ) в массиве.

К сожалению, до сих пор я не нашел способа, как реализовать процедуру, которую я использовал с Python, в C ++.

Кто-нибудь когда-либо сталкивался с подобной проблемой и мог бы показать мне, как решить это?

Спасибо!

Лучший,
Sven

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]