openPMD / openPMD/openPMD-api

Streaming: Histogramming of Particle Data

Open
#1,248 0 comments 3 reactions 1 assignee Claimed by @franzpoeschel View on GitHub
help wanted tools
Dominant language
C++
Stars
161
Forks
59
Avg merge
2d 22h
Merged PRs (30d)
7

Description

@aeriforme would like to write a data pipeline that takes all particle data and bins it to a 1D or 2D user-defined histogram.
This would be a great application of our work in @franzpoeschel et al. https://arxiv.org/abs/2107.06108.

Idea: Let's take the script in https://github.com/openPMD/openPMD-api/blob/dev/src/cli/pipe.py as a template and instead of forwarding the data 1:1 to another file format, we call `np.histogram` (1D) or `np.histogram2d` (2D) to store into a histogram per process. Finally, we reduce the histograms (sum) via `mpi4py` and write them out into a 2D mesh (or simple `np.save` from rank 0).

@aeriforme works with CINECA clusters.

Ref.:
- https://github.com/ECP-WarpX/WarpX/issues/3033

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.