# How to organize arrays into groups?

**URL:** https://discourse.paraview.org/t/how-to-organize-arrays-into-groups/8802
**Category:** ParaView Support
**Created:** [January 20, 2022, 7:39am UTC](https://discourse.paraview.org/t/how-to-organize-arrays-into-groups/8802 "2022-01-20T07:39:33Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![Petr\_Melnikov](https://discourse.paraview.org/user_avatar/discourse.paraview.org/petr_melnikov/32/5789_2.png) [@Petr\_Melnikov](https://discourse.paraview.org/u/Petr_Melnikov)
#### Post date: [January 20, 2022, 7:39am UTC](https://discourse.paraview.org/t/how-to-organize-arrays-into-groups/8802/1 "2022-01-20T07:39:33Z")

</div>

Hi!  
I have a dataset of vtkUnstructuredGrid class with many point-centered arrays (several hundred). It is necessary to organize the arrays in such a way as to facilitate the searching and selecting, it is inconvenient to search for them in the drop-down list.

I decided to use the vtkMultiBlockDataSet class, but, as far as I understand, in this case, each block will be a vtkUnstructuredGrid with a copy of points and cells.

Is it possible to organize point-centered arrays into groups more efficiently?

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 20, 2022, 8:42am UTC](https://discourse.paraview.org/t/how-to-organize-arrays-into-groups/8802/2 "2022-01-20T08:42:07Z")

</div>

> [@Petr\_Melnikov](#):
>
> organize point-centered arrays

What do you mean by organize ?

What I would do is use multiple PassArrays filter to select only some arrays to work with.

---

<div class="post-metadata">

### Author: ![Petr\_Melnikov](https://discourse.paraview.org/user_avatar/discourse.paraview.org/petr_melnikov/32/5789_2.png) [@Petr\_Melnikov](https://discourse.paraview.org/u/Petr_Melnikov)
#### Post date: [January 20, 2022, 9:33am UTC](https://discourse.paraview.org/t/how-to-organize-arrays-into-groups/8802/3 "2022-01-20T09:33:46Z")

</div>

> [@mwestphal](#):
>
> What do you mean by organize ?

As an example of organization, consider how temporal data is organized. To access an array, we specify the time step and the name of the array, i.e. we have two levels:  
1.Time step 1  
1.1. Array name 1  
1.2. Array name 2  
2. Time step 2  
2.1. Array name 1  
2.2. Array name 2  
…  
instead of a single level:

1. Time step 1.Array name 1
2. Time step 1.Array name 2
3. Time step 2.Array name 1
4. Time step 2.Array name 2  
…

> [@mwestphal](#):
>
> What I would do is use multiple PassArrays filter to select only some arrays to work with.

This option is being considered

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 20, 2022, 9:34am UTC](https://discourse.paraview.org/t/how-to-organize-arrays-into-groups/8802/4 "2022-01-20T09:34:33Z")

</div>

> [@Petr\_Melnikov](#):
>
> To access an array, we specify the time step and the name of the array, i.e. we have two levels:

In that case you would have to rework your dataset into a temporal one.

---

<div class="post-metadata">

### Author: ![Petr\_Melnikov](https://discourse.paraview.org/user_avatar/discourse.paraview.org/petr_melnikov/32/5789_2.png) [@Petr\_Melnikov](https://discourse.paraview.org/u/Petr_Melnikov)
#### Post date: [January 20, 2022, 9:41am UTC](https://discourse.paraview.org/t/how-to-organize-arrays-into-groups/8802/5 "2022-01-20T09:41:14Z")

</div>

> [@mwestphal](#):
>
> In that case you would have to rework your dataset into a temporal one.

The problem is that two levels are not enough.

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 20, 2022, 9:42am UTC](https://discourse.paraview.org/t/how-to-organize-arrays-into-groups/8802/6 "2022-01-20T09:42:15Z")

</div>

What would be the other levels ? What do they correspond to ?

---

<div class="post-metadata">

### Author: ![Petr\_Melnikov](https://discourse.paraview.org/user_avatar/discourse.paraview.org/petr_melnikov/32/5789_2.png) [@Petr\_Melnikov](https://discourse.paraview.org/u/Petr_Melnikov)
#### Post date: [January 20, 2022, 9:46am UTC](https://discourse.paraview.org/t/how-to-organize-arrays-into-groups/8802/7 "2022-01-20T09:46:00Z")

</div>

Harmonic index → Natural frequency number → Layer number (for shells) → Array name

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 20, 2022, 9:52am UTC](https://discourse.paraview.org/t/how-to-organize-arrays-into-groups/8802/8 "2022-01-20T09:52:27Z")

</div>

Ok. In that case, you have to ways to do that.

1. Multiblocks:

Create a flter that shallow copy the geometry and topology into each blocks and copy only the needed arrays. It should be fairly easy BUT ParaView will be tricked into thinking that that data is much bigger than it actually is and will display all these duplicated points and cells if asked to.  
There is no duplication in memory though.

1. Multi outputs

Create a filters with many outputs, each output corresponds to a lead of your tree. While not as practical to develop, and interact with in ParaView, ParaView will not have the same issue of showing incorrect number of points and cells.  
There is still no duplication in memory.

---

<div class="post-metadata">

### Author: ![Petr\_Melnikov](https://discourse.paraview.org/user_avatar/discourse.paraview.org/petr_melnikov/32/5789_2.png) [@Petr\_Melnikov](https://discourse.paraview.org/u/Petr_Melnikov)
#### Post date: [January 20, 2022, 10:18am UTC](https://discourse.paraview.org/t/how-to-organize-arrays-into-groups/8802/9 "2022-01-20T10:18:16Z")

</div>

Please give an example of a filter with multiple outputs.

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 20, 2022, 11:35am UTC](https://discourse.paraview.org/t/how-to-organize-arrays-into-groups/8802/10 "2022-01-20T11:35:44Z")

</div>

DescriptiveStatistics
