[yt-users] cannot find some particle fields

Matthew Turk matthewturk at gmail.com
Wed Apr 24 10:05:21 PDT 2013


Hi JC,

THis looks like another failure of the field detection algorithm.
We're working on improving it, but it's set up this way because there
is no canonical list of Enzo fields, and there's no way to check every
grid without slowing thigns down considerably.  I know this is
terrible to suggest, and I feel bad for doing so, but you might be
able to get something if you remove the .yt and try again.  :-(

-Matt

On Wed, Apr 24, 2013 at 11:39 AM, Jean-Claude Passy <jcpassy at gmail.com> wrote:
> Hi Matt,
>
> thanks for your quick reply.
> It only gives me the gas fields:
>
> -----------------------------
> In [5]: pf.h.field_list
> Out[5]: ['z-velocity', 'y-velocity', 'x-velocity', 'TotalEnergy', 'Density']
> -----------------------------
>
> Btw, I am using the latest dev version of yt (changeset 7439:34b95297062b).
> Cheers,
>
> JC
>
>
> On Apr 24, 2013, at 7:52 AM, Matthew Turk <matthewturk at gmail.com> wrote:
>
> Hi JC,
>
> What's the output of:
>
> pf.h.field_list
>
> ?
>
> -Matt
>
> On Wed, Apr 24, 2013 at 12:35 AM, Jean-Claude Passy <jcpassy at gmail.com>
> wrote:
>
> Hi all,
>
> sorry, I have a pretty dumb question.
> I have a non-cosmological simulation with only 1 particle. I can get the
> particle_mass field, but yt throws the following error when I try to grab
> particle_index:
>
> ---------------------------------------------------------------------------------------------------------------------------------
> In [1]: pf = load('CE0001')
> yt : [INFO     ] 2013-04-24 00:32:02,190 Parameters: current_time
> = 0.00149998503444
> yt : [INFO     ] 2013-04-24 00:32:02,190 Parameters: domain_dimensions
> = [32 32 32]
> yt : [INFO     ] 2013-04-24 00:32:02,190 Parameters: domain_left_edge
> = [ 0.  0.  0.]
> yt : [INFO     ] 2013-04-24 00:32:02,190 Parameters: domain_right_edge
> = [ 1.  1.  1.]
> yt : [INFO     ] 2013-04-24 00:32:02,191 Parameters: cosmological_simulation
> = 0.0
>
> In [2]: region = pf.h.region([0.5, 0.5, 0.5], [0.0, 0.0, 0.0], [1.0, 1.0,
> 1.0])
> yt : [INFO     ] 2013-04-24 00:32:05,802 Getting the binary hierarchy
> yt : [INFO     ] 2013-04-24 00:32:05,805 Finished with binary hierarchy
> reading
>
> In [3]: region['particle_mass']
> yt : [INFO     ] 2013-04-24 00:32:12,685 Getting particle_mass using
> ParticleIO
> Out[3]: array([ 6585896.1408])
>
> In [4]: region['particle_index']
> ---------------------------------------------------------------------------
> KeyError                                  Traceback (most recent call last)
> /Users/jcpassy/Work/yt-x86_64/src/yt-hg/scripts/iyt in <module>()
> ----> 1 region['particle_index']
>
> /Users/jcpassy/Work/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc
> in __getitem__(self, key)
>    328             if key not in self.fields:
>    329                 self.fields.append(key)
> --> 330             self.get_data(key)
>    331         return self.field_data[key]
>    332
>
> /Users/jcpassy/Work/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc
> in get_data(self, fields, in_grids, force_particle_read)
>   2614                     pass
>   2615             if field not in self.hierarchy.field_list and not
> in_grids:
> -> 2616                 if self._generate_field(field):
>   2617                     continue # True means we already assigned it
>   2618             mylog.info("Getting field %s from %s", field,
> len(self._grids))
>
> /Users/jcpassy/Work/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc
> in _generate_field(self, field)
>    361                 return True
>    362         else: # Can't find the field, try as it might
> --> 363             raise KeyError(field)
>    364
>    365     def _generate_field_in_grids(self, field, num_ghost_zones=0):
>
> KeyError: 'particle_index'
> ---------------------------------------------------------------------------------------------------------------------------------
>
> However, the field is there:
>
> ---------------------------------------------------------------------------------------------------------------------------------
> [ 0:30:13] Obiwan:$ h5ls CE0001.cpu0000/Grid00000004
> Dark_Matter_Density      Dataset {52, 52, 52}
> Density                  Dataset {52, 52, 52}
> TotalEnergy              Dataset {52, 52, 52}
> particle_index           Dataset {1}
> particle_mass            Dataset {1}
> particle_position_x      Dataset {1}
> particle_position_y      Dataset {1}
> particle_position_z      Dataset {1}
> particle_type            Dataset {1}
> particle_velocity_x      Dataset {1}
> particle_velocity_y      Dataset {1}
> particle_velocity_z      Dataset {1}
> x-velocity               Dataset {52, 52, 52}
> y-velocity               Dataset {52, 52, 52}
> z-velocity               Dataset {52, 52, 52}
> [ 0:30:13] Obiwan:$ h5ls -d CE0001.cpu0000/Grid00000004/particle_index
> particle_index           Dataset {1}
>    Data:
>        (0) 0
> ---------------------------------------------------------------------------------------------------------------------------------
>
> Am I missing something obvious?
>
> Thanks a lot for you help,
>
> JC
>
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>
>
>
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>



More information about the yt-users mailing list