How gyselax/gysela-mini-app_io works
Gysela Mini Apps is a compact I/O and analysis application for GYSELA 5D particle-distribution data, also intended for coupling with GyselaX++. The principal workflow initializes a configured mesh and distribution, runs an MPI-based app, and writes data and timing results; Python tools then compute or verify fluid moments and inspect timings. Separate in-situ analytics and diagnostics provide Deisa/Dask-based analysis. The graph includes documented capabilities whose implementations are not fully sampled; those links are omitted or marked unverified where call ownership cannot be established from the excerpts.
Components 18
C++ I/O app
- MPI I/O app
src/checkpointing/gys_checkpointing.cpp - Checkpointing app
simulations/checkpointing
C++ domain core
- 5D mesh types
src/geometry.hpp - C++ fluid moments
src/fluid_moments/fluid_moments.cpp - Moments interface
src/fluid_moments/fluid_moments.hpp
Python analysis
- Moment analytics
processing/analytics.py - Moment calculations
processing/fluid_moments.py - In-situ diagnostics
processing/diagnostics.py - Physical measurements
processing/measure.py
Python utilities
- Timing reader
processing/utils/read_timing_stats.py - Moment verifier
processing/utils/verify_fluid_moments.py - Python CLI
processing/utils/cli.py
Other components
- Research user
- PDI I/O
- MPI runtime
- Deisa/Dask
- HDF5 files
- Diagnostics CSV
Connections 19
- Research user → MPI I/O app: runs
README.md - MPI I/O app → 5D mesh types: uses mesh types
src/checkpointing/gys_checkpointing.cpp - MPI I/O app → Moments interface: uses moments
src/checkpointing/gys_checkpointing.cpp - C++ fluid moments → Moments interface: implements
src/fluid_moments/fluid_moments.cpp - MPI I/O app → MPI runtime: uses
src/checkpointing/gys_checkpointing.cpp - MPI I/O app → PDI I/O: writes events
src/checkpointing/gys_checkpointing.cpp - MPI I/O app → HDF5 files: writes output
- MPI I/O app → Checkpointing app: supports
- Moment analytics → Moment calculations: computes moments
processing/analytics.py - Moment analytics → HDF5 files: writes moments
processing/analytics.py - Moment analytics → Deisa/Dask: registers callback
processing/analytics.py - In-situ diagnostics → Deisa/Dask: registers callback
processing/diagnostics.py - In-situ diagnostics → Physical measurements: measures data
processing/diagnostics.py - Physical measurements → Diagnostics CSV: appends metrics
processing/measure.py - Python CLI → Timing reader: dispatches
processing/utils/cli.py - Python CLI → Moment verifier: dispatches
processing/utils/cli.py - Moment verifier → Moment calculations: calculates moments
processing/utils/verify_fluid_moments.py - Moment verifier → HDF5 files: reads reference
processing/utils/verify_fluid_moments.py - Timing reader → HDF5 files: reads timings
processing/utils/read_timing_stats.py