<div>Here's my quick fix when you want to take a look: <a href="https://bitbucket.org/caseywstark/yt/changeset/1a3a26dcb695">https://bitbucket.org/caseywstark/yt/changeset/1a3a26dcb695</a>.</div><div><br></div><div>Best,</div>

<div>Casey</div><div><br></div><div><br><div class="gmail_quote">On Fri, Feb 24, 2012 at 3:17 PM, Matthew Turk <span dir="ltr"><<a href="mailto:matthewturk@gmail.com">matthewturk@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 Casey,<br>
<br>
Yes, point me to it.<br>
<br>
-Matt<br>
<div class="HOEnZb"><div class="h5"><br>
On Fri, Feb 24, 2012 at 6:14 PM, Casey W. Stark <<a href="mailto:caseywstark@gmail.com">caseywstark@gmail.com</a>> wrote:<br>
> So I figured out a way to load particle fields onto AMRCoveringGridBase. I<br>
> also had to tack on NumberOfParticles inside the get_data method. cic_*<br>
> expects this attribute, and I couldn't figure out a better way to check for<br>
> it.<br>
><br>
> My solution is a serious hack right now and performs a lot of extra reads,<br>
> but it would be nice to support this eventually. I will stash it to a branch<br>
> for now. Would anyone be interested in coming back to this and getting it<br>
> into a good enough state to push back to yt/yt?<br>
><br>
> Best,<br>
> Casey<br>
><br>
><br>
> On Thu, Feb 23, 2012 at 7:47 PM, Casey W. Stark <<a href="mailto:caseywstark@gmail.com">caseywstark@gmail.com</a>><br>
> wrote:<br>
>><br>
>> Okay, that explains it. Thanks Matt.<br>
>><br>
>> I will try the shadow region solution tomorrow.<br>
>><br>
>> Best,<br>
>> Casey<br>
>><br>
>><br>
>> On Thu, Feb 23, 2012 at 7:26 PM, Matthew Turk <<a href="mailto:matthewturk@gmail.com">matthewturk@gmail.com</a>><br>
>> wrote:<br>
>>><br>
>>> Hi Casey,<br>
>>><br>
>>> On Thu, Feb 23, 2012 at 10:23 PM, Casey W. Stark <<a href="mailto:caseywstark@gmail.com">caseywstark@gmail.com</a>><br>
>>> wrote:<br>
>>> > Hi all.<br>
>>> ><br>
>>> > I'm trying to make a covering grid of the full domain of an enzo<br>
>>> > (cosmological) simulation, getting the dark matter density and velocity<br>
>>> > fields. This works fine with the gas:<br>
>>> ><br>
>>> > In [1]: cg = pf.h.covering_grid(0, [0,0,0], [256,256,256],<br>
>>> > fields=["Density", "x-velocity", "y-velocity", "z-velocity"])<br>
>>> ><br>
>>> > But then I try the DM fields:<br>
>>> ><br>
>>> > In [2]: cg = pf.h.covering_grid(0, [0,0,0], [256,256,256],<br>
>>> > fields=["Dark_Matter_Density", "cic_particle_velocity_x",<br>
>>> > "cic_particle_velocity_y", "cic_particle_velocity_z"])<br>
>>> ><br>
>>> > ... ipython cruft ...<br>
>>> ><br>
>>> ><br>
>>> > /project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/data_containers.pyc<br>
>>> > in __init__(self, level, left_edge, dims, fields, pf, num_ghost_zones,<br>
>>> > use_pbar, **kwargs)<br>
>>> >    3342         self.domain_width = na.rint((self.pf.domain_right_edge<br>
>>> > -<br>
>>> >    3343<br>
>>> > self.pf.domain_left_edge)/self.dds).astype('int64')<br>
>>> > -> 3344         self._refresh_data()<br>
>>> >    3345<br>
>>> >    3346     def _get_list_of_grids(self, buffer = 0.0):<br>
>>> ><br>
>>> ><br>
>>> > /project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/data_containers.pyc<br>
>>> > in _refresh_data(self)<br>
>>> >    3359<br>
>>> >    3360     def _refresh_data(self):<br>
>>> > -> 3361         AMR3DData._refresh_data(self)<br>
>>> >    3362         self['dx'] = self.dds[0] *<br>
>>> > na.ones(self.ActiveDimensions,<br>
>>> > dtype='float64')<br>
>>> >    3363         self['dy'] = self.dds[1] *<br>
>>> > na.ones(self.ActiveDimensions,<br>
>>> > dtype='float64')<br>
>>> ><br>
>>> ><br>
>>> > /project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/data_containers.pyc<br>
>>> > in _refresh_data(self)<br>
>>> >     307         """<br>
>>> >     308         self.clear_data()<br>
>>> > --> 309         self.get_data()<br>
>>> >     310<br>
>>> >     311     def keys(self):<br>
>>> ><br>
>>> ><br>
>>> > /project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/data_containers.pyc<br>
>>> > in get_data(self, fields)<br>
>>> >    3377                 try:<br>
>>> >    3378                     #print "Generating", field<br>
>>> ><br>
>>> > -> 3379                     self._generate_field(field)<br>
>>> >    3380                     continue<br>
>>> >    3381                 except NeedsOriginalGrid, ngt_exception:<br>
>>> ><br>
>>> ><br>
>>> > /project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/data_containers.pyc<br>
>>> > in _generate_field(self, field)<br>
>>> >    3404             # First we check the validator; this might even<br>
>>> > raise!<br>
>>> ><br>
>>> >    3405             self.pf.field_info[field].check_available(self)<br>
>>> > -> 3406             self[field] = self.pf.field_info[field](self)<br>
>>> >    3407         else: # Can't find the field, try as it might<br>
>>> >    3408             raise KeyError(field)<br>
>>> ><br>
>>> ><br>
>>> > /project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/field_info_container.pyc<br>
>>> > in __call__(self, data)<br>
>>> >     314         ii = self.check_available(data)<br>
>>> >     315         original_fields = data.keys()  # Copy<br>
>>> > --> 316         dd = self._function(self, data)<br>
>>> >     317         dd *= self._convert_function(data)<br>
>>> >     318         for field_name in data.keys():<br>
>>> ><br>
>>> ><br>
>>> > /project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/frontends/enzo/fields.pyc<br>
>>> > in _cic_particle_field(field, data)<br>
>>> >     332     particle_field = <a href="http://field.name" target="_blank">field.name</a>[4:]<br>
>>> >     333     top = na.zeros(data.ActiveDimensions, dtype='float32')<br>
>>> > --> 334     if data.NumberOfParticles == 0: return top<br>
>>> >     335     particle_field_data = data[particle_field] *<br>
>>> > data['particle_mass']<br>
>>> >     336<br>
>>> > amr_utils.CICDeposit_3(data["particle_position_x"].astype(na.float64),<br>
>>> ><br>
>>> > AttributeError: 'AMRCoveringGrid' object has no attribute<br>
>>> > 'NumberOfParticles'<br>
>>> ><br>
>>> > Are you not supposed to use a covering grid with these fields or am I<br>
>>> > creating the covering grid incorrectly? I get reasonable looking plots<br>
>>> > if I<br>
>>> > slice/project cic_particle_velocity_x, so I believe it's working<br>
>>> > otherwise.<br>
>>><br>
>>> As it stands, covering grids do not yet have particle support.<br>
>>><br>
>>> Adding support should be relatively straightforward; inside get_data,<br>
>>> if it's a particle field, set up a shadow region from the left_edge to<br>
>>> the right_edge, and then retrieve the field from that.<br>
>>><br>
>>> -Matt<br>
>>><br>
>>> ><br>
>>> > Best,<br>
>>> > Casey<br>
>>> ><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>
>>> ><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>
>><br>
>><br>
><br>
><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>
><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>
</div></div></blockquote></div><br></div>