[Yt-svn] yt-commit r761 - in branches/yt-generalization/yt: . lagos raven

mturk at wrangler.dreamhost.com mturk at wrangler.dreamhost.com
Tue Sep 9 03:00:23 PDT 2008


Author: mturk
Date: Tue Sep  9 03:00:21 2008
New Revision: 761
URL: http://yt.spacepope.org/changeset/761

Log:
Okay, more field_info corrections, and I can now make slices from enzo data
using both EnzoFields and UniversalFields.

Probably more bugs to work out.



Modified:
   branches/yt-generalization/yt/lagos/BaseGridType.py
   branches/yt-generalization/yt/lagos/FieldInfoContainer.py
   branches/yt-generalization/yt/mods.py
   branches/yt-generalization/yt/raven/PlotTypes.py

Modified: branches/yt-generalization/yt/lagos/BaseGridType.py
==============================================================================
--- branches/yt-generalization/yt/lagos/BaseGridType.py	(original)
+++ branches/yt-generalization/yt/lagos/BaseGridType.py	Tue Sep  9 03:00:21 2008
@@ -43,6 +43,7 @@
         if filename: self.set_filename(filename)
         self.overlap_masks = [None, None, None]
         self._overlap_grids = [None, None, None]
+        self.pf = self.hierarchy.parameter_file # weakref already
     
     def get_data(self, field):
         """
@@ -51,15 +52,15 @@
         if not self.data.has_key(field):
             if field in self.hierarchy.field_list:
                 conv_factor = 1.0
-                if fieldInfo.has_key(field):
-                    conv_factor = fieldInfo[field]._convert_function(self)
+                if self.pf.field_info.has_key(field):
+                    conv_factor = self.pf.field_info[field]._convert_function(self)
                 try:
                     self[field] = self.readDataFast(field) * conv_factor
                 except self._read_exception:
-                    if field in fieldInfo:
-                        if fieldInfo[field].particle_type:
+                    if field in self.pf.field_info:
+                        if self.pf.field_info[field].particle_type:
                             self[field] = na.array([],dtype='int64')
-                        if fieldInfo[field].not_in_all:
+                        if self.pf.field_info[field].not_in_all:
                             self[field] = na.zeros(self.ActiveDimensions, dtype='float64')
                     else: raise
             else:
@@ -67,20 +68,20 @@
         return self.data[field]
 
     def _generate_field(self, field):
-        if fieldInfo.has_key(field):
+        if self.pf.field_info.has_key(field):
             # First we check the validator
             try:
-                fieldInfo[field].check_available(self)
+                self.pf.field_info[field].check_available(self)
             except NeedsGridType, ngt_exception:
                 # This is only going to be raised if n_gz > 0
                 n_gz = ngt_exception.ghost_zones
                 f_gz = ngt_exception.fields
                 gz_grid = self.retrieve_ghost_zones(n_gz, f_gz)
-                temp_array = fieldInfo[field](gz_grid)
+                temp_array = self.pf.field_info[field](gz_grid)
                 sl = [slice(n_gz,-n_gz)] * 3
                 self[field] = temp_array[sl]
             else:
-                self[field] = fieldInfo[field](self)
+                self[field] = self.pf.field_info[field](self)
         else: # Can't find the field, try as it might
             raise exceptions.KeyError, field
 

Modified: branches/yt-generalization/yt/lagos/FieldInfoContainer.py
==============================================================================
--- branches/yt-generalization/yt/lagos/FieldInfoContainer.py	(original)
+++ branches/yt-generalization/yt/lagos/FieldInfoContainer.py	Tue Sep  9 03:00:21 2008
@@ -50,6 +50,8 @@
         return self._universal_field_list.iterkeys()
     def __setitem__(self, key, val):
         self._universal_field_list[key] = val
+    def has_key(self, key):
+        return key in self._universal_field_list
     def add_field(self, name, function = None, **kwargs):
         if function == None:
             if kwargs.has_key("function"):
@@ -70,6 +72,9 @@
                         self._universal_field_list.iterkeys())
     def keys(self):
         return set(self._field_list.keys() + self._universal_field_list.keys())
+    def has_key(self, key):
+        return key in self._universal_field_list \
+            or key in self._field_list
     def __getitem__(self, key):
         if key in self._field_list:
             return self._field_list[key]

Modified: branches/yt-generalization/yt/mods.py
==============================================================================
--- branches/yt-generalization/yt/mods.py	(original)
+++ branches/yt-generalization/yt/mods.py	Tue Sep  9 03:00:21 2008
@@ -34,8 +34,8 @@
 
 from yt.lagos import EnzoStaticOutput, \
     BinnedProfile1D, BinnedProfile2D, BinnedProfile3D, \
-    add_field, fieldInfo, \
-    Clump, write_clump_hierarchy, find_clumps, write_clumps
+    add_field, Clump, write_clump_hierarchy, find_clumps, \
+    write_clumps
 
 from yt.raven import PlotCollection, PlotCollectionInteractive, \
     QuiverCallback, ParticleCallback, ContourCallback, \

Modified: branches/yt-generalization/yt/raven/PlotTypes.py
==============================================================================
--- branches/yt-generalization/yt/raven/PlotTypes.py	(original)
+++ branches/yt-generalization/yt/raven/PlotTypes.py	Tue Sep  9 03:00:21 2008
@@ -107,6 +107,7 @@
         self.set_autoscale(True)
         self.im = defaultdict(lambda: "")
         self["ParameterFile"] = "%s" % self.data.pf
+        self.pf = self.data.pf
         self.axis_names = {}
         self._ax_min = self.data.pf["DomainLeftEdge"]
         self._ax_max = self.data.pf["DomainRightEdge"]
@@ -240,7 +241,7 @@
 
     def __setup_from_field(self, field):
         self.set_log_field(field in lagos.log_fields
-                           or lagos.fieldInfo[field].take_log)
+                           or self.pf.field_info[field].take_log)
         self.axis_names["Z"] = field
 
     def set_log_field(self, val):
@@ -384,7 +385,7 @@
 
     def switch_z(self, field):
         self.set_log_field(field in lagos.log_fields
-                           or lagos.fieldInfo[field].take_log)
+                           or self.pf.field_info[field].take_log)
         self.axis_names["Z"] = field
         self._redraw_image()
 
@@ -400,8 +401,8 @@
             return
         field_name = self.axis_names["Z"]
         data_label = r"$\rm{%s}" % field_name.replace("_","\hspace{0.5}")
-        if lagos.fieldInfo.has_key(field_name):
-            data_label += r"\/\/ (%s)" % (lagos.fieldInfo[field_name].get_units())
+        if self.pf.field_info.has_key(field_name):
+            data_label += r"\/\/ (%s)" % (self.pf.field_info[field_name].get_units())
         data_label += r"$"
         if self.colorbar != None: self.colorbar.set_label(str(data_label))
 
@@ -414,8 +415,8 @@
             return
         field_name = self.axis_names["Z"]
         data_label = r"$\rm{%s}" % field_name.replace("_","\hspace{0.5}")
-        if lagos.fieldInfo.has_key(field_name):
-            data_label += r"\/\/ (%s)" % (lagos.fieldInfo[field_name].get_projected_units())
+        if self.pf.field_info.has_key(field_name):
+            data_label += r"\/\/ (%s)" % (self.pf.field_info[field_name].get_projected_units())
         data_label += r"$"
         if self.colorbar != None: self.colorbar.set_label(str(data_label))
 
@@ -465,7 +466,7 @@
 
 class ProfilePlot(RavenPlot):
     def setup_bins(self, field, func=None):
-        if field in lagos.fieldInfo and lagos.fieldInfo[field].take_log:
+        if field in self.pf.field_info and self.pf.field_info[field].take_log:
             log_field = True
             if func: func('log')
         else:
@@ -476,8 +477,8 @@
 
     def autoset_label(self, field, func):
         dataLabel = r"$\rm{%s}" % (field.replace("_","\hspace{0.5}"))
-        if field in lagos.fieldInfo:
-            dataLabel += r" (%s)" % (lagos.fieldInfo[field].get_units())
+        if field in self.pf.field_info:
+            dataLabel += r" (%s)" % (self.pf.field_info[field].get_units())
         dataLabel += r"$"
         func(str(dataLabel))
 
@@ -655,8 +656,8 @@
             func(str(self.datalabel))
             return
         data_label = r"$\rm{%s}" % field_name.replace("_"," ")
-        if field_name in lagos.fieldInfo:
-            data_label += r"\/\/ (%s)" % (lagos.fieldInfo[field_name].get_units())
+        if field_name in self.pf.field_info:
+            data_label += r"\/\/ (%s)" % (self.pf.field_info[field_name].get_units())
         data_label += r"$"
         func(str(data_label))
 



More information about the yt-svn mailing list