
Hi,
I'd like to plot dark matter particle density as a function of radius for my particle-only simulation. Can I use add_profile_sphere, but for particles rather than gas? I only have a single halo and I know the halo it's centred in the middle of my box (or it better be, since I put it there!).
Is this possible?
Thanks,
Elizabeth

Hi Elizabeth,
It should be. You can either do the CIC deposited DM density using the field "particle_density_pyx" ( http://yt.enzotools.org/doc/api/field_list.html#particle-density-pyx ) if you're on the 'stable' branch of the field "particle_density" if you're on the current development trunk. That will convert the DM to be like a baryon quantity.
If you'd rather do raw particle binning, there is also functionality for that by using the x field "ParticleRadius" ( http://yt.enzotools.org/doc/api/field_list.html#particleradius ) or one of its derivatives, and the y field "ParticleMassMsun".
-Matt
On Mon, Oct 25, 2010 at 5:27 PM, Elizabeth Tasker taskere@mcmaster.ca wrote:
Hi,
I'd like to plot dark matter particle density as a function of radius for my particle-only simulation. Can I use add_profile_sphere, but for particles rather than gas? I only have a single halo and I know the halo it's centred in the middle of my box (or it better be, since I put it there!).
Is this possible?
Thanks,
Elizabeth _______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org

I believe you can use the field "Dark_Matter_Density" with add_profile_sphere, i.e.:
pc.add_profile_sphere(25.0, "kpc",["RadiusMpc", "Dark_Matter_Density"], x_bounds = (4e-4, 0.025))
Christine
On Mon, 2010-10-25 at 20:27 -0400, Elizabeth Tasker wrote:
Hi,
I'd like to plot dark matter particle density as a function of radius for my particle-only simulation. Can I use add_profile_sphere, but for particles rather than gas? I only have a single halo and I know the halo it's centred in the middle of my box (or it better be, since I put it there!).
Is this possible?
Thanks,
Elizabeth _______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org

Yeah ... my face is a bit red. This solution will almost certainly work, and if it does it will be much faster. In Enzo, the Dark_Matter_Density field (if it's in your output) is a pre-computed deposited field -- the same thing as particle_density[_pyx], except without having to compute it on the fly in yt. Thanks, Christine! :)
-Matt
On Mon, Oct 25, 2010 at 5:39 PM, Christine Simpson csimpson@astro.columbia.edu wrote:
I believe you can use the field "Dark_Matter_Density" with add_profile_sphere, i.e.:
pc.add_profile_sphere(25.0, "kpc",["RadiusMpc", "Dark_Matter_Density"], x_bounds = (4e-4, 0.025))
Christine
On Mon, 2010-10-25 at 20:27 -0400, Elizabeth Tasker wrote:
Hi,
I'd like to plot dark matter particle density as a function of radius for my particle-only simulation. Can I use add_profile_sphere, but for particles rather than gas? I only have a single halo and I know the halo it's centred in the middle of my box (or it better be, since I put it there!).
Is this possible?
Thanks,
Elizabeth _______________________________________________ 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

Hi Christine and Matt,
Unfortunately, I don't have a Dark_Matter_Density field, just the position, velocities, type, mass and index. (From looking directly at the contents of XXXX.cpu0000).
I'm afraid I also need my hand held more to use Matt's suggestion! Would it be possible to give me an example of how to call those functions? I tried to guess and failed miserably.
Thank you~
Elizabeth
Matthew Turk wrote:
Hi Elizabeth,
It should be. You can either do the CIC deposited DM density using the field "particle_density_pyx" ( http://yt.enzotools.org/doc/api/field_list.html#particle-density-pyx ) if you're on the 'stable' branch of the field "particle_density" if you're on the current development trunk. That will convert the DM to be like a baryon quantity.
If you'd rather do raw particle binning, there is also functionality for that by using the x field "ParticleRadius" ( http://yt.enzotools.org/doc/api/field_list.html#particleradius ) or one of its derivatives, and the y field "ParticleMassMsun".
-Matt
On Mon, Oct 25, 2010 at 5:27 PM, Elizabeth Tasker taskere@mcmaster.ca wrote:
Hi,
I'd like to plot dark matter particle density as a function of radius for my particle-only simulation. Can I use add_profile_sphere, but for particles rather than gas? I only have a single halo and I know the halo it's centred in the middle of my box (or it better be, since I put it there!).
Is this possible?
Thanks,
Elizabeth _______________________________________________ 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

Hi Elizabeth,
Here's a script that does it; you can get this with "yt_lodgeit.py --download=1294".
http://paste.enzotools.org/show/1294/
Also, on re-reading your initial question, my initial suggestion of adding a profile using "ParticleRadius" and "ParticleMassMsun" *will* function, but it's not what you wanted.
Best,
Matt
On Tue, Oct 26, 2010 at 8:08 AM, Elizabeth Tasker taskere@mcmaster.ca wrote:
Hi Christine and Matt,
Unfortunately, I don't have a Dark_Matter_Density field, just the position, velocities, type, mass and index. (From looking directly at the contents of XXXX.cpu0000).
I'm afraid I also need my hand held more to use Matt's suggestion! Would it be possible to give me an example of how to call those functions? I tried to guess and failed miserably.
Thank you~
Elizabeth
Matthew Turk wrote:
Hi Elizabeth,
It should be. You can either do the CIC deposited DM density using the field "particle_density_pyx" ( http://yt.enzotools.org/doc/api/field_list.html#particle-density-pyx ) if you're on the 'stable' branch of the field "particle_density" if you're on the current development trunk. That will convert the DM to be like a baryon quantity.
If you'd rather do raw particle binning, there is also functionality for that by using the x field "ParticleRadius" ( http://yt.enzotools.org/doc/api/field_list.html#particleradius ) or one of its derivatives, and the y field "ParticleMassMsun".
-Matt
On Mon, Oct 25, 2010 at 5:27 PM, Elizabeth Tasker taskere@mcmaster.ca wrote:
Hi,
I'd like to plot dark matter particle density as a function of radius for my particle-only simulation. Can I use add_profile_sphere, but for particles rather than gas? I only have a single halo and I know the halo it's centred in the middle of my box (or it better be, since I put it there!).
Is this possible?
Thanks,
Elizabeth _______________________________________________ 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
yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org

To expand a little on what Matt said ealier, if you don't have the Dark_Matter_Density field, you should still be able to use the field particle_density_pyx. This uses a yt implementation of the cic_deposit routine to take the particle data and make a grid field out of it. Depending on the version of yt you're using, the field will either be called particle_density_pyx or just particle_density.
Britton
On Tue, Oct 26, 2010 at 12:07 PM, Matthew Turk matthewturk@gmail.comwrote:
Hi Elizabeth,
Here's a script that does it; you can get this with "yt_lodgeit.py --download=1294".
http://paste.enzotools.org/show/1294/
Also, on re-reading your initial question, my initial suggestion of adding a profile using "ParticleRadius" and "ParticleMassMsun" *will* function, but it's not what you wanted.
Best,
Matt
On Tue, Oct 26, 2010 at 8:08 AM, Elizabeth Tasker taskere@mcmaster.ca wrote:
Hi Christine and Matt,
Unfortunately, I don't have a Dark_Matter_Density field, just the
position,
velocities, type, mass and index. (From looking directly at the contents
of
XXXX.cpu0000).
I'm afraid I also need my hand held more to use Matt's suggestion! Would
it
be possible to give me an example of how to call those functions? I tried
to
guess and failed miserably.
Thank you~
Elizabeth
Matthew Turk wrote:
Hi Elizabeth,
It should be. You can either do the CIC deposited DM density using the field "particle_density_pyx" ( http://yt.enzotools.org/doc/api/field_list.html#particle-density-pyx ) if you're on the 'stable' branch of the field "particle_density" if you're on the current development trunk. That will convert the DM to be like a baryon quantity.
If you'd rather do raw particle binning, there is also functionality for that by using the x field "ParticleRadius" ( http://yt.enzotools.org/doc/api/field_list.html#particleradius ) or one of its derivatives, and the y field "ParticleMassMsun".
-Matt
On Mon, Oct 25, 2010 at 5:27 PM, Elizabeth Tasker taskere@mcmaster.ca wrote:
Hi,
I'd like to plot dark matter particle density as a function of radius
for
my particle-only simulation. Can I use add_profile_sphere, but for
particles
rather than gas? I only have a single halo and I know the halo it's centred in the middle of my box (or it better be, since I put it there!).
Is this possible?
Thanks,
Elizabeth _______________________________________________ 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
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

Sorry, this still isn't working for me.
I don't have the field dark_matter_density and it hates cloud in cell too!
NameError: global name 'cic_deposit' is not defined
Elizabeth
Matthew Turk wrote:
Hi Elizabeth,
Here's a script that does it; you can get this with "yt_lodgeit.py --download=1294".
http://paste.enzotools.org/show/1294/
Also, on re-reading your initial question, my initial suggestion of adding a profile using "ParticleRadius" and "ParticleMassMsun" *will* function, but it's not what you wanted.
Best,
Matt
On Tue, Oct 26, 2010 at 8:08 AM, Elizabeth Tasker taskere@mcmaster.ca wrote:
Hi Christine and Matt,
Unfortunately, I don't have a Dark_Matter_Density field, just the position, velocities, type, mass and index. (From looking directly at the contents of XXXX.cpu0000).
I'm afraid I also need my hand held more to use Matt's suggestion! Would it be possible to give me an example of how to call those functions? I tried to guess and failed miserably.
Thank you~
Elizabeth
Matthew Turk wrote:
Hi Elizabeth,
It should be. You can either do the CIC deposited DM density using the field "particle_density_pyx" ( http://yt.enzotools.org/doc/api/field_list.html#particle-density-pyx ) if you're on the 'stable' branch of the field "particle_density" if you're on the current development trunk. That will convert the DM to be like a baryon quantity.
If you'd rather do raw particle binning, there is also functionality for that by using the x field "ParticleRadius" ( http://yt.enzotools.org/doc/api/field_list.html#particleradius ) or one of its derivatives, and the y field "ParticleMassMsun".
-Matt
On Mon, Oct 25, 2010 at 5:27 PM, Elizabeth Tasker taskere@mcmaster.ca wrote:
Hi,
I'd like to plot dark matter particle density as a function of radius for my particle-only simulation. Can I use add_profile_sphere, but for particles rather than gas? I only have a single halo and I know the halo it's centred in the middle of my box (or it better be, since I put it there!).
Is this possible?
Thanks,
Elizabeth _______________________________________________ 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
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

Hi Elizabeth,
That's a bug; it actually was trying to call the Enzo CIC routines. I've fixed it in the stable branch now.
-Matt
On Tue, Oct 26, 2010 at 3:09 PM, Elizabeth Tasker taskere@mcmaster.ca wrote:
Sorry, this still isn't working for me.
I don't have the field dark_matter_density and it hates cloud in cell too!
NameError: global name 'cic_deposit' is not defined
Elizabeth
Matthew Turk wrote:
Hi Elizabeth,
Here's a script that does it; you can get this with "yt_lodgeit.py --download=1294".
http://paste.enzotools.org/show/1294/
Also, on re-reading your initial question, my initial suggestion of adding a profile using "ParticleRadius" and "ParticleMassMsun" *will* function, but it's not what you wanted.
Best,
Matt
On Tue, Oct 26, 2010 at 8:08 AM, Elizabeth Tasker taskere@mcmaster.ca wrote:
Hi Christine and Matt,
Unfortunately, I don't have a Dark_Matter_Density field, just the position, velocities, type, mass and index. (From looking directly at the contents of XXXX.cpu0000).
I'm afraid I also need my hand held more to use Matt's suggestion! Would it be possible to give me an example of how to call those functions? I tried to guess and failed miserably.
Thank you~
Elizabeth
Matthew Turk wrote:
Hi Elizabeth,
It should be. You can either do the CIC deposited DM density using the field "particle_density_pyx" ( http://yt.enzotools.org/doc/api/field_list.html#particle-density-pyx ) if you're on the 'stable' branch of the field "particle_density" if you're on the current development trunk. That will convert the DM to be like a baryon quantity.
If you'd rather do raw particle binning, there is also functionality for that by using the x field "ParticleRadius" ( http://yt.enzotools.org/doc/api/field_list.html#particleradius ) or one of its derivatives, and the y field "ParticleMassMsun".
-Matt
On Mon, Oct 25, 2010 at 5:27 PM, Elizabeth Tasker taskere@mcmaster.ca wrote:
Hi,
I'd like to plot dark matter particle density as a function of radius for my particle-only simulation. Can I use add_profile_sphere, but for particles rather than gas? I only have a single halo and I know the halo it's centred in the middle of my box (or it better be, since I put it there!).
Is this possible?
Thanks,
Elizabeth _______________________________________________ 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
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
yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org

More, yet different hatred:
I now get:
KeyError Traceback (most recent call last)
/1/home/taskere/yt_hg/yt/src/yt-hg/scripts/iyt in <module>() 22 23 #pc.add_profile_object(data, ["Radius", "Dark_Matter_Density"]) ---> 24 pc.add_profile_object(data, ["Radius", "particle_density"]) 25 26 pc.save(fn) # save all plots
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/raven/plot_collection.py in add_profile_object(self, data_source, fields, weight, accumulation, x_bins, x_log, x_bounds, lazy_reader, id, figure, axes) 808 lazy_reader) 809 if len(fields) > 1: --> 810 profile.add_fields(fields[1], weight=weight, accumulation=accumulation) 811 if id is None: id = self._get_new_id() 812 p = self._add_plot(PlotTypes.Profile1DPlot(profile, fields, id,
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/Profiles.py in add_fields(self, fields, weight, accumulation, fractional) 136 fields = ensure_list(fields) 137 if self._lazy_reader: --> 138 self._lazy_add_fields(fields, weight, accumulation) 139 else: 140 self._unlazy_add_fields(fields, weight, accumulation)
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/Profiles.py in _lazy_add_fields(self, fields, weight, accumulation) 95 # We get back field values, weight values, used bins 96 f, w, u = self._bin_field(grid, field, weight, accumulation, ---> 97 args=args, check_cut=True) 98 self.__data[field] += f # running total 99 self.__weight_data[field] += w # running total
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/Profiles.py in save_state(*args, **kwargs) 45 old_params = source.field_parameters 46 source.field_parameters = prof._data_source.field_parameters ---> 47 tr = func(*args, **kwargs) 48 source.field_parameters = old_params 49 else:
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/Profiles.py in _bin_field(self, source, field, weight, accumulation, args, check_cut) 232 # check_cut is set if source != self._data_source 233 # (i.e., lazy_reader) --> 234 source_data = self._get_field(source, field, check_cut)[mi] 235 if weight: weight_data = self._get_field(source, weight, check_cut)[mi] 236 binned_field = self._get_empty_field()
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/Profiles.py in _get_field(self, source, this_field, check_cut) 172 else: 173 pointI = self._data_source._get_point_indices(source) --> 174 data.append(source[field][pointI].ravel().astype('float64')) 175 return na.concatenate(data, axis=0) 176
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/BaseGridType.py in __getitem__(self, key) 136 """ 137 if not self.data.has_key(key): --> 138 self.get_data(key) 139 return self.data[key] 140
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/BaseGridType.py in get_data(self, field) 179 else: raise 180 else: --> 181 self._generate_field(field) 182 return self.data[field] 183
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/BaseGridType.py in _generate_field(self, field) 124 self[field] = temp_array[sl] 125 else: --> 126 self[field] = self.pf.field_info[field](self) 127 else: # Can't find the field, try as it might 128 raise exceptions.KeyError, field
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/field_info_container.py in __call__(self, data) 317 original_fields = data.keys() # Copy 318 dd = self._function(self, data) --> 319 dd *= self._convert_function(data) 320 for field_name in data.keys(): 321 if field_name not in original_fields:
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/UniversalFields.py in _convertDensity(data) 780 781 def _convertDensity(data): --> 782 return data.convert("Density") 783 def _pdensity_pyx(field, data): 784 blank = na.zeros(data.ActiveDimensions, dtype='float32')
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/BaseGridType.py in convert(self, datatype) 101 It either returns the multiplicative factor or throws a KeyError. 102 """ --> 103 return self.pf[datatype] 104 105 def __repr__(self):
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/OutputTypes.py in __getitem__(self, key) 108 self.conversion_factors]: 109 if key in d: return d[key] --> 110 raise KeyError(key) 111 112 def keys(self):
KeyError: 'Density' WARNING: Failure executing file: <slice.py> WARNING: Readline services not available on this platform. WARNING: The auto-indent feature requires the readline librar
:\
Elizabeth
Matthew Turk wrote:
Hi Elizabeth,
That's a bug; it actually was trying to call the Enzo CIC routines. I've fixed it in the stable branch now.
-Matt
On Tue, Oct 26, 2010 at 3:09 PM, Elizabeth Tasker taskere@mcmaster.ca wrote:
Sorry, this still isn't working for me.
I don't have the field dark_matter_density and it hates cloud in cell too!
NameError: global name 'cic_deposit' is not defined
Elizabeth
Matthew Turk wrote:
Hi Elizabeth,
Here's a script that does it; you can get this with "yt_lodgeit.py --download=1294".
http://paste.enzotools.org/show/1294/
Also, on re-reading your initial question, my initial suggestion of adding a profile using "ParticleRadius" and "ParticleMassMsun" *will* function, but it's not what you wanted.
Best,
Matt
On Tue, Oct 26, 2010 at 8:08 AM, Elizabeth Tasker taskere@mcmaster.ca wrote:
Hi Christine and Matt,
Unfortunately, I don't have a Dark_Matter_Density field, just the position, velocities, type, mass and index. (From looking directly at the contents of XXXX.cpu0000).
I'm afraid I also need my hand held more to use Matt's suggestion! Would it be possible to give me an example of how to call those functions? I tried to guess and failed miserably.
Thank you~
Elizabeth
Matthew Turk wrote:
Hi Elizabeth,
It should be. You can either do the CIC deposited DM density using the field "particle_density_pyx" ( http://yt.enzotools.org/doc/api/field_list.html#particle-density-pyx ) if you're on the 'stable' branch of the field "particle_density" if you're on the current development trunk. That will convert the DM to be like a baryon quantity.
If you'd rather do raw particle binning, there is also functionality for that by using the x field "ParticleRadius" ( http://yt.enzotools.org/doc/api/field_list.html#particleradius ) or one of its derivatives, and the y field "ParticleMassMsun".
-Matt
On Mon, Oct 25, 2010 at 5:27 PM, Elizabeth Tasker taskere@mcmaster.ca wrote:
Hi,
I'd like to plot dark matter particle density as a function of radius for my particle-only simulation. Can I use add_profile_sphere, but for particles rather than gas? I only have a single halo and I know the halo it's centred in the middle of my box (or it better be, since I put it there!).
Is this possible?
Thanks,
Elizabeth _______________________________________________ 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
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
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

Looks like yt doesn't understand your units. It should understand all the units in Enzo 2.0, so if you could off-list send me your parameter file that'd be great. I think what's probably happening is that it's a dark matter only simulation, but since yt relies on the DensityCGS conversion factor Enzo provides to convert code density (which particles are stored in) to CGS density, it doesn't know how to deal since Enzo provides no explicit Density conversion factor.
-Matt
On Tue, Oct 26, 2010 at 4:13 PM, Elizabeth Tasker taskere@mcmaster.ca wrote:
More, yet different hatred:
I now get:
KeyError Traceback (most recent call last)
/1/home/taskere/yt_hg/yt/src/yt-hg/scripts/iyt in <module>() 22 23 #pc.add_profile_object(data, ["Radius", "Dark_Matter_Density"]) ---> 24 pc.add_profile_object(data, ["Radius", "particle_density"]) 25 26 pc.save(fn) # save all plots
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/raven/plot_collection.py in add_profile_object(self, data_source, fields, weight, accumulation, x_bins, x_log, x_bounds, lazy_reader, id, figure, axes) 808 lazy_reader) 809 if len(fields) > 1: --> 810 profile.add_fields(fields[1], weight=weight, accumulation=accumulation) 811 if id is None: id = self._get_new_id() 812 p = self._add_plot(PlotTypes.Profile1DPlot(profile, fields, id,
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/Profiles.py in add_fields(self, fields, weight, accumulation, fractional) 136 fields = ensure_list(fields) 137 if self._lazy_reader: --> 138 self._lazy_add_fields(fields, weight, accumulation) 139 else: 140 self._unlazy_add_fields(fields, weight, accumulation)
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/Profiles.py in _lazy_add_fields(self, fields, weight, accumulation) 95 # We get back field values, weight values, used bins 96 f, w, u = self._bin_field(grid, field, weight, accumulation, ---> 97 args=args, check_cut=True) 98 self.__data[field] += f # running total 99 self.__weight_data[field] += w # running total
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/Profiles.py in save_state(*args, **kwargs) 45 old_params = source.field_parameters 46 source.field_parameters = prof._data_source.field_parameters ---> 47 tr = func(*args, **kwargs) 48 source.field_parameters = old_params 49 else:
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/Profiles.py in _bin_field(self, source, field, weight, accumulation, args, check_cut) 232 # check_cut is set if source != self._data_source 233 # (i.e., lazy_reader) --> 234 source_data = self._get_field(source, field, check_cut)[mi] 235 if weight: weight_data = self._get_field(source, weight, check_cut)[mi] 236 binned_field = self._get_empty_field()
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/Profiles.py in _get_field(self, source, this_field, check_cut) 172 else: 173 pointI = self._data_source._get_point_indices(source) --> 174 data.append(source[field][pointI].ravel().astype('float64')) 175 return na.concatenate(data, axis=0) 176
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/BaseGridType.py in __getitem__(self, key) 136 """ 137 if not self.data.has_key(key): --> 138 self.get_data(key) 139 return self.data[key] 140
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/BaseGridType.py in get_data(self, field) 179 else: raise 180 else: --> 181 self._generate_field(field) 182 return self.data[field] 183
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/BaseGridType.py in _generate_field(self, field) 124 self[field] = temp_array[sl] 125 else: --> 126 self[field] = self.pf.field_info[field](self) 127 else: # Can't find the field, try as it might 128 raise exceptions.KeyError, field
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/field_info_container.py in __call__(self, data) 317 original_fields = data.keys() # Copy 318 dd = self._function(self, data) --> 319 dd *= self._convert_function(data) 320 for field_name in data.keys(): 321 if field_name not in original_fields:
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/UniversalFields.py in _convertDensity(data) 780 781 def _convertDensity(data): --> 782 return data.convert("Density") 783 def _pdensity_pyx(field, data): 784 blank = na.zeros(data.ActiveDimensions, dtype='float32')
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/BaseGridType.py in convert(self, datatype) 101 It either returns the multiplicative factor or throws a KeyError. 102 """ --> 103 return self.pf[datatype] 104 105 def __repr__(self):
/1/home/taskere/yt_hg/yt/src/yt-hg/yt/lagos/OutputTypes.py in __getitem__(self, key) 108 self.conversion_factors]: 109 if key in d: return d[key] --> 110 raise KeyError(key) 111 112 def keys(self):
KeyError: 'Density' WARNING: Failure executing file: <slice.py> WARNING: Readline services not available on this platform. WARNING: The auto-indent feature requires the readline librar
:\
Elizabeth
Matthew Turk wrote:
Hi Elizabeth,
That's a bug; it actually was trying to call the Enzo CIC routines. I've fixed it in the stable branch now.
-Matt
On Tue, Oct 26, 2010 at 3:09 PM, Elizabeth Tasker taskere@mcmaster.ca wrote:
Sorry, this still isn't working for me.
I don't have the field dark_matter_density and it hates cloud in cell too!
NameError: global name 'cic_deposit' is not defined
Elizabeth
Matthew Turk wrote:
Hi Elizabeth,
Here's a script that does it; you can get this with "yt_lodgeit.py --download=1294".
http://paste.enzotools.org/show/1294/
Also, on re-reading your initial question, my initial suggestion of adding a profile using "ParticleRadius" and "ParticleMassMsun" *will* function, but it's not what you wanted.
Best,
Matt
On Tue, Oct 26, 2010 at 8:08 AM, Elizabeth Tasker taskere@mcmaster.ca wrote:
Hi Christine and Matt,
Unfortunately, I don't have a Dark_Matter_Density field, just the position, velocities, type, mass and index. (From looking directly at the contents of XXXX.cpu0000).
I'm afraid I also need my hand held more to use Matt's suggestion! Would it be possible to give me an example of how to call those functions? I tried to guess and failed miserably.
Thank you~
Elizabeth
Matthew Turk wrote:
Hi Elizabeth,
It should be. You can either do the CIC deposited DM density using the field "particle_density_pyx" ( http://yt.enzotools.org/doc/api/field_list.html#particle-density-pyx ) if you're on the 'stable' branch of the field "particle_density" if you're on the current development trunk. That will convert the DM to be like a baryon quantity.
If you'd rather do raw particle binning, there is also functionality for that by using the x field "ParticleRadius" ( http://yt.enzotools.org/doc/api/field_list.html#particleradius ) or one of its derivatives, and the y field "ParticleMassMsun".
-Matt
On Mon, Oct 25, 2010 at 5:27 PM, Elizabeth Tasker taskere@mcmaster.ca wrote:
> > Hi, > > I'd like to plot dark matter particle density as a function of radius > for > my > particle-only simulation. Can I use add_profile_sphere, but for > particles > rather than gas? I only have a single halo and I know the halo it's > centred > in the middle of my box (or it better be, since I put it there!). > > Is this possible? > > Thanks, > > Elizabeth > _______________________________________________ > 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
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
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
yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
participants (4)
-
Britton Smith
-
Christine Simpson
-
Elizabeth Tasker
-
Matthew Turk