Global Variables
Overview
Exodus data can contain global variables, i.e. global across geometry, but not across time. I have modified the exodus reader to read in global variables and display them in the "Variables" widget of the exodus panel. I am adding them to the reader's output vtkFieldData as two arrays named "GlobalVariableValues" and "GlobalVariableNames". Filters that know about global variables can then access them from their input vtkFieldData. (Aside: The reason I didn't separate them into individual arrays of size 1, one for each global variable, is because I needed a way to differentiate them from other potential arrays in the vtkFieldData.). Now, the two use cases I know of with regard to using global variables are:
- Plotting them over time
- Using them in the array calculator
However, the only attribute types that ParaView currently understands are "point" and "cell". So the choice is whether to make global variables a first-class citizen as point and cell arrays are, or to hack only the plotting and calculator classes to use global variables.
Questions
Global variables could potentially take up quite a bit of space in the "Variables" widget in the exodus panel. Should we provide the user the option (in the form of a checkbox somewhere in the panel) of whether or not to load global variables?
Should global variables have an icon of their own in the exodus panel? Currently they are without one.
Should there be a separate "Plot Global Data Over Time" filter in which only global variables appear in the display panel? Or should "Plot Point Over Time" and "Plot Cell Over Time" be modified to list any global variables along with the point/cell variables in its display panel? This actually hits on a larger issue which is, is there a use case for plotting variables of different types (point/cell/global) in the same plot?