Hi everyone,
Stephen Skory has added the Friends-of-friends halo finder to the yt
trunk (not yt-1.0) and we've now enabled it as a possibility for
finding halos in a simulation. Because there are now two mechanisms
for finding halos, we've also changed the API a little bit and made
the halo finders available through yt.mods. So to run the HOP halo
finder you would do the following:
from yt.mods import *
pf = load("data0001")
halo_list = HaloFinder(pf)
and to run FOF you have to call it slightly differently:
from yt.mods import *
pf = load("data0001")
halo_list = FOFHaloFinder(pf)
To get FOF to compile, you'll have to rerun "python setup.py develop"
or "python setup.py install" depending on how yt was installed
initially. (The install_script does the former, but most
hand-installs do the latter.) With this new API, both halo finders
run in parallel. I'll save any discussion of that for Stephen,
however, as there are some caveats to running HOP in parallel.
Additionally, as of right now they dont scale as well as we'd like --
but we're working on it.
Additionally, as a result of this change we have intentionally broken
compatibility by removing the import of the 'hop' module in
yt/mods.py. Hopefully this has not caused too many problems; all of
the old, largely duplicated-in-multiple-places classes and interfaces
have now been consolidated and placed in yt/lagos/HaloFinding.py.
Thanks to Stephen for his hard work adding in FOF and working with the
parallel interface!
Best wishes, and let us know if there are any problems,
Matt

Hi,
I am currently running into an issue when I try to carry out parallel
projections with particle overlay. Also long as I don't use too many
processors things run just fine but the projections only have some of
the particles.
Here is an example of the commands in my script:
plotx = pc.add_projection("Density", 0, weight_field="Dust")
plotx.add_callback(ParticleCallback(0, 1.0, p_size=1.0, col='k'))
ploty = pc.add_projection("Density", 1, weight_field="Dust")
ploty.add_callback(ParticleCallback(1, 1.0, p_size=1.0, col='k'))
plotz = pc.add_projection("Density", 2, weight_field="Dust")
plotz.add_callback(ParticleCallback(2, 1.0, p_size=1.0, col='k'))
In addition, if I use too many processors and the one of the
processors doesn't have any particles, I get the following error:
Particle bounding box: 0.0 1.0 0.0 1.0 1.5 2.5
Traceback (most recent call last):
Particle px extrema
File "longbox.py", line 13, in <module>
pc.save("DD%4.4d/DD%4.4d" % (i,i))
File "/home/solo/student/brittons/local/x86_64/lib/python2.5/site-packages/yt/raven/PlotCollection.py",
line 80, in save
override=override))
File "/home/solo/student/brittons/local/x86_64/lib/python2.5/site-packages/yt/raven/PlotTypes.py",
line 110, in save_image
self._redraw_image()
File "/home/solo/student/brittons/local/x86_64/lib/python2.5/site-packages/yt/raven/PlotTypes.py",
line 312, in _redraw_image
self._run_callbacks()
File "/home/solo/student/brittons/local/x86_64/lib/python2.5/site-packages/yt/raven/PlotTypes.py",
line 183, in _run_callbacks
cb(self)
File "/home/solo/student/brittons/local/x86_64/lib/python2.5/site-packages/yt/raven/Callbacks.py",
line 177, in __call__
print "Particle px extrema", particles_x.min(), particles_x.max(), \
ValueError: zero-size array to ufunc.reduce without identity
Any help with this would be appreciated.
Thanks,
Devin
--
Devin W. Silvia
Graduate Student/Research Assistant
Center for Astrophysics and Space Astronomy
University of Colorado at Boulder
http://mdbworks.net/devin

Hi, all--
Has anyone seen this error, and do you have a way to get around it
without re-launching yt?
<error>
plt.clf()
File "/nics/b/home/collins/local_xt5/lib/python2.6/site-packages/matplotlib/pyplot.py",
line 336, in clf
gcf().clf()
File "/nics/b/home/collins/local_xt5/lib/python2.6/site-packages/matplotlib/pyplot.py",
line 273, in gcf
return figure()
File "/nics/b/home/collins/local_xt5/lib/python2.6/site-packages/matplotlib/pyplot.py",
line 251, in figure
**kwargs)
File "/nics/b/home/collins/local_xt5/lib/python2.6/site-packages/matplotlib/backends/backend_tkagg.py",
line 90, in new_figure_manager
window = Tk.Tk()
File "/nics/b/home/collins/local_xt5//lib/python2.6/lib-tk/Tkinter.py",
line 1643, in __init__
self.tk = _tkinter.create(screenName, baseName, className,
interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable
</error>
I'm running yt on kraken xt5 through a screen session that I have
re-started after logging out and logging back in. This has not
happened on other machines I've done this one. I tried
setenv DISPLAY 666.666.6.6:0
(with the ip of the beast replaced with something real) but it didn't work.
Thanks,
d.