ParaView issueshttps://gitlab.kitware.com/paraview/paraview/-/issues2024-03-07T20:23:48-05:00https://gitlab.kitware.com/paraview/paraview/-/issues/21151Memory display color2024-03-07T20:23:48-05:00W. Alan ScottMemory display colorI think I would recommend changing the memory display bar background color and thresholds. This is the new memory display below the renderview.
With regards to the background, it is currently quite bright and distracting. Please cha...I think I would recommend changing the memory display bar background color and thresholds. This is the new memory display below the renderview.
With regards to the background, it is currently quite bright and distracting. Please change the background color to match the background of the progress bar - i.e., a gray rather than a white. The green is OK, leave as is.
After a bit of experimenting, what I believed was happening is happening with memory. ParaView is grabbing memory for calculations and output arrays, doing calculations, then releasing calculation memory. Thus, what the memory inspector is showing is correct after processing, but a huge undercount when any processing and/or rendering is occurring.
The way I tested was on RedHat Linux. Run ParaView. Sources/ Fast Uniform Grid. Only create the Distance Squared scalars. In a terminal, start running "free -h". Either have it run every second, or keep up-arrowing. What we care about is the last entry, "available". You may want to open the memory inspector, but this isn't necessary as we can see the memory footprint on the new memory display bar. Start increasing the size of the fast uniform grid. With 64 GBytes of memory, mine was OK at about -1000 to 1000, -1000 to 1000, -400 to 400. Memory showed about 65% full. Changing the Z to -400 to 450 crashed, but as I was only increasing about 8%, it shouldn't have. Note that free gave me a low of about 9 GBytes of free memory, but a final of about 20GBytes.
Please change the thresholds for the memory display bar to go yellow at 50% memory used, and red at 60% memory used.
@mwestphal5.13 (Summer 2024)https://gitlab.kitware.com/paraview/paraview/-/issues/21141Color legend label format and range label format are not similar2024-03-07T20:23:48-05:00W. Alan ScottColor legend label format and range label format are not similarThe color legend label formats and range label formats are not the same, but should be. The range has an extra number in the exponent. They need to be the same. Here is how to replicate:
* 5.10.0-RC2, MacOS
* Wavelet. Apply. Surfac...The color legend label formats and range label formats are not the same, but should be. The range has an extra number in the exponent. They need to be the same. Here is how to replicate:
* 5.10.0-RC2, MacOS
* Wavelet. Apply. Surface. Color by RTData.
* Color map editor. Color legend editor.
* Advanced.
* Turn off automatic label format.
* Change Label Format to: %-#6.3e
* Change Range Label Format to: %-#6.3e
The exponents have a different number of digits. This is a bug.
![Screen_Shot_2021-12-21_at_10.57.03_AM](/uploads/abdb57fded5873eceffc2474ad16e878/Screen_Shot_2021-12-21_at_10.57.03_AM.png)5.13 (Summer 2024)https://gitlab.kitware.com/paraview/paraview/-/issues/21140Add option in color legend to have same labels and ranges2024-03-07T20:23:48-05:00W. Alan ScottAdd option in color legend to have same labels and rangesPlease add the option to have the color legend ranges and labels use the same format. This format should probably be %-#6.3e. I know this can be manually set, but it would be nice to allow users to just click a checkbox. Make it on th...Please add the option to have the color legend ranges and labels use the same format. This format should probably be %-#6.3e. I know this can be manually set, but it would be nice to allow users to just click a checkbox. Make it on the standard dialog (not only advanced), just under Horizontal Title. Maybe call it "Consistent labels and ranges".
So, what I want is an automagic way to do the following:
* Wavelet. Apply. Surface. Color by RTData.
* Edit Color Map. Edit Color Legend.
* Advanced.
* Turn off automatic label format.
* Label Format: %-#6.3e
* Range Label Format: %-#6.3e
* OK.5.13 (Summer 2024)https://gitlab.kitware.com/paraview/paraview/-/issues/21133Custom shortcuts are not loaded2024-03-15T11:20:48-04:00Nicolas VuailleCustom shortcuts are not loadedOn ParaView master, custom shortcut set up via `Tools / Customize Shortcuts` are correctly saved in `ParaView.conf` but they are not loaded on ParaView startup.
Steps:
- `Tools / Customize Shortcuts`
- `Load State`, press `Ctrl+Shift+...On ParaView master, custom shortcut set up via `Tools / Customize Shortcuts` are correctly saved in `ParaView.conf` but they are not loaded on ParaView startup.
Steps:
- `Tools / Customize Shortcuts`
- `Load State`, press `Ctrl+Shift+O` OK
- `File` menu correctly displays `Ctrl+Shift+O` and using the shortcut works as expected
- Close ParaView. `ParaView.conf` is correctly written.
- Launch ParaView.
-> Shortcut is not set anymore.
ParaView.conf content:
```
[pqCustomShortcuts]
File\Load_State...=Ctrl+Shift+O
```5.13 (Summer 2024)https://gitlab.kitware.com/paraview/paraview/-/issues/21130Axis scale factor2024-03-07T20:23:47-05:00W. Alan ScottAxis scale factorAs written up on Discourse, we need to add the ability to independently scale axes. Users will generally scale the Z axis, but lets make it more generic. This is different than the transform filter scale, where the data in some axis is...As written up on Discourse, we need to add the ability to independently scale axes. Users will generally scale the Z axis, but lets make it more generic. This is different than the transform filter scale, where the data in some axis is changed. An example of this feature would be an oil field that has X and Y of 20 miles and Z of .5 miles. Visualizing this would make it look like a 2d slice, where you want to see a 3d cube. Transform filter doesn't work, as a cube axis would then lie about the depth of the oil field. Please add this control to the Properties tab, somewhere around Cube Axis. Make this feature sticky (as users will probably be using it over and over on similar data). Optionally print "Z Axis: 10X" for the example of the Z axis being expanded 10X, lower right below the Orientation Axis, default on.
https://discourse.paraview.org/t/axis-scale-factor-or-vertical-exaggeration-of-z-axis/48085.13 (Summer 2024)Aron HelserAron Helserhttps://gitlab.kitware.com/paraview/paraview/-/issues/21120Add Discontinuous Galerkin Finite Element Mesh Support to VTK/ParaView2024-03-07T20:23:47-05:00Corey Wetterer-Nelson (Kitware)Add Discontinuous Galerkin Finite Element Mesh Support to VTK/ParaViewAs part of an ongoing collaboration between Sandia National Lab and Kitware, it is desired to upgrade VTK and ParaView to fully support Discontinuous Galerkin parametrizations read in by the Ioss reader.
## Project Requirements
### Pha...As part of an ongoing collaboration between Sandia National Lab and Kitware, it is desired to upgrade VTK and ParaView to fully support Discontinuous Galerkin parametrizations read in by the Ioss reader.
## Project Requirements
### Phase I
- [x] Upgrade Ioss reader to support prototype DG Exodus mesh
- [x] The info records syntax has changed. Adapt parsing methods to follow the latest pattern.
- [ ] Support for H^Grad elements
- [x] Linear bases (hex, quad, tri elements)
- [x] Quadratic bases (hex, quad, tri elements)
- [ ] Higher order bases (hex, quad, tri elements)
- [ ] Support for H^Div elements (interpolation onto Lagrange elements of proper order)
- [x] Linear bases (hex, quad, tri elements)
- [x] Quadratic bases (hex, quad, tri elements)
- [ ] Higher order bases (hex, quad, tri elements)
- [ ] Support for H^Curl elements (interpolation onto Lagrange elements of proper order)
- [x] Linear bases (hex, quad, tri elements)
- [x] Quadratic bases (hex, quad, tri elements)
- [ ] Higher order bases (hex, quad, tri elements)
### Phase II
- [ ] Upgrade rendering support for exotic element types (above simple interpolation to Lagrange elements)
- [ ] Upgrade rendering hidden face removal for disconnected DG elements
- [ ] Upgrade VTK data model to support mismatched field order and mesh order
## Background
### VTK's Datamodel Challenge
In a classical Galerkin finite element mesh, control variables defining solution fields on the mesh are often associated with physical features of the mesh. For instance, in a linear element, control variables will be associated with the vertices of the element. Thus, when multiple elements share a physical feature, they also share control variables associated with those physical features. This ensures continuity of solution fields across elements. It is this collection of assumptions that forms the foundation of VTK's data model. No matter what elements make up a mesh, each element is made up of vertices, and the connectivity of vertices for the mesh is identical to any connectivity of control variables defining solution fields on the mesh.
This model works well for many finite element applications. However, it falls apart in a number of areas. First, for a simple geometry, it is often advantageous to use a linear mesh to define the domain, but it may be advantageous or necessary to use higher order basis functions to define solution fields, leading to a mismatch in the connectivity of the mesh and solution fields. Second, some problems require different basis functions to be used for different fields. A popular example is the stable velocity-pressure pair where pressure is described by a field one polynomial degree lower than the velocity. Here, two fields will require separate connectivity arrays to organize control variables across elements which may both be different from that describing the physical mesh. Third, some basis functions have little to no relationship with geometry at all. Modal, or spectral elements have control variables that have no physical distribution at all, only describing weights on basis functions over an element. This problem is complicated further by basis functions which take the form of vector fields over an element which could be represented by different polynomial bases in each cardinal direction. The basis function rabbit hole is remarkably deep!
In VTK's current form, the only way to visualize fields constructed by exotic basis functions is to covert to something which satisfies all of The VTK requirements above. For instance, one can always interpolate onto Lagrange polynomial elements of an appropriate order and mosey along with visualization. This can be time consuming for a user to do this themselves, and may be exceedingly wasteful with memory and computational power depending on the size of the user's problem and their particular requirements.
In order to begin addressing this, the first step will be to disconnect the mesh connectivity array from fields in VTK. This could be done by allowing for an arbitrary collection of connectivity arrays, and then assigning one of them to the geometry and the rest to fields. The second key will be to expand how shaders utilize these connectivities and draw arbitrary order fields on mismatched order meshes. For more exotic fields such as those defined by vector-valued basis functions, new shaders must be introduced to properly render.
### Discontinuous Galerkin Meshes
Moving one step away from classical Galerkin methods, it can be desirable to break that cross-element continuity, which is where Discontinuous Galerkin comes in. Here, each element has its own collection of control variables, sharing none with neighboring elements. This immediately runs into the challenge in VTK where control variables do not align with physical components of the mesh (which in this case are typically shared across elements).
(Sandia: if you would like to expand this section for other readers, that would be great!)
### Current Exodus Implementation
Currently, in order to encode discontinuous Galerkin (DG) fields on a mesh, the Exodus file format employs a novel hack. In the Exodus file, a DG field is written as a multi-component cell-centered field where each component represents an element control variable. For instance, a field described by linear H^Grad DG elements over a quad mesh will encode each scalar field by a 4-component cell-centered vector field. A field described by a quadratic H^Grad DG element over a hex mesh will encode each scalar field by a 27-component cell-centered vector field. For vector fields, each component of the vector field is described as a scalar field for the purpose of writing. Metadata for each DG field is then encoded in the info-records section of the Exodus file.
### Current Ioss Reader Implementation
At the time of this writing, the Ioss reader has been upgraded to handle the initial prototype Exodus DG file format. This is done via a few modifications. First, the info-records section of the Exodus file is parsed into a data structure which stores information about what fields on which blocks are DG fields. Second, on DG blocks of elements, the mesh is expanded so that no element shares vertices with any other element. This is done so that the eventual DG fields share the same connectivity with the mesh elements. Second, if the DG fields are quadratic, the mesh is upgraded to a quadratic mesh from the linear mesh stored in the Exodus file. This is done so that on each element, the number of vertices match the number of control variables associated with that element. We do this by interpolating extra vertices on edges, faces and the volume center of each element. Next, the routine `GetFields` was modified to filter out DG fields, and a new `GetDGFields` routine was added to properly parse the DG fields.5.13 (Summer 2024)David ThompsonDavid Thompsonhttps://gitlab.kitware.com/paraview/paraview/-/issues/21119HDF5 reader is losing it's brains remote server2024-03-07T20:23:47-05:00W. Alan ScottHDF5 reader is losing it's brains remote serverThe HDF5 reader is losing it's brains when loading a single file containing particles when using multiple ranks remote server. Here is how to replicate:
* 5.9.1/ 5.10.0-RC1, Linux, remote server (I have 16 ranks, it will show on 2).
* L...The HDF5 reader is losing it's brains when loading a single file containing particles when using multiple ranks remote server. Here is how to replicate:
* 5.9.1/ 5.10.0-RC1, Linux, remote server (I have 16 ranks, it will show on 2).
* Load file fields.exo. Apply. Wireframe. The only reason we are loading this one is that the issue seems to follow cells in this file. You do not need this file loaded to see the issue.
* Load particles.h5part. Appply.
* Change the time to be 200.
* Paint by ProcessId, and also by Solid Color, White. Notice that the single file of points was spread around the 16 ranks. Notice where the points are. (You may want to take a screenshot, so you don't have to keep bouncing back and forth.)
* Move forward one timestep.
Most of the points have disappeared! Notice that what is left is all in ProcessId 0. Further, I believe they are the points that were in process zero earlier.
* Move forward one timestep.
More of the points have disappeared! This will quickly go on until no points are visible.
* On the particles.h5part reader in the Pipeline Browser, Reload Files.
Now, all of the points for this timestep are visible once again!
To see what should be happening, open particles.h5part with a builtin server, go to timetep 200, and start moving forward in time.
I will pass the dataset to Cory and Utkarsh.5.13 (Summer 2024)https://gitlab.kitware.com/paraview/paraview/-/issues/21113update getting started guide for IOSS reader2024-03-07T20:23:46-05:00W. Alan Scottupdate getting started guide for IOSS readerPlease update the getting started guide. Paragraph 3 is now out of date (i.e., where you select variables). Maybe an idea would be to just delete this section (as variables now default to on), and add a section on Rescale to Data Range?Please update the getting started guide. Paragraph 3 is now out of date (i.e., where you select variables). Maybe an idea would be to just delete this section (as variables now default to on), and add a section on Rescale to Data Range?5.13 (Summer 2024)Cory Quammencory.quammen@kitware.comCory Quammencory.quammen@kitware.comhttps://gitlab.kitware.com/paraview/paraview/-/issues/21107Python state file, Scalar array name not shown in the GUI2024-02-28T15:23:32-05:00Charles GueunetPython state file, Scalar array name not shown in the GUIWhen loading the [attached python file](/uploads/538b7aace974507061e902823e4ea8a9/contour.py), I obtain the following result:
![image](/uploads/a4cf364fd9e90dbb65d779571552642a/image.png)
This pipeline is simply a sphere, an elevation ...When loading the [attached python file](/uploads/538b7aace974507061e902823e4ea8a9/contour.py), I obtain the following result:
![image](/uploads/a4cf364fd9e90dbb65d779571552642a/image.png)
This pipeline is simply a sphere, an elevation and a Contour, the result shown by ParaView is the right one, but the Contour properties are missing the Scalar field name.
This problem is not specific to the Contour filter, using a Threshold for example would lead to the same issue with a missing Scalar field name.
Interesting thing, we can have the property rightfully loaded by first setting it to 'None' as shows on line 65 in the script.
This problem was initially found by @jones .
@mwestphal @utkarsh.ayachit5.13 (Summer 2024)Cory Quammencory.quammen@kitware.comCory Quammencory.quammen@kitware.comhttps://gitlab.kitware.com/paraview/paraview/-/issues/21104Have Programmable Filter access global data, and document it.2024-03-07T20:23:46-05:00W. Alan ScottHave Programmable Filter access global data, and document it.Please add the ability to have the Programmable Filter access global data, and please document it (including an example) in the ParaView guide. This would be used to create a point array with this global data, so it could be used by oth...Please add the ability to have the Programmable Filter access global data, and please document it (including an example) in the ParaView guide. This would be used to create a point array with this global data, so it could be used by other filters such as the calculator. As an example this generic functionality would be used to multiply can.exo's Accl magnitude by ke (a global variable).5.13 (Summer 2024)https://gitlab.kitware.com/paraview/paraview/-/issues/21099Save Screenshot save current settings fails2024-03-07T20:23:46-05:00W. Alan ScottSave Screenshot save current settings failsSave Screenshot, save current settings is failing. Here is how to replicate:
* MacOS, 5.10.0-RC1.
* Sources/ Wavelet. Apply.
* File/ Save Screenshot.
* Change Image Resolution to 2048X1280
* Save Current setting values as defaults. ...Save Screenshot, save current settings is failing. Here is how to replicate:
* MacOS, 5.10.0-RC1.
* Sources/ Wavelet. Apply.
* File/ Save Screenshot.
* Change Image Resolution to 2048X1280
* Save Current setting values as defaults.
* Save the screenshot.
* File/ Save Screenshot.
The image resolution should still be 2048X1280. This is a bug.
It is reported that other state is also not saved, such as compression level.
Alan, test everything once this is fixed.5.13 (Summer 2024)https://gitlab.kitware.com/paraview/paraview/-/issues/21072Open button in Open File dialog disabled when AMReX Grid directory selected2024-03-07T20:23:46-05:00Cory Quammencory.quammen@kitware.comOpen button in Open File dialog disabled when AMReX Grid directory selectedIn a build directory with testing enabled, find `ExternalData/Testing/Data/AMReX-MFIX/plt00000`, copy it to another location, and rename the directory 'amrex-volume'.
* File -> Open
* Navigate to 'amrex-volume'.
The Open button will be...In a build directory with testing enabled, find `ExternalData/Testing/Data/AMReX-MFIX/plt00000`, copy it to another location, and rename the directory 'amrex-volume'.
* File -> Open
* Navigate to 'amrex-volume'.
The Open button will be enabled in ParaView 5.9.1, but in 5.10.0-RC1, it will not be enabled. In 5.10.0-RC1, you need to change the file type to "All Files (*)" before the Open button is enabled. The Open button should be enabled as it was in 5.9.1.5.13 (Summer 2024)https://gitlab.kitware.com/paraview/paraview/-/issues/21060Treat writers similarly to filters (gray them out)2024-03-07T20:23:46-05:00W. Alan ScottTreat writers similarly to filters (gray them out)Please change the way we deal with save data/ export scene for cases where the input data is not appropriate for the writer. Currently, the writer is just not listed. What we should do is gray these writers out, and preferably offer so...Please change the way we deal with save data/ export scene for cases where the input data is not appropriate for the writer. Currently, the writer is just not listed. What we should do is gray these writers out, and preferably offer some type of tip why this writer is grayed out.5.13 (Summer 2024)https://gitlab.kitware.com/paraview/paraview/-/issues/21038New ExtractBlock Causes UI Issues2024-03-07T20:23:46-05:00Theodore BaltisNew ExtractBlock Causes UI IssuesDiscovered in 5.10.0-RC1 (Windows MPI exe)
With the new ExtractBlock filter in the pipeline (anywhere), when changing the timestate the currently selected filter acts as if its properties have been updated. The text becomes bold and the...Discovered in 5.10.0-RC1 (Windows MPI exe)
With the new ExtractBlock filter in the pipeline (anywhere), when changing the timestate the currently selected filter acts as if its properties have been updated. The text becomes bold and the "Apply" button pops up. The data doesn't actually seem to reset or change in anyway, appears to only be a bug in the UI.
Steps to reproduce:
1. Load can.ex2
2. Add ExtractBlock and make a selection
3. Add Clip (or any other filter) to ExtractBlock
4. Change timestate and look at the currently highlighted filter in the pipeline
5. Change your pipeline (change input of the Clip to can.ex2, add another filter, etc.) and repeat.
6. Click other filters/sources and repeat5.13 (Summer 2024)Spiros TsalikisSpiros Tsalikishttps://gitlab.kitware.com/paraview/paraview/-/issues/21025Save Animation/ Advanced/ Key value pair needs it's own group2024-03-07T20:23:46-05:00W. Alan ScottSave Animation/ Advanced/ Key value pair needs it's own groupIn the Save Animation, Advanced, Key value pair section, this section needs it's own group. The reason is it needs to have a header that explains what it is. I would recommend "Metadata" or "PNG metadata" or "Metadata key/value pairs" ...In the Save Animation, Advanced, Key value pair section, this section needs it's own group. The reason is it needs to have a header that explains what it is. I would recommend "Metadata" or "PNG metadata" or "Metadata key/value pairs" or something.
I would also really like a writeup on this feature, explaining how it is used. I looked everywhere I could think of, and no hint how to use it. Discourse, or users manual documentation would be ideas.
@patchett20025.13 (Summer 2024)https://gitlab.kitware.com/paraview/paraview/-/issues/21015Enable opacity mapping using a different array than the color table2024-03-07T20:23:46-05:00W. Alan ScottEnable opacity mapping using a different array than the color tablePlease enable opacity mapping using a different array than the color table. Also, clean up opacity mapping of volume rendering.
* Volume rendering evidentially allows a different color map than opacity map, but I can't find it. It is ...Please enable opacity mapping using a different array than the color table. Also, clean up opacity mapping of volume rendering.
* Volume rendering evidentially allows a different color map than opacity map, but I can't find it. It is evidentially on the Properties tab. Please move this to the Color Editor.
* Opacity mapping needs to also optionally, default off, have an independent opacity map added, seperate from the color map.
Discourse discussion and request written up here: https://discourse.paraview.org/t/enable-opacity-mapping-for-surfaces-using-a-different-array-than-for-color-mapping/76465.13 (Summer 2024)https://gitlab.kitware.com/paraview/paraview/-/issues/20998Connecting to server with an MPI based start up command fails2024-03-07T20:23:46-05:00Spiros TsalikisConnecting to server with an MPI based start up command failsParaView has the option to set up a server configuration and automatically launch and connect to the server based on a command.
On Arch-Linux, when the command uses MPI, it fails to launch the server process.
Reproduction steps:
1. Con...ParaView has the option to set up a server configuration and automatically launch and connect to the server based on a command.
On Arch-Linux, when the command uses MPI, it fails to launch the server process.
Reproduction steps:
1. Connect
2. Add server
3. Define configuration based on your system. You may want to launch `pvserver` from a terminal to get hostname and port)
4. Configure button
5. Startup Type: Command
6. Set command: `MPIBinaryPath/mpiexec -np 4 ParaViewBuildPath/bin/pvserver`
Error:
![Screenshot_from_2021-09-29_10-55-24](/uploads/0cef9779b299b6b19ccbcdabe30d7cdd/Screenshot_from_2021-09-29_10-55-24.png)
The failure origates from `Qt/Components/pqServerLaunch.cxx`
On Mac, everything works fine.
Possible solutions: https://www.qtcentre.org/threads/19636-Qprocess-and-mpi-not-finishing
Simple work around: run paraview with `--no-mpi`5.13 (Summer 2024)https://gitlab.kitware.com/paraview/paraview/-/issues/20976[feature request] Add waiting icon when paraview is busy2024-03-08T05:01:45-05:00Eloise B[feature request] Add waiting icon when paraview is busyWhen Paraview is processing a long task, we have no indication for when it has done. It could be a good thing to have a visual information about when it is processing, for example a cursor icon change (a loading weel or a tiny hourglass)...When Paraview is processing a long task, we have no indication for when it has done. It could be a good thing to have a visual information about when it is processing, for example a cursor icon change (a loading weel or a tiny hourglass).
It seems possible in Qt with ```QApplication::setOverrideCursor(Qt::WaitCursor)``` and ```QApplication::restoreOverrideCursor()``` when it's done.
I think it could make the paraview experience more comfortable, and it will avoid some misclicking when paraview is busy.
What do you think about it?5.13 (Summer 2024)https://gitlab.kitware.com/paraview/paraview/-/issues/20967IOSS reader does not implement block controls2024-03-07T20:23:45-05:00W. Alan ScottIOSS reader does not implement block controlsThe IOSS reader does not implement block controls from selection. The Exodus reader does. In 5.9.1, open can.exo. Apply. Notice the "Check Selected Blocks" and "Uncheck Selected Blocks". In master, the IOSS reader, this is missing.
...The IOSS reader does not implement block controls from selection. The Exodus reader does. In 5.9.1, open can.exo. Apply. Notice the "Check Selected Blocks" and "Uncheck Selected Blocks". In master, the IOSS reader, this is missing.
The reason these controls are so valuable is that you can GUI select a large number of blocks on a surface, and quickly turn them off. Do it again, you are one surface deeper. Quickly, you are down to the level you want. Think trying to find the pistons in a car with a thousand blocks.
@utkarsh.ayachit 5.10 or 5.11? I'm OK with either, since users can use the LegacyExodus reader...5.13 (Summer 2024)https://gitlab.kitware.com/paraview/paraview/-/issues/20853API to Reduce data information for symmetric mode2024-03-07T20:23:45-05:00Utkarsh AyachitAPI to Reduce data information for symmetric modeIn symmetric mode, data information is generally only gathered locally. Let's add a convenience method that should be accessible in Python that one can use to reduce data information across all ranks.In symmetric mode, data information is generally only gathered locally. Let's add a convenience method that should be accessible in Python that one can use to reduce data information across all ranks.5.13 (Summer 2024)