<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</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>Jing,</div>
</div>
</div>
<div><br>
</div>
<div>I'm still unclear about where this numpy array is being generated. Is it using the Python Shell in the GUI, running a Python script, or using a batch interpreter like pvpython or pvbatch? In that case, the numpy array is in a separate memory space as the
 data being loaded from the netCDF file (and has to be due to the distributed nature of parallel computers). There is a mechanism for pulling data to the Python script, but I doubt there is a way to push it back.</div>
<div><br>
</div>
<div>The calculator filter (as all other filters) has access to arrays that are either read from the netCDF file or generated in upstream filters. For example, the calculator filter will itself create an array that can be accessed by a second calculator if
 you add one to the first. So it is possible to add arrays after they are loaded.</div>
<div><br>
</div>
<div>One option you might try is to look into filters that internally use Python scripting. These are the Python Calculator and Programable Filter. Both of these will be able to access arrays from the netCDF file and then add arrays. If you can compute the
 values in the numpy array, then one or both of these should be able to add the data you want.</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>Jing Li <<a href="mailto:jlih@masonlive.gmu.edu">jlih@masonlive.gmu.edu</a>><br>
<span style="font-weight:bold">Date: </span>Tuesday, December 2, 2014 at 2:00 AM<br>
<span style="font-weight:bold">To: </span>Kenneth Moreland <<a href="mailto:kmorel@sandia.gov">kmorel@sandia.gov</a>><br>
<span style="font-weight:bold">Cc: </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] Re: [Paraview] Data updates in Paraview+MPI<br>
</div>
<div><br>
</div>
<div>
<div dir="auto">
<div>Hi Ken,</div>
<div>Thanks for your prompt response. Sorry about the confusion here.</div>
<div>I have a large Netcdf file which is visualized with Parallel Paraview. Now I have no problems with visualizing the values of an attribute( e.g., temperature). The next step is to modify the attribute values based on the another numpy array storing the
 weighting values. The weighting values are changing during the interactive manipulation.</div>
<div><br>
</div>
<div>For  the first question, I think I can resample the numpy data to make the dimensions the same.  I noticed there is a calculator for array data but it seems only to work with data read through Netcdf reader from Paraview. I guess the less efficient way
 is to store the scaling array to the original Netcdf file and use the calculator to generate a new array based on both original and weighting arrays.   Do you think this will work? I don't want to "modify" the core API of Paraview.</div>
<div><br>
</div>
<div>Thanks again.</div>
<div>Jing  <br>
</div>
<div><br>
On Dec 2, 2014, at 8:52 AM, Moreland, Kenneth <<a href="mailto:kmorel@sandia.gov">kmorel@sandia.gov</a>> wrote:<br>
<br>
</div>
<blockquote type="cite">
<div>
<div>
<div>
<div>Jing,</div>
</div>
</div>
<div><br>
</div>
<div>I'm having a little trouble conceptualizing exactly how you are planning to use it, but I suspect you are going to run into several problems because it sounds like you are breaking some of the assumptions of VTK and ParaView.</div>
<div><br>
</div>
<div>First, I'm not sure how you could attach an array describing 2x2x2 values to 4x4x4 blocks. There is no convention in VTK to specify a field arrangement other than 1 to 1. All filters will assume the array is 4x4x4, which will cause bad data access and
 could potentially crash ParaView.</div>
<div><br>
</div>
<div>Second, trying to modify an array interactively in the view and then access it through filters in the pipeline is not going to work very well. The pipeline will not catch the changes and the changed values will not appear in the visualization. ParaView
 additionally has update suppressors to prevent updates that were not modified by the ParaView system.</div>
<div><br>
</div>
<div>I suspect that for whatever it is you are trying to do to work right you will need to create a custom view or representation that internally handles this numpy array.</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>jlih <<a href="mailto:jlih@masonlive.gmu.edu">jlih@masonlive.gmu.edu</a>><br>
<span style="font-weight:bold">Date: </span>Monday, December 1, 2014 at 9:03 AM<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] Data updates in Paraview+MPI<br>
</div>
<div><br>
</div>
<div>
<div dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Dear all, <br>
</p>
<p>I am using the Paraview with MPI enabled to visualize a NetCDF dataset and need some suggestions on developing the following application.  </p>
<p><br>
</p>
<p>If I want to modify the NetCDF array based on the data values from another numpy array (not in NetCDF format), do I need to store the numpy array in a NetCDF in every computing node with MPI installed?   The dimensions of the numpy array are not the same
 as the NetCDF array (e.g., numpy 2*2*2; NetCDF 4*4*4, one element from the numpy array corresponds to 8 elements in the NetCDF array ).  </p>
<p><br>
</p>
<p>Also, the numpy array is updated during the interactive manipulation of the view.  Whenever the view changes (e.g., zoom), the values are updated.  If I store the numpy array as files, I am not sure how much communication overhead will be introduced. Is
 it possible to store the numpy array in memory and update the array on the fly? I'm not sure how the shared memory works in this case..<br>
</p>
<p><br>
</p>
<p>Any suggestions are highly appreciated. Thanks in advance. <br>
</p>
<p><br>
</p>
<p>Jing <br>
</p>
</div>
</div>
</div>
</span></div>
</blockquote>
</div>
</div>
</span>
</body>
</html>