<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="qrichtext" content="1">
<style type="text/css">
p, li { white-space: pre-wrap; }
</style>
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>
<div>
<div>Ug. What an annoying problem to have.</div>
<div><br>
</div>
<div>First of all, I think the easiest solution to your problem is to simply change the animation mode from "Snap to TimeSteps" to either "Sequence" or "Real Time". The default "Snap to TimeSteps" is going to visit all unique time steps, and ParaView incorrectly
 thinks your two data sets have different values in equivalent time steps. But the other two modes ignore the independent time steps, and your two readers will both interpret them correctly.</div>
<div><br>
</div>
<div>I wish I thought of that solution before figuring out how to filter the time in your data, but I didn't and instead came up with a solution to use the programable filter. Anyway, if you still want to go through the trouble of changing the time values,
 here is the solution.</div>
<div><br>
</div>
</div>
</div>
<div>By default, the programmable filter copies the input data to the output, which is good since that is what you want. You can just leave the main script (which is really the RequestData script) blank. Instead you need to change the RequestInformation script
 and the RequestUpdateExtent script (both part of the "advanced" properties).</div>
<div><br>
</div>
<div>First, the RequestInformation script needs to redefine the time step values. Here is a version of the script that resets the time to be integer values (which should not have precision problems).</div>
<blockquote style="margin:0 0 0 40px; border:none; padding:0px;">
<div>
<pre style="margin-top: 12px; margin-bottom: 0px;"><!--StartFragment--><span style="font-family: 'Courier New', courier;">executive </span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">=</span><span style="font-family: 'Courier New', courier;"> </span><span style="font-family: 'Courier New', courier; color: rgb(0, 128, 0);">self</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">GetExecutive()</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: 'Courier New', courier;">outInfo </span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">=</span><span style="font-family: 'Courier New', courier;"> executive</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">GetOutputInformation(</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">0</span><span style="font-family: 'Courier New', courier;">)</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; font-family: 'Courier New,courier';"><br></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: 'Courier New', courier;">numTimeSteps </span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">=</span><span style="font-family: 'Courier New', courier;"> outInfo</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">Length(executive</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">TIME_STEPS())</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: 'Courier New', courier;">outInfo</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">Remove(executive</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">TIME_STEPS())</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; font-family: 'Courier New,courier';"><br></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: 'Courier New', courier; font-weight: 600; color: rgb(0, 128, 0);">for</span><span style="font-family: 'Courier New', courier;"> time </span><span style="font-family: 'Courier New', courier; font-weight: 600; color: rgb(170, 34, 255);">in</span><span style="font-family: 'Courier New', courier;"> </span><span style="font-family: 'Courier New', courier; color: rgb(0, 128, 0);">xrange</span><span style="font-family: 'Courier New', courier;">(</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">0</span><span style="font-family: 'Courier New', courier;">, numTimeSteps):</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: 'Courier New', courier;">    outInfo</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">Append(executive</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">TIME_STEPS(), time)</span></pre>
</div>
</blockquote>
<div><br>
</div>
<div>Next, you need to have the RequestUpdateExtent script translate the time step requested by ParaView to the time step that the reader is really expecting. Here is a script that will do that.</div>
<div><br>
</div>
<blockquote style="margin:0 0 0 40px; border:none; padding:0px;">
<div>
<pre style="margin-top: 12px; margin-bottom: 0px;"><!--StartFragment--><span style="font-family: 'Courier New', courier;">executive </span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">=</span><span style="font-family: 'Courier New', courier;"> </span><span style="font-family: 'Courier New', courier; color: rgb(0, 128, 0);">self</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">GetExecutive()</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: 'Courier New', courier;">inInfo </span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">=</span><span style="font-family: 'Courier New', courier;"> executive</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">GetInputInformation(</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">0</span><span style="font-family: 'Courier New', courier;">)</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">GetInformationObject(</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">0</span><span style="font-family: 'Courier New', courier;">)</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: 'Courier New', courier;">outInfo </span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">=</span><span style="font-family: 'Courier New', courier;"> executive</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">GetOutputInformation()</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">GetInformationObject(</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">0</span><span style="font-family: 'Courier New', courier;">)</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; font-family: 'Courier New,courier';"><br></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: 'Courier New', courier;">inTimeSteps </span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">=</span><span style="font-family: 'Courier New', courier;"> inInfo</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">Get(executive</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">TIME_STEPS())</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: 'Courier New', courier;">outTimeSteps </span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">=</span><span style="font-family: 'Courier New', courier;"> outInfo</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">Get(executive</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">TIME_STEPS())</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; font-family: 'Courier New,courier';"><br></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: 'Courier New', courier;">requestedTimeStep </span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">=</span><span style="font-family: 'Courier New', courier;"> outInfo</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">Get(executive</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">UPDATE_TIME_STEP())</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; font-family: 'Courier New,courier';"><br></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: 'Courier New', courier;">requestedTimeIndex </span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">=</span><span style="font-family: 'Courier New', courier;"> </span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">0</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: 'Courier New', courier; font-weight: 600; color: rgb(0, 128, 0);">while</span><span style="font-family: 'Courier New', courier;"> requestedTimeIndex </span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);"><</span><span style="font-family: 'Courier New', courier;"> </span><span style="font-family: 'Courier New', courier; color: rgb(0, 128, 0);">len</span><span style="font-family: 'Courier New', courier;">(outTimeSteps)</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">-1</span><span style="font-family: 'Courier New', courier;">:</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: 'Courier New', courier;">    </span><span style="font-family: 'Courier New', courier; font-weight: 600; color: rgb(0, 128, 0);">if</span><span style="font-family: 'Courier New', courier;"> requestedTimeStep </span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);"><</span><span style="font-family: 'Courier New', courier;"> outTimeSteps[requestedTimeIndex</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">+1</span><span style="font-family: 'Courier New', courier;">]:</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: 'Courier New', courier;">        </span><span style="font-family: 'Courier New', courier; font-weight: 600; color: rgb(0, 128, 0);">break</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: 'Courier New', courier;">    requestedTimeIndex </span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">+=</span><span style="font-family: 'Courier New', courier;"> </span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">1</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px; font-family: 'Courier New,courier'; color: rgb(102, 102, 102);"><br></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: 'Courier New', courier;">inInfo</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">Set(executive</span><span style="font-family: 'Courier New', courier; color: rgb(102, 102, 102);">.</span><span style="font-family: 'Courier New', courier;">UPDATE_TIME_STEP(), inTimeSteps[requestedTimeIndex])</span></pre>
</div>
<div><br>
</div>
</blockquote>
<div>That should be it. You can try to change the RequestInformation script to so set time values of one reader to the ones used by the other, or you can just apply this filter to both. As long as the time indices match up, it should work.</div>
<div><br>
</div>
<div>-Ken</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>ParaView <<a href="mailto:paraview-bounces@paraview.org">paraview-bounces@paraview.org</a>> on behalf of Eric Lynch <<a href="mailto:eric.lynch@gmail.com">eric.lynch@gmail.com</a>><br>
<span style="font-weight:bold">Date: </span>Tuesday, October 6, 2015 at 9:44 PM<br>
<span style="font-weight:bold">To: </span>"<a href="mailto:paraview@paraview.org">paraview@paraview.org</a>" <<a href="mailto:paraview@paraview.org">paraview@paraview.org</a>><br>
<span style="font-weight:bold">Subject: </span>[EXTERNAL] [Paraview] Changing time step values<br>
</div>
<div><br>
</div>
<div>
<div>
<div dir="ltr">After reading a dataset into ParaView, is it possible to change the time step values?  I'm reading in data in two different formats.  I've got the same time steps in both readers (they correspond to the same iteration of the same simulation),
 but due to differences in precision, ParaView thinks they're different times.  For example, one reader parses time as a float and has a time step of <span class="">0.10000000149011 while the other parses time as a double and shows </span>0.100000000000000. 
 Is there a way for me to change one of these after reading so ParaView thinks they're the same?
<div><br>
</div>
<div>Thanks,</div>
<div>Eric</div>
</div>
</div>
</div>
</span>
</body>
</html>