Hi Anna,<div><br></div><div>Check out <a href="https://bitbucket.org/atmyers/yt/changeset/53fa42c3dbc9c0228203900a1b1a169e732e9a8c">this</a> changeset, which I think fixes the problem. I'm not 100% sure that I understand the distinction between "fallback" and "known" fields, but I can confirm that with those changes all the basic orion fields work. </div>
<div><br></div><div>-Andrew<br><br><div class="gmail_quote">On Mon, Nov 12, 2012 at 4:04 PM, Anna Rosen <span dir="ltr"><<a href="mailto:rosen@ucolick.org" target="_blank">rosen@ucolick.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi all,<br>
<br>
I am unable to access the derived fields written for Orion such as temperature, pressure, etc.<br>
The definitions are these fields are located here: yt-x86_64/src/yt-hg/yt/frontends/orion/fields.py<br>
<br>
This is the error that I get if I try to access temperature:<br>
<br>
In [14]: mi,ma= dd.quantities["Extrema"]("Temperature")[0]<br>
---------------------------------------------------------------------------<br>
KeyError Traceback (most recent call last)<br>
<ipython-input-14-c8df716340ab> in <module>()<br>
----> 1 mi,ma= dd.quantities["Extrema"]("Temperature")[0]<br>
<br>
/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/derived_quantities.pyc in __call__(self, *args, **kwargs)<br>
90 self._<a href="http://data_source.pf.h.io" target="_blank">data_source.pf.h.io</a>)<br>
91 if lazy_reader and not self.force_unlazy:<br>
---> 92 return self._call_func_lazy(args, kwargs)<br>
93 else:<br>
94 return self._call_func_unlazy(args, kwargs)<br>
<br>
/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/derived_quantities.pyc in _call_func_lazy(self, args, kwargs)<br>
97 self.retvals = [ [] for i in range(self.n_ret)]<br>
98 for gi,g in enumerate(self._get_grids()):<br>
---> 99 rv = self.func(GridChildMaskWrapper(g, self._data_source), *args, **kwargs)<br>
100 if not iterable(rv): rv = (rv,)<br>
101 for i in range(self.n_ret): self.retvals[i].append(rv[i])<br>
<br>
/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/derived_quantities.pyc in _Extrema(data, fields, non_zero, filter)<br>
586 mins, maxs = [], []<br>
587 for field in fields:<br>
--> 588 if data[field].size < 1:<br>
589 mins.append(1e90)<br>
590 maxs.append(-1e90)<br>
<br>
/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/derived_quantities.pyc in __getitem__(self, item)<br>
58 def __getitem__(self, item):<br>
59 if item not in self.local_cache:<br>
---> 60 data = self.data_source._get_data_from_grid(self.grid, item)<br>
61 self.local_cache[item] = data<br>
62 return self.local_cache[item]<br>
<br>
/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc in save_state(self, grid, field, *args, **kwargs)<br>
89 old_keys = grid.field_data.keys()<br>
90 grid.field_parameters = self.field_parameters<br>
---> 91 tr = func(self, grid, field, *args, **kwargs)<br>
92 grid.field_parameters = old_params<br>
93 grid.field_data = YTFieldData( [(k, grid.field_data[k]) for k in old_keys] )<br>
<br>
/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc in _get_data_from_grid(self, grid, field)<br>
2555 return na.array([f[i,:][pointI] for i in range(3)])<br>
2556 else:<br>
-> 2557 tr = grid[field]<br>
2558 if tr.size == 1: # dx, dy, dz, cellvolume<br>
2559 tr = tr * na.ones(grid.ActiveDimensions, dtype='float64')<br>
<br>
/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/grid_patch.pyc in __getitem__(self, key)<br>
155 """<br>
156 if not self.field_data.has_key(key):<br>
--> 157 self.get_data(key)<br>
158 return self.field_data[key]<br>
159<br>
<br>
/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/grid_patch.pyc in get_data(self, field, convert)<br>
198 else: raise<br>
199 else:<br>
--> 200 self._generate_field(field)<br>
201 return self.field_data[field]<br>
202<br>
<br>
/home1/arosen2/yt-x86_64/src/yt-hg/yt/data_objects/grid_patch.pyc in _generate_field(self, field)<br>
145 self[field] = self.pf.field_info[field](self)<br>
146 else: # Can't find the field, try as it might<br>
--> 147 raise exceptions.KeyError(field)<br>
148<br>
149 def has_key(self, key):<br>
<br>
KeyError: 'Temperature'<br>
<br>
Thanks!<br>
<br>
Anna Rosen<br>
Graduate Student<br>
UCSC, Astronomy & Astrophysics<br>
<a href="mailto:rosen@ucolick.org">rosen@ucolick.org</a><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>
</blockquote></div><br></div>