libgeodecomp
libgeodecomp copied to clipboard
BOVWriter does not correctly write Array data (and neither does ASCIIWriter)
If BOVWriter gets an array member (or member-member, via selector or directly), then the written data is garbage. This can be seen in the appended Visit plots: The volume plot of the first component (stored and BOV-exported separately) is correct, the vector plot is not.
This can also be seen in the raw data contained in normal.0000.data. This file contains only 22 non-zero bytes.
Possibly related: The ASCII-Writer also writes garbage when processing array data.
Attached files (as single zip file. GitHub does not support uploading of source code as attachment….)
- minimal code example to reproduce
- makefile (change library paths as needed)
- sample BOV and ascii output of step 0
- Visit plot of first component and vector plot of all three components
I successfully fixed BOVWriter.
Diff: 168c168
< MPI_File_write(file, &buffer[0], length, datatype, MPI_STATUS_IGNORE);
---
> MPI_File_write(file, &buffer[0], length*selector.arity(), datatype, MPI_STATUS_IGNORE);
(I did not care to look at ASCIIWriter to date)