-
Notifications
You must be signed in to change notification settings - Fork 127
Add HDF5 + XDMF output module #1101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Add HDF5 + XDMF output module #1101
Conversation
- Added a new module `m_hdf5_xdmf_output` to provide native HDF5 and XDMF output support for MFC, enhancing compatibility with ParaView visualization software - Implemented functions for initializing HDF5, writing grid and variable data, and generating XDMF metadata
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Please add documentation. Aside from the usual documentation we do, it would be useful to have a "guide" on how and when to use different I/O options. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1101 +/- ##
==========================================
- Coverage 43.98% 43.58% -0.40%
==========================================
Files 71 72 +1
Lines 20284 20476 +192
Branches 1982 2000 +18
==========================================
+ Hits 8922 8925 +3
- Misses 10225 10412 +187
- Partials 1137 1139 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Enhance the native HDF5+XDMF output format (format=3) with several improvements for feature parity with Silo-HDF5: - Single precision support: Variable data now respects the precision parameter (precision=1 for 32-bit, precision=2 for 64-bit). Grid coordinates remain double precision for accuracy. - Time series XDMF: Write a master time_series.xdmf file that references all timestep files using xi:include, enabling ParaView to load the entire simulation as an animated dataset. - HDF5 metadata attributes: Store spatial_extent (bounding box) as a file-level attribute and data_range (min/max) on each variable dataset for future visualization optimization. - Fix test.py directory traversal: Correctly search hdf5_xdmf/p*/ for HDF5 files and hdf5_xdmf/root/ for XDMF files. - Add 6 HDF5+XDMF test cases based on existing examples (1D/2D/3D). - Update documentation for visualization, testing, and case files.
Description
This PR adds native HDF5+XDMF output support to MFC's post-processor as a portable alternative to Silo-HDF5 format. The new format (
format=3) produces standard HDF5 data files with XDMF metadata that works reliably with ParaView 5.12+ and other XDMF-compatible visualization tools without requiring Silo library installation.Key Features
precisionparameter (1=32-bit, 2=64-bit); grid coordinates always use double precision for accuracytime_series.xdmffile references all timesteps for animated visualization in ParaViewspatial_extent(bounding box) anddata_range(min/max) for future visualization optimizationType of change
Scope
How Has This Been Tested?
BAC4B871,682BAB49,9A210C81,303ECD53,2087DEB9,B30CF683)h5dumpTest Configuration:
Checklist
format=3).mfc.sh formatbefore committing my codeIf your code changes any code source files (anything in simulation)
N/A - This PR only modifies post_process which runs on CPU only.