<div dir="ltr"><div><div><div><div>Thank you for the detailed response, Nathan.  To clarify, this is the YT method paper?  <a href="http://iopscience.iop.org/0067-0049/192/1/9/pdf/0067-0049_192_1_9.pdf">http://iopscience.iop.org/0067-0049/192/1/9/pdf/0067-0049_192_1_9.pdf</a>  <br>
 <br></div>Does the fact that these simulations only contain dark matter affect what you say at all?  <br><br></div>I will probably have more questions in the near future; at the moment, though, I am confused about where in the source code to find certain functions.  For instance, the load function appears to be called after we do:<br>
<br><pre><span class="">from</span> <span class="">yt.mods</span> <span class="">import</span> <span class="">*<br><br></span></pre></div>but when I try this line in the terminal, I get an error that says there is "no module named yt.mods."  Why might this be?  I downloaded and installed the source code from: <a href="http://hg.yt-project.org/yt/raw/yt-3.0/doc/install_script.sh">http://hg.yt-project.org/yt/raw/yt-3.0/doc/install_script.sh</a>   but I cannot find yt.mods or yt/frontends.  Where would those be?  Is there further software I may need to install?  Thanks again,<br>
<br></div>Andrew Weis<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Feb 24, 2014 at 4:58 PM, Nathan Goldbaum <span dir="ltr"><<a href="mailto:nathan12343@gmail.com" target="_blank">nathan12343@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Andrew,<br>
<br>
Thanks for writing.  I'm responding since I've had some experience<br>
working with yt's SPH frontends.  Matt and others might have more<br>
information as well.<br>
<br>
Support for Gadget data is still not finished.  In the yt-3.0 branch<br>
of the development repository, you'll should be able to load the data<br>
and do some basic visualization and analysis tasks.  The data is<br>
available both in its raw form as particles and also by depositing the<br>
particle data onto an octree and then visualization and analyzing the<br>
octree. The first notebook you linked to describes the basic of<br>
loading, visualizating, and analyzing SPH data.<br>
<br>
If you want to work with a more stable codebase (although one that is<br>
not being actively developed) you should be able to do many analysis<br>
and viz tasks using the yt-3.0 branch of the main development<br>
repository: <a href="https://bitbucket.org/yt_analysis/yt" target="_blank">https://bitbucket.org/yt_analysis/yt</a><br>
<br>
The 3.0 branch was a big refactoring of the underlying data selection<br>
algorithms yt uses to load data off disk.  This made it possible to<br>
present the same user interface for visualizing datasets from particle<br>
codes like Gadget, octree AMR codes like Ramses, and patch-based AMR<br>
codes like Enzo.<br>
<br>
Support for SPH smoothing is available in a separate repository.  In<br>
this experimental development repository we've refactored the code to<br>
use a symbolic units library to handle unit conversions and detect<br>
code bugs using dimensional analysis.  We've also completely<br>
refactored the way frontends are written and fields are set up and<br>
detected.<br>
<br>
If you want to dive in to the code, I'd suggest starting with the<br>
experimental version of yt.  This may be a bit more rocky at first -<br>
there might be bugs - but will be more rewarding in the end as this is<br>
the direction the codebase is going.  The work is ongoing in the<br>
yt-3.0 branch on Matt Turk's fork of yt:<br>
<a href="https://bitbucket.org/MatthewTurk/yt" target="_blank">https://bitbucket.org/MatthewTurk/yt</a><br>
<br>
In both cases there is unfortunately not a lot of documentation at the<br>
moment.  This is something that we're working on right now.  Mailing<br>
list archives as well as the YTEP listing<br>
(<a href="http://ytep.readthedocs.org/" target="_blank">http://ytep.readthedocs.org/</a>) might prove to be useful.<br>
<br>
As for your questions about yt internals, I've written some basic<br>
description below.  I would also encourage you to read the yt method<br>
paper and to take a look YTEP-0001 and YTEP-0005, which describe the<br>
new geometry system.<br>
<br>
The basic data structure yt uses to represent an on-disk dataset is<br>
the StaticOutput class.  The SPH frontend defines a GadgetStaticOutput<br>
class as well as a GadgetHDF5StaticOutput subclass to represent HDF5<br>
Gadget datasets.  You can create a new StaticOutput instance using the<br>
'load' function or by directly instantiating an instance of a<br>
StaticOutput subclass defined in one of the frontends.  You'll need to<br>
look at the parameters of the __init__ method to figure out exactly<br>
how to load the data. For Gadget, the 'load' convenience function only<br>
works with HDF5 datasets, so if you are have data written in Gadget's<br>
binary format, you'll need to load your data by calling<br>
GadgetStaticOutput directly.<br>
<br>
StaticOutput instances have as an attribute an instance of<br>
GeometryHandler.  This class handles the indexing and selection of<br>
data.  This is really the heart of yt's hard-core numerics, and is<br>
written in a way that is very accessible at a high level.  If you want<br>
to dive into the algorithms, I think it would help to look over the<br>
GeometryHandler class as well as its subclass the<br>
ParticleGeometryHandler.  That said, yt's interface is more or less<br>
agnostic to the underlying algorithm used to index the data.<br>
<br>
Do you have specific questions about how to load and visualize your datasets?<br>
<br>
Hope that's helpful and not too much of a manifesto :)<br>
<br>
-Nathan<br>
_______________________________________________<br>
yt-users mailing list<br>
<a href="mailto:yt-users@lists.spacepope.org">yt-users@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
</blockquote></div><br></div>