
Hi all. I'm trying to make a covering grid of the full domain of an enzo (cosmological) simulation, getting the dark matter density and velocity fields. This works fine with the gas: In [1]: cg = pf.h.covering_grid(0, [0,0,0], [256,256,256], fields=["Density", "x-velocity", "y-velocity", "z-velocity"]) But then I try the DM fields: In [2]: cg = pf.h.covering_grid(0, [0,0,0], [256,256,256], fields=["Dark_Matter_Density", "cic_particle_velocity_x", "cic_particle_velocity_y", "cic_particle_velocity_z"]) ... ipython cruft ... /project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/data_containers.pyc in __init__(self, level, left_edge, dims, fields, pf, num_ghost_zones, use_pbar, **kwargs) 3342 self.domain_width = na.rint((self.pf.domain_right_edge - 3343 self.pf.domain_left_edge)/self.dds).astype('int64') -> 3344 self._refresh_data() 3345 3346 def _get_list_of_grids(self, buffer = 0.0): /project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/data_containers.pyc in _refresh_data(self) 3359 3360 def _refresh_data(self): -> 3361 AMR3DData._refresh_data(self) 3362 self['dx'] = self.dds[0] * na.ones(self.ActiveDimensions, dtype='float64') 3363 self['dy'] = self.dds[1] * na.ones(self.ActiveDimensions, dtype='float64') /project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/data_containers.pyc in _refresh_data(self) 307 """ 308 self.clear_data() --> 309 self.get_data() 310 311 def keys(self): /project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/data_containers.pyc in get_data(self, fields) 3377 try: 3378 #print "Generating", field -> 3379 self._generate_field(field) 3380 continue 3381 except NeedsOriginalGrid, ngt_exception: /project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/data_containers.pyc in _generate_field(self, field) 3404 # First we check the validator; this might even raise! 3405 self.pf.field_info[field].check_available(self) -> 3406 self[field] = self.pf.field_info[field](self) 3407 else: # Can't find the field, try as it might 3408 raise KeyError(field) /project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/field_info_container.pyc in __call__(self, data) 314 ii = self.check_available(data) 315 original_fields = data.keys() # Copy --> 316 dd = self._function(self, data) 317 dd *= self._convert_function(data) 318 for field_name in data.keys(): /project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/frontends/enzo/fields.pyc in _cic_particle_field(field, data) 332 particle_field = field.name[4:] 333 top = na.zeros(data.ActiveDimensions, dtype='float32') --> 334 if data.NumberOfParticles == 0: return top 335 particle_field_data = data[particle_field] * data['particle_mass'] 336 amr_utils.CICDeposit_3(data["particle_position_x"].astype(na.float64), AttributeError: 'AMRCoveringGrid' object has no attribute 'NumberOfParticles' Are you not supposed to use a covering grid with these fields or am I creating the covering grid incorrectly? I get reasonable looking plots if I slice/project cic_particle_velocity_x, so I believe it's working otherwise. Best, Casey

Hi Casey, On Thu, Feb 23, 2012 at 10:23 PM, Casey W. Stark <caseywstark@gmail.com> wrote:
Hi all.
I'm trying to make a covering grid of the full domain of an enzo (cosmological) simulation, getting the dark matter density and velocity fields. This works fine with the gas:
In [1]: cg = pf.h.covering_grid(0, [0,0,0], [256,256,256], fields=["Density", "x-velocity", "y-velocity", "z-velocity"])
But then I try the DM fields:
In [2]: cg = pf.h.covering_grid(0, [0,0,0], [256,256,256], fields=["Dark_Matter_Density", "cic_particle_velocity_x", "cic_particle_velocity_y", "cic_particle_velocity_z"])
... ipython cruft ...
/project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/data_containers.pyc in __init__(self, level, left_edge, dims, fields, pf, num_ghost_zones, use_pbar, **kwargs) 3342 self.domain_width = na.rint((self.pf.domain_right_edge - 3343 self.pf.domain_left_edge)/self.dds).astype('int64') -> 3344 self._refresh_data() 3345 3346 def _get_list_of_grids(self, buffer = 0.0):
/project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/data_containers.pyc in _refresh_data(self) 3359 3360 def _refresh_data(self): -> 3361 AMR3DData._refresh_data(self) 3362 self['dx'] = self.dds[0] * na.ones(self.ActiveDimensions, dtype='float64') 3363 self['dy'] = self.dds[1] * na.ones(self.ActiveDimensions, dtype='float64')
/project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/data_containers.pyc in _refresh_data(self) 307 """ 308 self.clear_data() --> 309 self.get_data() 310 311 def keys(self):
/project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/data_containers.pyc in get_data(self, fields) 3377 try: 3378 #print "Generating", field
-> 3379 self._generate_field(field) 3380 continue 3381 except NeedsOriginalGrid, ngt_exception:
/project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/data_containers.pyc in _generate_field(self, field) 3404 # First we check the validator; this might even raise!
3405 self.pf.field_info[field].check_available(self) -> 3406 self[field] = self.pf.field_info[field](self) 3407 else: # Can't find the field, try as it might 3408 raise KeyError(field)
/project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/data_objects/field_info_container.pyc in __call__(self, data) 314 ii = self.check_available(data) 315 original_fields = data.keys() # Copy --> 316 dd = self._function(self, data) 317 dd *= self._convert_function(data) 318 for field_name in data.keys():
/project/projectdirs/nyx/yt-installs/yt-hopper/src/yt-hg/yt/frontends/enzo/fields.pyc in _cic_particle_field(field, data) 332 particle_field = field.name[4:] 333 top = na.zeros(data.ActiveDimensions, dtype='float32') --> 334 if data.NumberOfParticles == 0: return top 335 particle_field_data = data[particle_field] * data['particle_mass'] 336 amr_utils.CICDeposit_3(data["particle_position_x"].astype(na.float64),
AttributeError: 'AMRCoveringGrid' object has no attribute 'NumberOfParticles'
Are you not supposed to use a covering grid with these fields or am I creating the covering grid incorrectly? I get reasonable looking plots if I slice/project cic_particle_velocity_x, so I believe it's working otherwise.
As it stands, covering grids do not yet have particle support. Adding support should be relatively straightforward; inside get_data, if it's a particle field, set up a shadow region from the left_edge to the right_edge, and then retrieve the field from that. -Matt
Best, Casey
_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org

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

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

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