<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Lucida Console";
        panose-1:2 11 6 9 4 5 4 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">This is not something I&#8217;d use Python for. If you are not familiar with creating C&#43;&#43; filters then my approach will&nbsp; be a bit of a stretch for you.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">To get an idea &#8211; you&#8217;d grep
</span><b><span style="font-family:&quot;Courier New&quot;;color:green;mso-fareast-language:EN-US">UPDATE_TIME_STEPS
</span></b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">in the source tree of paraview and see how it is used to fetch the current time request.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">JB<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> John.CTR.Mick@faa.gov [mailto:John.CTR.Mick@faa.gov]
<br>
<b>Sent:</b> 22 March 2012 22:42<br>
<b>To:</b> Biddiscombe, John A.<br>
<b>Cc:</b> paraview@paraview.org<br>
<b>Subject:</b> RE: [Paraview] Assistance/Suggestion With Animating Relatively Small Datasets Over Many Timesteps<o:p></o:p></span></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Ah yes,</span> <br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp; &nbsp; This is the sort of approach I was initially hoping to get implemented. &nbsp;However I am still really stuck on how to implement some of those details.</span>
<br>
<br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">A couple questions I am still trying to hammer out specifically:</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp; - You say &quot;create a RequestData function&quot;; by this do you mean the 'RequestInformation Script' field inside of a ParaView ProgrammableFilter?</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp; - I have searched for longer than probably is justified for this already....where does Python have access to an UPDATE_TIME field?</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp; - How do I place the Python script in a way that it is evaluated every single time the ParaView UI updates it's own timestep - otherwise the filter won't update during an animation tick</span>
<br>
<br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">I appreciate the response - if you have any additional thoughts on this I'd love to hear about them in further detail.</span>
<br>
<br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Best wishes!</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp; &nbsp; &nbsp;-Another John</span>
<br>
<br>
<br>
<o:p></o:p></p>
<table class="MsoNormalTable" border="0" cellpadding="0" width="100%" style="width:100.0%">
<tbody>
<tr>
<td valign="top" style="padding:.75pt .75pt .75pt .75pt">
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#5F5F5F">From:</span>
<o:p></o:p></p>
</td>
<td valign="top" style="padding:.75pt .75pt .75pt .75pt">
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&quot;Biddiscombe, John A.&quot; &lt;<a href="mailto:biddisco@cscs.ch">biddisco@cscs.ch</a>&gt;</span>
<o:p></o:p></p>
</td>
</tr>
<tr>
<td valign="top" style="padding:.75pt .75pt .75pt .75pt">
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#5F5F5F">To:</span>
<o:p></o:p></p>
</td>
<td valign="top" style="padding:.75pt .75pt .75pt .75pt">
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">John CTR Mick/ACT/CNTR/FAA@FAA, &quot;<a href="mailto:paraview@paraview.org">paraview@paraview.org</a>&quot; &lt;<a href="mailto:paraview@paraview.org">paraview@paraview.org</a>&gt;</span>
<o:p></o:p></p>
</td>
</tr>
<tr>
<td valign="top" style="padding:.75pt .75pt .75pt .75pt">
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#5F5F5F">Date:</span>
<o:p></o:p></p>
</td>
<td valign="top" style="padding:.75pt .75pt .75pt .75pt">
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">03/22/2012 04:57 PM</span>
<o:p></o:p></p>
</td>
</tr>
<tr>
<td valign="top" style="padding:.75pt .75pt .75pt .75pt">
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#5F5F5F">Subject:</span>
<o:p></o:p></p>
</td>
<td valign="top" style="padding:.75pt .75pt .75pt .75pt">
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">RE: [Paraview] Assistance/Suggestion With Animating Relatively Small Datasets Over Many Timesteps</span><o:p></o:p></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="100%" noshade="" style="color:#A0A0A0" align="center">
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
<br>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">I would stick to the CSV file if you&#8217;ve got all the information you need inside it</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">&nbsp;</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">&#8230; but instead of using a table to points filter, create your own custom filter which takes the CSV table as input, and outputs just a small polydata object which has the current
 positions (&#43;scalars) encoded for the given time.</span> <br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">&nbsp;</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">All you need to do is create a RequestData function which looks at UPDATE_TIME, and fetches the corresponding rows/columns for each planet/point for that time and adds them to the
 output.</span> <br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">&nbsp;</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">For added fun, you can export a multi-block dataset, and/or have a treeview which allows you to enable/disable certain planets/points. This way you can</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">&nbsp;</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">Reader -&gt; ExtractPlanetFilter1 -&gt;Render (use textureA)</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ExtractPlanetFilter2-&gt;Render (use tectureB)</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">&nbsp;</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">[Or other combinations with ExtractBlockFilter if you use multiblock ].</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">&nbsp;</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">The Reader would simply subclass polydataalgorithm, but take a vtkTable as input. Couple of hours work is all you&#8217;d need and you can leave the data in its current form.</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">&nbsp;</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">$0.02</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">&nbsp;</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">JB</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">&nbsp;</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">&nbsp;</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#004080">&nbsp;</span>
<br>
<b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">
<a href="mailto:paraview-bounces@paraview.org">paraview-bounces@paraview.org</a> [</span><a href="mailto:paraview-bounces@paraview.org"><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">mailto:paraview-bounces@paraview.org</span></a><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">]
<b>On Behalf Of </b><a href="mailto:John.CTR.Mick@faa.gov">John.CTR.Mick@faa.gov</a><b><br>
Sent:</b> 22 March 2012 17:13<b><br>
To:</b> <a href="mailto:paraview@paraview.org">paraview@paraview.org</a><b><br>
Subject:</b> [Paraview] Assistance/Suggestion With Animating Relatively Small Datasets Over Many Timesteps</span>
<br>
&nbsp; <br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"><br>
&nbsp; &nbsp; This is my first experience posting to the ParaView Mailing List; as well as my first project I am exploring with ParaView. &nbsp;I hope I am posting this question to the correct audience.</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"><br>
&nbsp; &nbsp; I am attempting to create an animation of our Solar System - at an extremely high update interval - perhaps plotting the position and velocity of significant solar system bodies over 165 Earth years at</span>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"><br>
a one day interval. &nbsp;Initially I thought I would be able to work with CSV files to define a dataset which includes time, positional coordinates, and velocity vectors. &nbsp;While testing this approach I managed to use the TableToPoints filter to create a visualization
 of a sample dataset; but I was not able to sequence over the individual timesteps. &nbsp;So in effect you see all the positions a particular planet was at for the entire duration of the dataset.</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"><br>
I created a video of this test and made it available online:</span> <span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">
<br>
&nbsp; &nbsp; </span><a href="http://www.youtube.com/watch?v=XLPxx-2Zc9Q">http://www.youtube.com/watch?v=XLPxx-2Zc9Q</a>
<br>
<br>
&nbsp; &nbsp; Next I thought perhaps the CSV format was a little too general for what I needed, so I read the VTK file format document and migrated over to the XML VTK format. &nbsp;It seems like there is no way to define time sequenced data natively within the file format
 itself? &nbsp;ParaView expects the user to break the timesteps into individual files - with a numeric indicator in the filename to define the sequence. &nbsp;If I were to take this approach, I could be looking at creating nearly 500,000 individual files to represent
 the entire duration of time I'm interested in plotting. &nbsp;I feel like there must be a better way to do this.
<br>
<br>
&nbsp; &nbsp; As a small improvement I thought I could at least combine all of the unique solar system bodies (Earth, Sun, etc.), into a single timestep file such as this:
<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(filename: timeseries_2455562.vtu) <br>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
&lt;?xml version=&quot;1.0&quot;?&gt;</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
&lt;VTKFile type=&quot;UnstructuredGrid&quot; version=&quot;0.1&quot; byte_order=&quot;LittleEndian&quot; compressor=&quot;vtkZLibDataCompressor&quot;&gt;</span>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
&nbsp;&lt;UnstructuredGrid&gt;</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
&nbsp; &nbsp;&lt;Piece NumberOfPoints=&quot;2&quot; NumberOfCells=&quot;2&quot;&gt;</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
&nbsp; &nbsp; &nbsp;&lt;PointData Vectors=&quot;Velocity&quot; Scalars=&quot;Radius&quot;&gt;</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
&nbsp; &nbsp; &nbsp; &nbsp;&lt;DataArray Name=&quot;Time&quot; type=&quot;Float32&quot; format=&quot;ascii&quot;&gt;2455562 2455562&lt;/DataArray&gt;</span>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
&nbsp; &nbsp; &nbsp; &nbsp;&lt;DataArray Name=&quot;Radius&quot; type=&quot;Float32&quot; format=&quot;ascii&quot;&gt;6371 696000&lt;/DataArray&gt;</span>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
&nbsp; &nbsp; &nbsp; &nbsp;&lt;DataArray Name=&quot;Velocity&quot; type=&quot;Float32&quot; NumberOfComponents=&quot;3&quot; format=&quot;ascii&quot;&gt;</span>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-2.982651603443954E&#43;01 -5.304542013817379E&#43;00 -7.226846229160870E-04</span>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0 0 0</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
&nbsp; &nbsp; &nbsp; &nbsp;&lt;/DataArray&gt;</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
&nbsp; &nbsp; &nbsp;&lt;/PointData&gt;</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
&nbsp; &nbsp; &nbsp;&lt;Points&gt;</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
&nbsp; &nbsp; &nbsp; &nbsp;&lt;DataArray type=&quot;Float32&quot; NumberOfComponents=&quot;3&quot; format=&quot;ascii&quot;&gt;</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-2.567030301930377E&#43;07 1.448508985971261E&#43;08 -3.607762965630511E&#43;03</span>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0 0 0</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
&nbsp; &nbsp; &nbsp; &nbsp;&lt;/DataArray&gt;</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
&nbsp; &nbsp; &nbsp;&lt;/Points&gt;</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
&nbsp; &nbsp; &nbsp;&lt;Cells&gt;</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
&nbsp; &nbsp; &nbsp; &nbsp;&lt;DataArray Name=&quot;connectivity&quot; type=&quot;Int32&quot; format=&quot;ascii&quot;&gt;0 1&lt;/DataArray&gt;</span>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
&nbsp; &nbsp; &nbsp; &nbsp;&lt;DataArray Name=&quot;offsets&quot; type=&quot;Int32&quot; format=&quot;ascii&quot;&gt;1 2&lt;/DataArray&gt;</span>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
&nbsp; &nbsp; &nbsp; &nbsp;&lt;DataArray Name=&quot;types&quot; type=&quot;UInt8&quot; format=&quot;ascii&quot;&gt;1 1&lt;/DataArray&gt;</span>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
&nbsp; &nbsp; &nbsp;&lt;/Cells&gt;</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
&nbsp; &nbsp;&lt;/Piece&gt;</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
&nbsp;&lt;/UnstructuredGrid&gt;</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
&lt;/VTKFile&gt;</span> <br>
<br>
The idea of this approach was to list all of the scalars and vectors for each corresponding body in a single file. &nbsp;In this example the first listed scalar, vector, or coordinate point, is the Earth while the second set of values indicates the Sun's data. &nbsp;By
 combining the bodies into a single file I could reduce the 500,000 files required down to some 60,000 files....still undesirable but better.
<br>
<br>
However I would also like to segment the Points once inside the ParaView environment; so I can create a distinct pipeline for each body in the dataset. &nbsp;One application for this would be to allow different Glyph rendering rules for the Sun and the Earth so
 I can make the Sun...have a Sun texture - and the Earth an Earth texture. &nbsp; <br>
<br>
After experimenting with this for awhile I found myself trying to implement a Programmable Filter. &nbsp;The filter would take the Unstructured Grid for the given timestep, and given an index, extract the Point, Scalar, and Vector data from its input - then set
 only those values to the Output Unstructured Grid. &nbsp;I currently have a script that looks something like this:
<br>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
# CELLID 0 = EARTH</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
cellId = 0</span> <br>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
# Obtain References To Input/Output Data</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
gridI = self.GetUnstructuredGridInput()</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
gridO = self.GetUnstructuredGridOutput()</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
dataI = self.GetInput()</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
dataO = self.GetOutput()</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
scalarI = dataI.GetPointData().GetScalars()</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
vectorI = dataI.GetPointData().GetVectors()</span> <br>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
# Initialize Local Storage Arrays</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
newVector = vtk.vtkFloatArray()</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
newVector.SetName(vectorI.GetName())</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
newVector.SetNumberOfComponents(3)</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
newScalar = vtk.vtkFloatArray()</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
newScalar.SetName(scalarI.GetName())</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
newPoint = vtk.vtkPoints()</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
newPoint.SetNumberOfPoints(1)</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
newCell = vtk.vtkCellArray()</span> <br>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
# Lookup CellId References</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
idCell = gridI.GetCell(cellId)</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
idCellType = gridI.GetCellType(cellId)</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
idPoint = gridI.GetPoints().GetPoint(cellId)</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
idScalar = scalarI.GetTuple(cellId)</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
idVector = vectorI.GetTuple(cellId)</span> <br>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
# Populate New Local Cell Array with CellId Cell</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
newCell.InsertNextCell(idCell)</span> <br>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
# Populate New Local Point Array With CellId Point</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
newPoint.SetPoint(0, idPoint)</span> <br>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
# Populate New Local Scalars with CellId Scalar Tuples</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
newScalar.InsertNextTuple(idScalar)</span> <br>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
# Populate New Local Vectors with CellID Vector Tuples</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
newVector.InsertNextTuple(idVector)</span> <br>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
# Copy Local Cells, Scalars, Vectors, and Points Into Output Pipeline Data</span>
<span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;"><br>
gridO.SetPoints(newPoint)</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
gridO.SetCells(idCellType, newCell)</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
dataO.GetPointData().SetScalars(newScalar)</span> <span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">
<br>
dataO.GetPointData().SetVectors(newVector)</span> <br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"><br>
The filter does achieve the desired effect for the cellID 0 - but when I switch the value of cellID to 1 (which should refer to the Sun's index) ParaView crashes hard - where I assume I am missing something, possibly requesting something out of bounds in memory.</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"><br>
I've been struggling with this problem for a little while now and thought to share my progress here; hopefully there is somebody out there with a little more insight that could help guide me towards either a conclusion with this implementation or a suggestion
 for a better approach.</span> <br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"><br>
Essentially - How can one give ParaView Point and Velocity vectors over a vast sequence of time without creating potentially hundreds of thousands of files on disc? &nbsp;Does this Programmable Filter seem like a reasonable approach? &nbsp;Is there a native feature I
 am missing that does this already? &nbsp;Is there some other file format other than VTK I could use to have ParaView understand this format of data?</span>
<br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"><br>
Any thoughts, comments, or questions will be greatly appreciated. &nbsp;:)</span> <br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"><br>
Thanks,</span> <span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"><br>
&nbsp; &nbsp; John</span> <o:p></o:p></p>
</div>
</body>
</html>