[yt-svn] commit/yt-doc: Christopher Moody: Including changes to Rockstar halo findins docs.

Bitbucket commits-noreply at bitbucket.org
Fri Jul 13 12:21:51 PDT 2012


1 new commit in yt-doc:


https://bitbucket.org/yt_analysis/yt-doc/changeset/f2bbe043376d/
changeset:   f2bbe043376d
user:        Christopher Moody
date:        2012-07-13 21:08:25
summary:     Including changes to Rockstar halo findins docs.
affected #:  1 file

diff -r 6584111f7558c58ff6cc3cb773f332a08eca3904 -r f2bbe043376d6588f97dc1662e411155d09180fe source/analysis_modules/running_halofinder.rst
--- a/source/analysis_modules/running_halofinder.rst
+++ b/source/analysis_modules/running_halofinder.rst
@@ -4,13 +4,14 @@
 ============
 .. sectionauthor:: Stephen Skory <sskory at physics.ucsd.edu>
 
-There are three methods of finding particle haloes in yt. The recommended and default method is called HOP, a 
+There are four methods of finding particle haloes in yt. The recommended and default method is called HOP, a 
 method described in `Eisenstein and Hut (1998) <http://adsabs.harvard.edu/abs/1998ApJ...498..137E>`_. 
 A basic friends-of-friends (e.g. `Efstathiou et al. (1985) <http://adsabs.harvard.edu/abs/1985ApJS...57..241E>`_)
 halo finder is also implemented.
-Finally, Parallel HOP (` Skory et al. (2010) <http://adsabs.harvard.edu/abs/2010ApJS..191...43S>`_)
+Parallel HOP (` Skory et al. (2010) <http://adsabs.harvard.edu/abs/2010ApJS..191...43S>`_)
 is a true parallelization of the HOP method can analyze massive datasets on
 hundreds of processors.
+Finally Rockstar is a 6D-phase space halo finder developed by Peter Behroozi that excels in finding subhalos and substrcture, but does not allow multiple particle masses.
 
 HOP
 ---
@@ -449,3 +450,108 @@
   halos.write_out("sv.out")
 
 
+Rockstar Halo Finding
+============
+.. sectionauthor:: Matthew Turk <matthewturk at gmail.com>
+.. sectionauthor:: Christopher Erick Moody<cemoody at ucsc.edu>
+
+Rockstar uses an adaptive hierarchical refinement of friends-of-friends 
+groups in six phase-space dimensions and one time dimension, which 
+allows for robust (grid-independent, shape-independent, and noise-
+resilient) tracking of substructure. The code is prepackaged with yt, 
+but separetely available <http://code.google.com/p/rockstar>. The lead 
+developer is Peter Behroozi, and the methods are described in `Behroozi
+et al. 2011 <http://rockstar.googlecode.com/files/rockstar_ap101911.pdf>.` 
+
+.. note:: At the moment, Rockstar does not support multiple particle masses, 
+  instead using a fixed particle mass. This will not affect most dark matter 
+  simulations, but does make it less useful for finding halos from the stellar
+  mass.
+
+To run the Rockstar Halo finding, you must launch python with MPI and 
+parallelization enabled. While Rockstar itself does not require MPI to run, 
+the MPI libraries allow yt to distribute particle information across multiple 
+nodes.
+
+.. code-block:: bash
+  mpirun -n3 yt test_rockstar.py --parallel
+
+Designing the python script itself is straightforward:
+
+.. code-block:: python
+
+  from mpi4py import MPI
+  from yt.mods import *
+  from yt.analysis_modules.halo_finding.rockstar.api import RockstarHaloFinder
+
+  #find all of our simulation files
+  files = glob.glob("Enzo_64/DD*/\*hierarchy")
+  #hopefully the file name order is chronological
+  files.sort() 
+  ts = TimeSeriesData.from_filenames(files[:4])
+  #this is the particle mass in Msun
+  pm = 7.81769027e+11
+  rh = RockstarHaloFinder(ts, particle_mass=pm)
+  rh.run()
+  print 'script finished'
+
+The script above configures the Halo finder, launches a server process which 
+disseminates run information and coordinates writer-reader processes. 
+Afterwards, it launches reader and writer tasks, filling the available MPI 
+slots, which alternately read particle information and analyze for halo 
+content.
+
+The RockstarHaloFinder class has these options:
+  * ``particle_mass``, the fixed mass of the particles. 
+                       Cannot vary between particles.
+  * ``dm_type``, the index of the dark matter particle. Default is 1. 
+  * ``outbase``, the Rockstar output data directory. 
+                 Default is str(pf)+'_rockstar'
+  * ``num_readers``, the number of reader tasks (which are idle most of the 
+                 time.) Default is 1.
+  * ``num_writers``, the number of writer tasks (which are fed particles and
+                do most of the analysis). Default is MPI_TASKS-num_readers-1. 
+                If left undefined, the above options are automatically 
+                configured from the number of available MPI tasks. 
+
+Output Analysis
+^^^^^^^^^^^^^^^
+
+Rockstar dumps halo information in a series of text (halo*list and 
+out*list) and binary (halo*bin) files inside the ``outbase`` directory. 
+We use the halo list classes to recover the information. 
+
+The halo list can be automatically generated from the RockstarHaloFinder 
+object by calling ``RockstarHaloFinder.halo_list()``. Alternatively, the halo
+lists can be built from the RockstarHaloList class directly 
+``RockstarHaloList(pf,''outbase/out_0.list')``.
+
+.. code-block:: python
+    rh = RockstarHaloFinder(pf)
+    #First method of creating the halo lists:
+    halo_list = rh.halo_list()    
+    #Alternate method of creatin halo_list:
+    halo_list = RockstarHaloList(pf,str(pf)+'_rockstar/out_0.list')
+    most_massive_com = None
+    most_massive_mass = 0
+    for h in halo_list:
+        if h.Mvir > massive_mass:
+            most_massive_mass = h.Mvir
+            most_massive_com = h.CoM
+
+Installation
+^^^^^^^^^^^^
+
+The Rockstar is slightly patched and modified to run as a library inside of 
+yt. The repository for this project is located here 
+<https://bitbucket.org/MatthewTurk/rockstar>. The yt installation allows the 
+option to install and configure Rockstar appropriately, see :ref:`installing-yt`. 
+
+If installed separately follow these steps:
+  * ``make lib``, inside the Rockstar directory to create librockstar.so. You
+    must set the ROCKSTAR_DIR and LD_LIBRARY_PATH so that yt knows where 
+    librockstar.so is.
+  * Run ``python setup.py build_ext -i``, to rebuild the yt source including
+    the Cython references to Rockstar
+
+

Repository URL: https://bitbucket.org/yt_analysis/yt-doc/

--

This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.



More information about the yt-svn mailing list