libgeodecomp icon indicating copy to clipboard operation
libgeodecomp copied to clipboard

BOVWriter does not correctly write Array data (and neither does ASCIIWriter)

Open klreuther opened this issue 6 years ago • 1 comments

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

BOVBug.zip

klreuther avatar Feb 08 '19 15:02 klreuther

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)

klreuther avatar Jun 07 '19 10:06 klreuther