Programmable filter failing to write row output to spreadsheet in parallel
Here is a writeup from a user. Berk is working this one.
I’m going to do a full writeup here for Alan to write up the bug report. I’m doing this in two side-by-side instances of ParaView 5.12.0. (Linux client both sides.) One instance, which I will refer to as Remote, is connected to 2 nodes on the HPC (specifically Ghost) (Note Alan, this will be 56*2, or 112 ranks.). The other instance, which I will refer to as Local, is just running directly on the remote machine I’m using.
- For both Local and Remote, I open up the simulation at the location /snip/(dave karelitz's small dataset) cth-small/spcta_a in the Open File dialog box
- Turn on all Cell Arrays and hit accept.
- Add a Programmable Filter to the pipeline, change output type to vtkTable, paste in the below code block, and hit accept
a = vtk.vtkDoubleArray()
a.SetNumberOfTuples(1)
a.SetValue(0, mean(inputs[0].CellData['Pressure (dynes/cm^2^)']))
a.SetName('max')
output.RowData.AddArray(a)
- For both, the Spreadsheet view opens up:
- For Local, the Spreadsheet opens up to Row Data and displays the single value, with the name “max”. There is just one row, and only one other column (Row ID).
- For Remote, the Spreadsheet opens up to Field Data, displaying all the Field Data stuff. When I manually switch to Row Data, it shows nothing in the Spreedsheet View.
Bonus Points: Error Messages – For each instance, I add the following line to the Programmable filter in the second-to-last position (right above output.RowData.AddArray(a)) ->
raise ValueError(a.GetValue(0))
- For Local, the Output Messages dialog window opens up and displays the expected Value Error with the calculated max value. The SpreadSheet view goes blank as expected due to a Value Error.
- For Remote, nothing changes. No dialog window pops up. Note: I recall that in 5.11., the dialog window would open up and display the value, so this is new behavior.
- I don’t actually know how else to check the output logs using the ParaView GUI, but if you let me know I’ll check them. Note that the Value Error does write to the terminal running the Local instance, but does not for the Remote instance.
To reiterate a previous point, I used a similar workflow with pvbatch with 2 nodes (on Ghost, which was running 5.12.0), and it seems to have worked, as it exported the values over time. I double checked by trying to Export Data on the Remote Instance, even though the Row Data showed as empty, but it just wrote a .csv with TimeStep and Time column titles but no data.