HI Matt<div><br></div><div>Looks nice.</div><div>In the &#39;stream&#39; frontends, when the stream.StreamHandler(...) is create, one parameter is the parent_ids right? It&#39;s really mandatory to send it?</div><div>because the vtkHierarchicalBoxDataSet doesn&#39;t save this information, but we can compute the parent/child relations. </div>
<div><br></div><div>Regards,<br><br><div class="gmail_quote">On Fri, Jun 10, 2011 at 2:19 PM, Matthew Turk <span dir="ltr">&lt;<a href="mailto:matthewturk@gmail.com">matthewturk@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi Jorge,<br>
<br>
I thought this might be of interest to you; I&#39;ve started keeping track<br>
of how to interface with external codes such as ParaView here:<br>
<br>
<a href="http://hg.enzotools.org/yt/wiki/InterfacingWithYT" target="_blank">http://hg.enzotools.org/yt/wiki/InterfacingWithYT</a><br>
<br>
I&#39;ll be updating this as need be with information about the in-memory<br>
datasets and so on.<br>
<br>
Best,<br>
<br>
Matt<br>
<div><div></div><div class="h5"><br>
On Fri, May 27, 2011 at 2:08 PM, Matthew Turk &lt;<a href="mailto:matthewturk@gmail.com">matthewturk@gmail.com</a>&gt; wrote:<br>
&gt; Hi all,<br>
&gt;<br>
&gt; I&#39;ve created a new data frontend in yt entitled &quot;Stream&quot; (the name is<br>
&gt; up for discussion, if someone has a better idea -- Charles pointed out<br>
&gt; today that it might get confused with time series data.)  The idea<br>
&gt; behind this is that the user can use it to construct an arbitrary<br>
&gt; dataset in memory.  I&#39;ve tested this by proxying an existing Enzo<br>
&gt; dataset:<br>
&gt;<br>
&gt; <a href="http://matthewturk.bitbucket.org/html/ba3fd37b-842c-4641-b21e-2d3f5268eefe-stream_proxy-py.html" target="_blank">http://matthewturk.bitbucket.org/html/ba3fd37b-842c-4641-b21e-2d3f5268eefe-stream_proxy-py.html</a><br>

&gt;<br>
&gt; (downloadable at the top level domain, or by &quot;yt_lodgeit.py<br>
&gt; --download=1672 if you have a yt stack installed.)<br>
&gt;<br>
&gt; You have to construct both a StreamHandler that knows how to pass<br>
&gt; around the grid geometry and which, although not instantiated with<br>
&gt; them, requires certain attributes to be set.  In addition, a fields<br>
&gt; handler has to be created.  This script executes to completion and<br>
&gt; passes its tests; projecting and slicing require slightly more effort,<br>
&gt; because I wanted to pose to the Kitware group how the data should be<br>
&gt; evaluated in terms of units -- should it be assumed to have CGS units<br>
&gt; already?  How should the domain size be handled -- in yt right now<br>
&gt; units are distinct from the code definitions, but I don&#39;t know how<br>
&gt; Paraview handles this distinction.  (If you want to try setting up a<br>
&gt; PlotCollection, you can, but you will have to set spf.units[&quot;cm&quot;] =<br>
&gt; spf.units[&quot;unitary&quot;] = 1.0).<br>
&gt;<br>
&gt; Hopefully this can be a start, and we can continue to iterate on the<br>
&gt; API necessary to load data in yt from that already loaded in Paraview.<br>
&gt;  This is in the tip of the development yt repository, 6d4a5588a550.<br>
&gt;<br>
&gt; Best,<br>
&gt;<br>
&gt; Matt<br>
&gt;<br>
&gt; On Thu, May 26, 2011 at 3:54 PM, Jorge Poco &lt;<a href="mailto:jorge.poco@kitware.com">jorge.poco@kitware.com</a>&gt; wrote:<br>
&gt;&gt; In the  meantime I will be working to import yt&#39;s data structures inside<br>
&gt;&gt; vtkHierarchicalBoxDataset using ProgrammableSources inside Python.<br>
&gt;&gt; Regards,<br>
&gt;&gt;<br>
&gt;&gt; On Thu, May 26, 2011 at 3:43 PM, Jorge Poco &lt;<a href="mailto:jorge.poco@kitware.com">jorge.poco@kitware.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Hi<br>
&gt;&gt;&gt; YT has some function to access the arrays data in numpy.array objects (<br>
&gt;&gt;&gt; pf.h.grids[0][&#39;Density&#39;]), using them  we can instantiate a<br>
&gt;&gt;&gt; vtkHierarchicalDataset to be process into paraview.<br>
&gt;&gt;&gt; On Thu, May 26, 2011 at 2:53 PM, Berk Geveci &lt;<a href="mailto:berk.geveci@kitware.com">berk.geveci@kitware.com</a>&gt;<br>
&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Awesome.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; What about from the other side? If we wanted to pass data structures<br>
&gt;&gt;&gt;&gt; that yt loaded (from an Enzo file for example) to VTK/ParaView for<br>
&gt;&gt;&gt;&gt; filtering/rendering?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; -berk<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On Thu, May 26, 2011 at 2:04 PM, Matthew Turk &lt;<a href="mailto:matthewturk@gmail.com">matthewturk@gmail.com</a>&gt;<br>
&gt;&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt; &gt; Hi Berk and Jorge,<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; Okay, this makes sense.<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; I will write up a new code frontend for yt that will act as a<br>
&gt;&gt;&gt;&gt; &gt; generalized system; this will draw upon the current in situ Enzo<br>
&gt;&gt;&gt;&gt; &gt; frontend, and will be designed to be instantiated with a list of<br>
&gt;&gt;&gt;&gt; &gt; arrays and a set of callback functions.  We can them implement the<br>
&gt;&gt;&gt;&gt; &gt; paraview-specific code inside this, or perhaps inside a<br>
&gt;&gt;&gt;&gt; &gt; ProgrammableFilter inside paraview itself.  I&#39;ll ping the list back<br>
&gt;&gt;&gt;&gt; &gt; when I have something up and running.<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; Best,<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; Matt<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; On Thu, May 26, 2011 at 9:15 AM, Berk Geveci &lt;<a href="mailto:berk.geveci@kitware.com">berk.geveci@kitware.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt; wrote:<br>
&gt;&gt;&gt;&gt; &gt;&gt; In VTK, an AMR mesh is represented as a collection of vtkUniformGrid<br>
&gt;&gt;&gt;&gt; &gt;&gt; objects. Each vtkUniformGrid has a set of Fortran-ordered data arrays<br>
&gt;&gt;&gt;&gt; &gt;&gt; that represent the variables. One exception is how vectors are stored.<br>
&gt;&gt;&gt;&gt; &gt;&gt; They are stored in hybrid Fortran - C ordering, i.e. vector component<br>
&gt;&gt;&gt;&gt; &gt;&gt; increases fastest then i, then j, then k. It is straightforward to<br>
&gt;&gt;&gt;&gt; &gt;&gt; pass these to Python and back using NumPy arrays or buffer objects at<br>
&gt;&gt;&gt;&gt; &gt;&gt; the lowest level. So we can write Python code to bundle these arrays<br>
&gt;&gt;&gt;&gt; &gt;&gt; into any form that yt (and Enzo when we start doing in-situ) wants. We<br>
&gt;&gt;&gt;&gt; &gt;&gt; may have to deep-copy the vectors because of the issue I described.<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; On Wed, May 25, 2011 at 7:59 PM, Matthew Turk &lt;<a href="mailto:matthewturk@gmail.com">matthewturk@gmail.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; Hi Jorge,<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; This is really cool!<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; I&#39;ve been thinking about how to invert this process, and I think we<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; could address it by creating a new hierarchy of objects, similar to<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; the EnzoStaticOutputInMemory family of objects, that enables a<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; bi-directional transfer of information.  All that&#39;s really necessary<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; to get data in is to describe the mesh, describe the parameters of<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; simulation, and then communicate to yt how to access data.<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; What do you think the best mechanism for passing data back and forth<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; is?  For in situ viz with Enzo, usually we do this by constructing a<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; new module object in the C code, and then insert into that a set of<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; arrays describing the mesh and a dictionary of dictionaries of<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; fields,<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; with keys that correspond to grid id and field name.  But really, it<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; could be any system, and I&#39;m happy to work on constructing the<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; methods<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; to set this up.<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; Best,<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; Matt<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; On Wed, May 25, 2011 at 5:54 PM, Jorge Poco &lt;<a href="mailto:jorge.poco@kitware.com">jorge.poco@kitware.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; Hi Matthew and Berk<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; the full stack is here <a href="http://paste.enzotools.org/show/1668/" target="_blank">http://paste.enzotools.org/show/1668/</a> I&#39;m<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; trying to<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; compile paraview with the VTK_USE_SYSTEM_HDF5 but It&#39;s giving me<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; some<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; errors, I will try again tomorrow.<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; Matthew: Right now, I have written a &#39;programmable source&#39; script to<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; read a<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; file from the system using the yt function &#39;load&#39;. Then, create a<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; projection<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; using yt and then the ProjectionPlot object is converted into a<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; vtkImageData<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; to be displayed into paraview.<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; What I want to do now, is to read a Dataset using paraview, then<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; create a<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; &#39;programmable filter&#39; script to convert the data set into  yt&#39;s data<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; structure to create a visualization and finally display the image<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; inside<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; paraview. What would be the correct way to create yt objects<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; (EnzoHierarchy<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; and EnzoGrid)?<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; Berk: I was trying to find a way to get access to camera information<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; from<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; the &#39;programmable filter&#39; to send this information to yt  but I<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; didn&#39;t found<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; anything useful. Is it possible?<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; Regards,<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; On Wed, May 25, 2011 at 3:10 PM, Berk Geveci<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; &lt;<a href="mailto:berk.geveci@kitware.com">berk.geveci@kitware.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; If I understood what Matt is saying, the problem may be fixed by<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; having ParaView use an external HDF5, the one that yt uses. I<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; believe<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; that the variable is something like PARAVIEW_USE_SYSTEM_HDF5 (or<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; VTK_,<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; not sure) in CMake.<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; On Wed, May 25, 2011 at 10:49 AM, Matthew Turk<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &lt;<a href="mailto:matthewturk@gmail.com">matthewturk@gmail.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; Hi Jorge,<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; Wow, I didn&#39;t know that YT-embedding had taken off quite so much!<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; This is great news.<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; On Wed, May 25, 2011 at 9:48 AM, Jorge Poco<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; &lt;<a href="mailto:jorge.poco@kitware.com">jorge.poco@kitware.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; wrote:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; Hi<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; sorry my last email was sent incomplete<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; I have been trying to use YT inside the Paraview&#39;s python shell.<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; Initially I<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; have had some problems which are now identified. It is not the<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; best<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; solution but I at least solve temporally these problems:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; argv problem:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; Sentence: &#39;from yt.mods import *&#39;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; Error: for any reason paraview&#39;s python shell has not defined<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; the<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; variable<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; &#39;sys.argv&#39;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; Temporal solution: comment yt code where the sys.argv variable<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; is used:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; yt/funcs.py: lines 439-453<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; yt/utilities/parallel_tools/parallel_analysis_interface.py:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; lines 47<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; and 48<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; We can likely get around this on the yt side, although when<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; embedding<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; yt in Enzo we&#39;ve escaped this by using the command<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; PySys_SetArgv(argc,<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; argv) immediately after calling Py_Initialize.  Does Partiview<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; report<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; a different executable name, by any chance?  If so we can use<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; that as<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; a signal to avoid requesting argv.<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; :<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; Sentence: &quot;pf = load(&#39;tests/DD0010/moving7_0010&#39;)&quot;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; Error: python shell does not complete the load function and<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; paraview<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; keeps<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; waiting.<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; Temporal solution: When I debug paraview and interrupt its<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; execution<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; the<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; backtrace shows sem_wait(). It happens inside the load function<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; when<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; tries<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; to identify the candidates for input file (convenience.py line<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; 74).<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; There<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; are 11 possible candidates and gives error for 2 of them:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; ChomboStaticOutput<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; and FlashStaticOutput. Skipping those candidates solve<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; temporally the<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; problem: (yt/convenienve.py line 75) inside the loop add if n ==<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; &#39;ChomboStaticOutput&#39; or n == &#39;FlashStaticOutput&#39;: continue;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; This is interesting.  What those two routines have in common is<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; that<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; they are the only two that try opening the file using h5py.  HDF5<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; has<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; a number of error handling routines, which in the past I&#39;ve seen<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; issues with when embedding one app in another -- h5py for<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; instance<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; handles error handling, but that can conflict with other<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; mechanisms<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; that are attempting to handle those errors.<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; Another solution that would avoid digging into the source code<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; would<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; be to remove the types from the actual type registry:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; from yt.convenience import output_type_registry<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; del output_type_registry[&quot;ChomboStaticOutput&quot;]<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; del output_type_registry[&quot;FlashStaticOutput&quot;]<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; I&#39;m more interested in figuring out how to fix the interplay<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; between<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; hdf5-paraview and h5py, though.  Do you happen to have a full<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; stack<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; trace?<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; Thanks very much for these reports -- this is very exciting, and<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; I&#39;m<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; eager to help out!<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; Best,<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; Matt<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; Any of you have a better way to solve the problems above?<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; Regards,<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; On Wed, May 25, 2011 at 9:43 AM, Jorge Poco<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; &lt;<a href="mailto:jorge.poco@kitware.com">jorge.poco@kitware.com</a>&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; Hi<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; I have been trying to use YT inside the Paraview&#39;s python<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; shell.<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; Initially<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; I have had some problems which are now identified. It is not<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; smart solution but I at least solve temporally these problems:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; argv problem:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; Sentence: &#39;from yt.mods import *&#39;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; Error: for any reason paraview&#39;s python shell has not defined<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; variable<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; &#39;sys.argv&#39;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; Temporal solution: comment yt code where the sys.argv variable<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; is<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; used:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; yt/funcs.py: lines 439-453<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; yt/utilities/parallel_tools/parallel_analysis_interface.py:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; lines 47<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; and<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; 48<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; pa:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; Sentence: &quot;pf = load(&#39;tests/DD0010/moving7_0010&#39;)&quot;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; Error: python shell does not complete the load function and<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; paraview<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; keeps<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; waiting.<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; Temporal solution: When I debug paraview and interrupt its<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; execution<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; backtrace shows sem_wait(). It happens inside the load function<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; when<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; tries<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; to identify the candidates for input file (convenience.py line<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; 74).<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; There<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; are 11 possible candidates and gives error for 2 of them:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; ChomboStaticOutput<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; and FlashStaticOutput. Skipping those candidates solve<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; temporally the<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; problem:<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; Amr mailing list<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; <a href="mailto:Amr@public.kitware.com">Amr@public.kitware.com</a><br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt; <a href="http://public.kitware.com/cgi-bin/mailman/listinfo/amr" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/amr</a><br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; Amr mailing list<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; <a href="mailto:Amr@public.kitware.com">Amr@public.kitware.com</a><br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt; <a href="http://public.kitware.com/cgi-bin/mailman/listinfo/amr" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/amr</a><br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; Amr mailing list<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; <a href="mailto:Amr@public.kitware.com">Amr@public.kitware.com</a><br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;&gt; <a href="http://public.kitware.com/cgi-bin/mailman/listinfo/amr" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/amr</a><br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; Amr mailing list<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; <a href="mailto:Amr@public.kitware.com">Amr@public.kitware.com</a><br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; <a href="http://public.kitware.com/cgi-bin/mailman/listinfo/amr" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/amr</a><br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; Amr mailing list<br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; <a href="mailto:Amr@public.kitware.com">Amr@public.kitware.com</a><br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt; <a href="http://public.kitware.com/cgi-bin/mailman/listinfo/amr" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/amr</a><br>
&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; &gt; Amr mailing list<br>
&gt;&gt;&gt;&gt; &gt; <a href="mailto:Amr@public.kitware.com">Amr@public.kitware.com</a><br>
&gt;&gt;&gt;&gt; &gt; <a href="http://public.kitware.com/cgi-bin/mailman/listinfo/amr" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/amr</a><br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; Amr mailing list<br>
&gt;&gt;&gt;&gt; <a href="mailto:Amr@public.kitware.com">Amr@public.kitware.com</a><br>
&gt;&gt;&gt;&gt; <a href="http://public.kitware.com/cgi-bin/mailman/listinfo/amr" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/amr</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
_______________________________________________<br>
Amr mailing list<br>
<a href="mailto:Amr@public.kitware.com">Amr@public.kitware.com</a><br>
<a href="http://public.kitware.com/cgi-bin/mailman/listinfo/amr" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/amr</a><br>
</div></div></blockquote></div><br></div>