<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:12pt"><div><span>Well it seems like #1 and #2 can be solved by writing a new parallel wind blade reader class. I had similar experience by creating distributed versions of class that I created in other vtk directories. The normal wind blade reader would have no parallel calls, which would address #1.</span></div><div><br><span></span></div><div><span>What I find interesting is that in your directories, the wind blade reader is located in VTK/IO/Parallel. For the ParaView snapshot that I downloaded, as well as the 3.14 source, it's still in VTK/Parallel.&nbsp; No Parallel folder in VTK/IO. Is this a recent change?<br></span></div><div><span><br></span></div><div><span>So maybe the ideal folder layout would
 be:</span></div><div><br><span></span></div><div><span>VTK/IO/WindBladeReader.*</span></div><div><br><span></span></div><div><span>VTK/IO/Parallel/DistributedWindBladeReader.*</span></div><div><br><span></span></div><div><span>I can make changes to the WindBladeReader to remove the MPI-IO calls and make a distributed wind blade reader class in case you want to add them to the repository. The one template I have for the parallel/serial split is the vtkStreamTracer and its distributed counterparts so I can use those as a guide.&nbsp; If you have better recommendations please let me know.</span></div><div><br><span></span></div><div><span>Sohail<br></span></div><div><br></div>  <div style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <font face="Arial" size="2"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> David E
 DeMarle &lt;dave.demarle@kitware.com&gt;<br> <b><span style="font-weight: bold;">To:</span></b> Sohail Shafii &lt;sohailshafii@yahoo.com&gt; <br><b><span style="font-weight: bold;">Cc:</span></b> Andy Bauer &lt;andy.bauer@kitware.com&gt;; "migichen@gmail.com" &lt;migichen@gmail.com&gt;; "paraview@paraview.org" &lt;paraview@paraview.org&gt;; "Woodring, Jonathan L" &lt;woodring@lanl.gov&gt; <br> <b><span style="font-weight: bold;">Sent:</span></b> Thursday, July 19, 2012 3:20 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [Paraview] ParaView thinks that it does not have a wind blade reader<br> </font> </div> <br>
Two issues need to be fixed.<br>1) that behavior in 3.14 is there because of this fix which we had to<br>rush in just before the 3.14 release.<br><br>Committer: Utkarsh Ayachit &lt;<a ymailto="mailto:utkarsh.ayachit@kitware.com" href="mailto:utkarsh.ayachit@kitware.com">utkarsh.ayachit@kitware.com</a>&gt;&nbsp; 2012-02-08 17:12:18<br>Parent: e401d569f6e54c49c3497852463f6b13a01da8b6 (Update version after<br>3.14.0-RC1 tag.)<br>Child:&nbsp; 99fdb1aeb5997c29b43393f45a478c4b53a23109 (Merge topic<br>'fix_windblade_segfault')<br>Branches: many (31)<br>Follows: v3.14.0-RC1<br>Precedes: v3.14.0-RC2<br><br>&nbsp; &nbsp; Fix segfault with ParaView built with MPI when opening *.vtr files.<br><br>&nbsp; &nbsp; The problem was that vtkWindBlade reader was getting created to test<br>&nbsp; &nbsp; "CanReadFile" and that would cause segfault unless MPI was initialized.<br><br>&nbsp; &nbsp; Solved the problem by added support to vtkSMReaderFactory to respect
 the<br>&nbsp; &nbsp; ProcessSupport flag on SourceProxy and change windblade reader XML<br>to say that<br>&nbsp; &nbsp; it only works in parallel.<br><br>In other words, Windblade reader's Constructor should not take it upon<br>itself to initialize MPI.<br><br>Once that is fixed, we get to issue 2 before paraview 4.0<br><br>2) VTK's new modularization has the rule that no module can behave<br>differently with parallel (or most other cmake config options) turned<br>configured on or off. This is so because it makes it very hard to<br>package VTK when the libs behave differently in different situations.<br><br>Ie, we can't have any more<br>#ifdef VTK_USE_MPI<br>do something<br>#else<br>do something different<br>#endif<br>in VTK classes.<br><br>Now if we want a class to behave differently when MPI is turned on or<br>off we have to make a serial only version in a non MPI dependent<br>module and a subclass of that in an MPI dependent module.<br><br>David E
 DeMarle<br>Kitware, Inc.<br>R&amp;D Engineer<br>21 Corporate Drive<br>Clifton Park, NY 12065-8662<br>Phone: 518-881-4909<br><br><br>On Thu, Jul 19, 2012 at 3:52 PM, Sohail Shafii &lt;<a ymailto="mailto:sohailshafii@yahoo.com" href="mailto:sohailshafii@yahoo.com">sohailshafii@yahoo.com</a>&gt; wrote:<br>&gt; When running serially, vtkSMReaderFactory::CanReadFile sees that the session<br>&gt; has a single process.&nbsp; As such, on line 660 it realizes that the source<br>&gt; proxy's process support (in this case the source is a vtkWindBladeReader<br>&gt; proxy) is multiple processes, which causes a return of "false" from that<br>&gt; function.&nbsp; This makes ParaView think that the wind blade reader can't read a<br>&gt; .wind file in serial.&nbsp; According to Andy, the reader works find in parallel.<br>&gt;<br>&gt; I assume that a fix for this is pretty trivial? It never did this before in<br>&gt; previous versions of ParaView and I think that the
 wind blade reader code<br>&gt; has remained mostly the same. Andy mentioned some details in person when he<br>&gt; was talking with Jon but at that time I didn't know as much as I do now.<br>&gt; There is a mention below about enabling the filter in serial and parallel --<br>&gt; is this done in a xml file?<br>&gt;<br>&gt; Sohail<br>&gt;<br>&gt; ________________________________<br>&gt; From: David E DeMarle &lt;<a ymailto="mailto:dave.demarle@kitware.com" href="mailto:dave.demarle@kitware.com">dave.demarle@kitware.com</a>&gt;<br>&gt; To: Sohail Shafii &lt;<a ymailto="mailto:sohailshafii@yahoo.com" href="mailto:sohailshafii@yahoo.com">sohailshafii@yahoo.com</a>&gt;<br>&gt; Cc: Andy Bauer &lt;<a ymailto="mailto:andy.bauer@kitware.com" href="mailto:andy.bauer@kitware.com">andy.bauer@kitware.com</a>&gt;; "<a ymailto="mailto:migichen@gmail.com" href="mailto:migichen@gmail.com">migichen@gmail.com</a>"<br>&gt; &lt;<a ymailto="mailto:migichen@gmail.com"
 href="mailto:migichen@gmail.com">migichen@gmail.com</a>&gt;; "<a ymailto="mailto:paraview@paraview.org" href="mailto:paraview@paraview.org">paraview@paraview.org</a>" &lt;<a ymailto="mailto:paraview@paraview.org" href="mailto:paraview@paraview.org">paraview@paraview.org</a>&gt;;<br>&gt; "Woodring, Jonathan L" &lt;<a ymailto="mailto:woodring@lanl.gov" href="mailto:woodring@lanl.gov">woodring@lanl.gov</a>&gt;<br>&gt; Sent: Tuesday, July 17, 2012 7:00 PM<br>&gt;<br>&gt; Subject: Re: [Paraview] ParaView thinks that it does not have a wind blade<br>&gt; reader<br>&gt;<br>&gt; Each file that has an association with that file extension, made via the<br>&gt; XML, has its CanReadFile method called. Put a breakpoint there to determine<br>&gt; if ParaView even knows about that reader.<br>&gt;<br>&gt; On Tuesday, July 17, 2012, Sohail Shafii wrote:<br>&gt;<br>&gt; Sorry, but I meant to ask a different question.&nbsp; Here's what Andy said<br>&gt; before, which
 relates to my concern:<br>&gt; "&gt;<br>&gt;&gt; I went through the code and it jogged my memory about previous problems<br>&gt;&gt; with<br>&gt;&gt; it. It had an explicit MPI call in the constructor that would cause<br>&gt;&gt; problems<br>&gt;&gt; when paraview wasn't getting built with MPI. Any time a user tried to open<br>&gt;&gt; an unknown file it would try to create a windblade reader to see if the<br>&gt;&gt; reader could handle the file and this would cause a crash. If you launch a<br>&gt;&gt; separate pvserver the wind blade reader will be available in the gui."<br>&gt;<br>&gt; What I meant was; which ParaView class "creates" or "tests" a reader to see<br>&gt; if it can handle a file? The test code you specified has a predefined data<br>&gt; set that is loaded in, and I think is more of an example to your average<br>&gt; user. Correct me if I'm wrong.<br>&gt;<br>&gt; So basically ParaView will recognize the file extension, tries to load
 it,<br>&gt; crashes somewhere, then asks you specify the data format from a dialog.&nbsp; I'm<br>&gt; trying to figure out where it crashes so that I can see how that relates to<br>&gt; the wind blade reader class and any MPI calls that are in there.<br>&gt;<br>&gt; Sohail<br>&gt;<br>&gt; Subject: Re: [Paraview] ParaView thinks that it does not have a wind blade<br>&gt; reader<br>&gt;<br>&gt; kargad:ParaView demarle$ find . -name "*WindBlade*" -print<br>&gt; ---&gt; ./VTK/IO/Parallel/Testing/Cxx/TestWindBladeReader.cxx<br>&gt; ./VTK/IO/Parallel/vtkWindBladeReader.cxx<br>&gt; ./VTK/IO/Parallel/vtkWindBladeReader.h<br>&gt;<br>&gt; David E DeMarle<br>&gt; Kitware, Inc.<br>&gt; R&amp;D Engineer<br>&gt; 21 Corporate Drive<br>&gt; Clifton Park, NY 12065-8662<br>&gt; Phone: 518-881-4909<br>&gt;<br>&gt;<br>&gt; On Tue, Jul 17, 2012 at 2:09 PM, Sohail Shafii &lt;<a ymailto="mailto:sohailshafii@yahoo.com"
 href="mailto:sohailshafii@yahoo.com">sohailshafii@yahoo.com</a>&gt;<br>&gt; wrote:<br>&gt;&gt; What is the class that is responsible for testing to reader to see if it<br>&gt;&gt; can<br>&gt;&gt; open the .wind file?<br>&gt;&gt;<br>&gt;&gt; Sohail<br>&gt;&gt;<br>&gt;&gt; ________________________________<br>&gt;&gt; From: Andy Bauer &lt;<a ymailto="mailto:andy.bauer@kitware.com" href="mailto:andy.bauer@kitware.com">andy.bauer@kitware.com</a>&gt;<br>&gt;&gt; To: Sohail Shafii &lt;<a ymailto="mailto:sohailshafii@yahoo.com" href="mailto:sohailshafii@yahoo.com">sohailshafii@yahoo.com</a>&gt;<br>&gt;&gt; Cc: "Woodring, Jonathan L" &lt;<a ymailto="mailto:woodring@lanl.gov" href="mailto:woodring@lanl.gov">woodring@lanl.gov</a>&gt;; Sebastien Jourdain<br>&gt;&gt; &lt;<a ymailto="mailto:sebastien.jourdain@kitware.com" href="mailto:sebastien.jourdain@kitware.com">sebastien.jourdain@kitware.com</a>&gt;; "<a ymailto="mailto:migichen@gmail.com"
 href="mailto:migichen@gmail.com">migichen@gmail.com</a>"<br>&gt;&gt; &lt;<a ymailto="mailto:migichen@gmail.com" href="mailto:migichen@gmail.com">migichen@gmail.com</a>&gt;;<br>&gt;&gt; "<a ymailto="mailto:paraview@paraview.org" href="mailto:paraview@paraview.org">paraview@paraview.org</a>" &lt;<a ymailto="mailto:paraview@paraview.org" href="mailto:paraview@paraview.org">paraview@paraview.org</a>&gt;<br>&gt;&gt; Sent: Wednesday, July 11, 2012 10:53 AM<br>&gt;&gt;<br>&gt;&gt; Subject: Re: [Paraview] ParaView thinks that it does not have a wind blade<br>&gt;&gt; reader<br>&gt;&gt;<br>&gt;&gt; I was reluctant to enable the reader in serial (i.e. not using MPI IO<br>&gt;&gt; which<br>&gt;&gt; I think is getting done by default with the parallel build) because of the<br>&gt;&gt; following warnings that I got:<br>&gt;&gt;<br>&gt;&gt; Warning: In /home/acbauer/CODE/ParaView/<br>&gt;&gt; ParaView/VTK/IO/Parallel/vtkWindBladeReader.cxx, line 942<br>&gt;&gt;
 vtkWindBladeReader (0x3a0c800): WindBladeReader error reading file:<br>&gt;&gt; /home/acbauer/DATA/VTKLargeData/Data/WindBladeReader/test1_topo.wind<br>&gt;&gt; Premature EOF while reading block of data. Expected 896000 but got 0<br>&gt;&gt;<br>&gt;&gt; I just assumed that it was getting bad results so I didn't check the<br>&gt;&gt; serial<br>&gt;&gt; output with the parallel output. In either case the code should be changed<br>&gt;&gt; before enabling it in serial so that it reads the files correctly and<br>&gt;&gt; doesn't produce any warning messages.<br>&gt;&gt;<br>&gt;&gt; Andy<br>&gt;&gt;<br>&gt;&gt; On Wed, Jul 11, 2012 at 12:04 PM, Sohail Shafii &lt;<a ymailto="mailto:sohailshafii@yahoo.com" href="mailto:sohailshafii@yahoo.com">sohailshafii@yahoo.com</a>&gt;<br>&gt;&gt; wrote:<br>&gt;&gt;<br>&gt;&gt; I'm not aware of any option to build/link against mpi-io.&nbsp; This is just a<br>&gt;&gt; standard build with mpi support that suffers from this
 issue.<br>&gt;&gt;<br>&gt;&gt; The ParaView website's builds also have the same bug.<br>&gt;&gt;<br>&gt;&gt; ________________________________<br>&gt;&gt; From: "Woodring, Jonathan L" &lt;<a ymailto="mailto:woodring@lanl.gov" href="mailto:woodring@lanl.gov">woodring@lanl.gov</a>&gt;<br>&gt;&gt; To: Sohail Shafii &lt;<a ymailto="mailto:sohailshafii@yahoo.com" href="mailto:sohailshafii@yahoo.com">sohailshafii@yahoo.com</a>&gt;; Andy Bauer<br>&gt;&gt; &lt;<a ymailto="mailto:andy.bauer@kitware.com" href="mailto:andy.bauer@kitware.com">andy.bauer@kitware.com</a>&gt;; Sebastien Jourdain<br>&gt;&gt; &lt;<a ymailto="mailto:sebastien.jourdain@kitware.com" href="mailto:sebastien.jourdain@kitware.com">sebastien.jourdain@kitware.com</a>&gt;<br>&gt;&gt; Cc: "<a ymailto="mailto:migichen@gmail.com" href="mailto:migichen@gmail.com">migichen@gmail.com</a>" &lt;<a ymailto="mailto:migichen@gmail.com" href="mailto:migichen@gmail.com">migichen@gmail.com</a>&gt;; "<a
 ymailto="mailto:paraview@paraview.org" href="mailto:paraview@paraview.org">paraview@paraview.org</a>"<br>&gt;&gt; &lt;<a ymailto="mailto:paraview@paraview.org" href="mailto:paraview@paraview.org">paraview@paraview.org</a>&gt;<br>&gt;&gt; Sent: Tuesday, July 10, 2012 10:06 AM<br>&gt;&gt;<br>&gt;&gt; Subject: Re: [Paraview] ParaView thinks that it does not have a wind blade<br>&gt;&gt; reader<br>&gt;&gt;<br>&gt;&gt; I added the MPI calls to be in sync with what was being added in the<br>&gt;&gt; simulation.<br>&gt;&gt;<br>&gt;&gt; In the SuperComputing demo last year, we updated both the HiGrad FireTec<br>&gt;&gt; to<br>&gt;&gt; use MPI-IO and likewise ParaView to do the same thing.<br>&gt;&gt;<br>&gt;&gt; It w<br>&gt;<br>&gt;<br>&gt;<br>&gt; --<br>&gt; David E DeMarle<br>&gt; Kitware, Inc.<br>&gt; R&amp;D Engineer<br>&gt; 21 Corporate Drive<br>&gt; Clifton Park, NY 12065-8662<br>&gt; Phone: 518-881-4909<br>&gt;<br>&gt;<br><br><br> </div> </div> 
 </div></body></html>