[yt-users] Orion Derived Fields

Anna Rosen rosen at ucolick.org
Mon Nov 12 16:04:00 PST 2012


Hi all,

I am unable to access the derived fields written for Orion such as temperature, pressure, etc.
The definitions are these fields are located here: yt-x86_64/src/yt-hg/yt/frontends/orion/fields.py

This is the error that I get if I try to access temperature:

In [14]: mi,ma= dd.quantities["Extrema"]("Temperature")[0]
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-14-c8df716340ab> in <module>()
----> 1 mi,ma= dd.quantities["Extrema"]("Temperature")[0]

/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/derived_quantities.pyc in __call__(self, *args, **kwargs)
     90                           self._data_source.pf.h.io)
     91         if lazy_reader and not self.force_unlazy:
---> 92             return self._call_func_lazy(args, kwargs)
     93         else:
     94             return self._call_func_unlazy(args, kwargs)

/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/derived_quantities.pyc in _call_func_lazy(self, args, kwargs)
     97         self.retvals = [ [] for i in range(self.n_ret)]
     98         for gi,g in enumerate(self._get_grids()):
---> 99             rv = self.func(GridChildMaskWrapper(g, self._data_source), *args, **kwargs)
    100             if not iterable(rv): rv = (rv,)
    101             for i in range(self.n_ret): self.retvals[i].append(rv[i])

/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/derived_quantities.pyc in _Extrema(data, fields, non_zero, filter)
    586     mins, maxs = [], []
    587     for field in fields:
--> 588         if data[field].size < 1:
    589             mins.append(1e90)
    590             maxs.append(-1e90)

/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/derived_quantities.pyc in __getitem__(self, item)
     58     def __getitem__(self, item):
     59         if item not in self.local_cache:
---> 60             data = self.data_source._get_data_from_grid(self.grid, item)
     61             self.local_cache[item] = data
     62         return self.local_cache[item]

/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc in save_state(self, grid, field, *args, **kwargs)
     89         old_keys = grid.field_data.keys()
     90         grid.field_parameters = self.field_parameters
---> 91         tr = func(self, grid, field, *args, **kwargs)
     92         grid.field_parameters = old_params
     93         grid.field_data = YTFieldData( [(k, grid.field_data[k]) for k in old_keys] )

/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc in _get_data_from_grid(self, grid, field)
   2555             return na.array([f[i,:][pointI] for i in range(3)])
   2556         else:
-> 2557             tr = grid[field]
   2558             if tr.size == 1: # dx, dy, dz, cellvolume
   2559                 tr = tr * na.ones(grid.ActiveDimensions, dtype='float64')

/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/grid_patch.pyc in __getitem__(self, key)
    155         """
    156         if not self.field_data.has_key(key):
--> 157             self.get_data(key)
    158         return self.field_data[key]
    159 

/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/grid_patch.pyc in get_data(self, field, convert)
    198                     else: raise
    199             else:
--> 200                 self._generate_field(field)
    201         return self.field_data[field]
    202 

/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/grid_patch.pyc in _generate_field(self, field)
    145                 self[field] = self.pf.field_info[field](self)
    146         else: # Can't find the field, try as it might
--> 147             raise exceptions.KeyError(field)
    148 
    149     def has_key(self, key):

KeyError: 'Temperature'

Thanks!

Anna Rosen
Graduate Student
UCSC, Astronomy & Astrophysics
rosen at ucolick.org






More information about the yt-users mailing list