Problems using Rockstar in yt
Hi Britton, all, That took care of my issues, now it’s run successfully. Just one more question: as I’m using RAMSES I create a DatasetSeries using: es = yt.load('../output_*/info_*.txt’) rh = RockstarHaloFinder(es, num_readers=1, num_writers=2) Is there a way for me to add a dark matter only filter as done here for an enzo dataset: # create a particle filter to remove star particles @yt.particle_filter("dark_matter", requires=["creation_time"]) def _dm_filter(pfilter, data): return data["creation_time"] < 0.0 def setup_ds(ds): ds.add_particle_filter("dark_matter”) es = yt.simulation("enzo_tiny_cosmology/32Mpc_32.enzo", "Enzo") es.get_time_series(setup_function=setup_ds, redshift_data=False) rh = RockstarHaloFinder(es, num_readers=1, num_writers=2, particle_type="dark_matter") I’ve looked at the docs on particle filtering but I can’t add filters to the DatasetSeries object I have. Many thanks for the help so far! David On 12 Aug 2014, at 12:44, yt-users-request@lists.spacepope.org wrote:
Hi Cameron, David,
Cameron, you are correct, on Mac systems you need to set DYLD_LIBRARY_PATH instead of LD_LIBRARY_PATH. The fact that this causes vi and other things to fail is apparently an OS X bug (I found some discussions of it on the internet) and has nothing to do with yt. I went through a similar thing and had to resort to having a separate terminal for running rockstar that I didn't try to do anything else in. For what it's worth, this behavior seems to have been fixed. I am on OS X 10.8.5 and no longer have the issue of things crashing in a terminal where I have edited DYLD_LIBRARY_PATH.
On the second issue that you both reported, the problem is the way in which one tells yt to run in parallel depends on how you import yt.
If you do "from yt.mods import *", the parallelism is enabled by adding the --parallel flag on the command line. However, if you do "import yt", then parallelism is enabled by doing "yt.enable_parallelism()" directly below the import statement within your script.
I looked at the latest documentation on parallelism ( http://yt-project.org/doc/analyzing/parallel_computation.html) and is discusses the use of yt.enable_parallelism(), but not the old way that works with "from yt.mods import *". There should probably be a short discussion added of how this has changed. Additionally, let's make sure that the yt-rockstar docs get any needed additions there as well.
Britton
Hi David, I am not familiar with how particles are distinguished in RAMSES, so I couldn't tell you exactly the criteria you could use for filtering. However, if you are asking specifically about how you add a filter to a DatasetSeries object, then the key is the setup_function in the above example. You can create a function that accepts a Dataset object, and then does whatever you want with it. Above, this is the "setup_ds" function, which is applying the dark matter filter. You can pass this function during the creation of a DatasetSeries object through the "setup_function" keyword. The above example uses a slight variant on the DatasetSeries object that currently doesn't work for RAMSES, but you can use the regular one: timeseries = DatasetSeries(..., setup_function=setup_ds) Britton On Tue, Aug 12, 2014 at 10:53 PM, David Sullivan <D.Sullivan@sussex.ac.uk> wrote:
Hi Britton, all,
That took care of my issues, now it’s run successfully. Just one more question: as I’m using RAMSES I create a DatasetSeries using:
es = yt.load('../output_*/info_*.txt’) rh = RockstarHaloFinder(es, num_readers=1, num_writers=2)
Is there a way for me to add a dark matter only filter as done here for an enzo dataset:
# create a particle filter to remove star particles @yt.particle_filter("dark_matter", requires=["creation_time"]) def _dm_filter(pfilter, data): return data["creation_time"] < 0.0
def setup_ds(ds): ds.add_particle_filter("dark_matter”)
es = yt.simulation("enzo_tiny_cosmology/32Mpc_32.enzo", "Enzo") es.get_time_series(setup_function=setup_ds, redshift_data=False)
rh = RockstarHaloFinder(es, num_readers=1, num_writers=2, particle_type="dark_matter")
I’ve looked at the docs on particle filtering but I can’t add filters to the DatasetSeries object I have.
Many thanks for the help so far! David
On 12 Aug 2014, at 12:44, yt-users-request@lists.spacepope.org wrote:
Hi Cameron, David,
Cameron, you are correct, on Mac systems you need to set DYLD_LIBRARY_PATH instead of LD_LIBRARY_PATH. The fact that this causes vi and other things to fail is apparently an OS X bug (I found some discussions of it on the internet) and has nothing to do with yt. I went through a similar thing and had to resort to having a separate terminal for running rockstar that I didn't try to do anything else in. For what it's worth, this behavior seems to have been fixed. I am on OS X 10.8.5 and no longer have the issue of things crashing in a terminal where I have edited DYLD_LIBRARY_PATH.
On the second issue that you both reported, the problem is the way in which one tells yt to run in parallel depends on how you import yt.
If you do "from yt.mods import *", the parallelism is enabled by adding the --parallel flag on the command line. However, if you do "import yt", then parallelism is enabled by doing "yt.enable_parallelism()" directly below the import statement within your script.
I looked at the latest documentation on parallelism ( http://yt-project.org/doc/analyzing/parallel_computation.html) and is discusses the use of yt.enable_parallelism(), but not the old way that works with "from yt.mods import *". There should probably be a short discussion added of how this has changed. Additionally, let's make sure that the yt-rockstar docs get any needed additions there as well.
Britton
_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
This also works: timeseries = yt.load(glob_pattern, setup_function=setup_ds) On Thu, Aug 14, 2014 at 6:29 AM, Britton Smith <brittonsmith@gmail.com> wrote:
Hi David,
I am not familiar with how particles are distinguished in RAMSES, so I couldn't tell you exactly the criteria you could use for filtering. However, if you are asking specifically about how you add a filter to a DatasetSeries object, then the key is the setup_function in the above example. You can create a function that accepts a Dataset object, and then does whatever you want with it. Above, this is the "setup_ds" function, which is applying the dark matter filter. You can pass this function during the creation of a DatasetSeries object through the "setup_function" keyword. The above example uses a slight variant on the DatasetSeries object that currently doesn't work for RAMSES, but you can use the regular one:
timeseries = DatasetSeries(..., setup_function=setup_ds)
Britton
On Tue, Aug 12, 2014 at 10:53 PM, David Sullivan <D.Sullivan@sussex.ac.uk> wrote:
Hi Britton, all,
That took care of my issues, now it’s run successfully. Just one more question: as I’m using RAMSES I create a DatasetSeries using:
es = yt.load('../output_*/info_*.txt’) rh = RockstarHaloFinder(es, num_readers=1, num_writers=2)
Is there a way for me to add a dark matter only filter as done here for an enzo dataset:
# create a particle filter to remove star particles @yt.particle_filter("dark_matter", requires=["creation_time"]) def _dm_filter(pfilter, data): return data["creation_time"] < 0.0
def setup_ds(ds): ds.add_particle_filter("dark_matter”)
es = yt.simulation("enzo_tiny_cosmology/32Mpc_32.enzo", "Enzo") es.get_time_series(setup_function=setup_ds, redshift_data=False)
rh = RockstarHaloFinder(es, num_readers=1, num_writers=2, particle_type="dark_matter")
I’ve looked at the docs on particle filtering but I can’t add filters to the DatasetSeries object I have.
Many thanks for the help so far! David
On 12 Aug 2014, at 12:44, yt-users-request@lists.spacepope.org wrote:
Hi Cameron, David,
Cameron, you are correct, on Mac systems you need to set DYLD_LIBRARY_PATH instead of LD_LIBRARY_PATH. The fact that this causes vi and other things to fail is apparently an OS X bug (I found some discussions of it on the internet) and has nothing to do with yt. I went through a similar thing and had to resort to having a separate terminal for running rockstar that I didn't try to do anything else in. For what it's worth, this behavior seems to have been fixed. I am on OS X 10.8.5 and no longer have the issue of things crashing in a terminal where I have edited DYLD_LIBRARY_PATH.
On the second issue that you both reported, the problem is the way in which one tells yt to run in parallel depends on how you import yt.
If you do "from yt.mods import *", the parallelism is enabled by adding the --parallel flag on the command line. However, if you do "import yt", then parallelism is enabled by doing "yt.enable_parallelism()" directly below the import statement within your script.
I looked at the latest documentation on parallelism ( http://yt-project.org/doc/analyzing/parallel_computation.html) and is discusses the use of yt.enable_parallelism(), but not the old way that works with "from yt.mods import *". There should probably be a short discussion added of how this has changed. Additionally, let's make sure that the yt-rockstar docs get any needed additions there as well.
Britton
_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
participants (3)
-
Britton Smith
-
David Sullivan
-
Nathan Goldbaum