[Yt-svn] yt-commit r1015 - trunk/yt/lagos

joishi at wrangler.dreamhost.com joishi at wrangler.dreamhost.com
Tue Dec 16 11:34:54 PST 2008


Author: joishi
Date: Tue Dec 16 11:34:53 2008
New Revision: 1015
URL: http://yt.spacepope.org/changeset/1015

Log:
made ability to load arbitrary fields from data files generic (not just enzo specific)

* added _add_detected_fields method to AMRHierarchy
* call _add_detected_fields in AMRHierarchy.__init__



Modified:
   trunk/yt/lagos/HierarchyType.py

Modified: trunk/yt/lagos/HierarchyType.py
==============================================================================
--- trunk/yt/lagos/HierarchyType.py	(original)
+++ trunk/yt/lagos/HierarchyType.py	Tue Dec 16 11:34:53 2008
@@ -65,6 +65,8 @@
         mylog.debug("Populating hierarchy")
         self._populate_hierarchy()
         mylog.debug("Done populating hierarchy")
+        self._add_detected_fields()
+        mylog.debug("Done adding auto-detected fields")
 
     def _initialize_grids(self):
         mylog.debug("Allocating memory for %s grids", self.num_grids)
@@ -526,6 +528,31 @@
                 output, genealogy, corners, ogl)
         return output, genealogy, levels_all, levels_finest, pp, corners
 
+    def _add_detected_fields(self):
+        """add any extra fields in the 
+
+
+        """
+        for field in self.field_list:
+            if field in self.parameter_file.field_info: continue
+            mylog.info("Adding %s to list of fields", field)
+            cf = None
+            if self.parameter_file.has_key(field):
+                cf = lambda d: d.convert(field)
+            add_field(field, lambda a, b: None, convert_function=cf,take_log=False)
+        self.derived_field_list = []
+        for field in self.parameter_file.field_info:
+            try:
+                fd = self.parameter_file.field_info[field].get_dependencies(pf = self.parameter_file)
+            except:
+                continue
+            available = na.all([f in self.field_list for f in fd.requested])
+            if available: self.derived_field_list.append(field)
+        for field in self.field_list:
+            if field not in self.derived_field_list:
+                self.derived_field_list.append(field)
+
+
 class EnzoHierarchy(AMRHierarchy):
     eiTopGrid = None
     _strip_path = False
@@ -860,24 +887,6 @@
             field_list = self._join_field_lists(field_list)
             self.save_data(list(field_list),"/","DataFields")
         self.field_list = list(field_list)
-        for field in self.field_list:
-            if field in self.parameter_file.field_info: continue
-            mylog.info("Adding %s to list of fields", field)
-            cf = None
-            if self.parameter_file.has_key(field):
-                cf = lambda d: d.convert(field)
-            add_field(field, lambda a, b: None, convert_function=cf)
-        self.derived_field_list = []
-        for field in self.parameter_file.field_info:
-            try:
-                fd = self.parameter_file.field_info[field].get_dependencies(pf = self.parameter_file)
-            except:
-                continue
-            available = na.all([f in self.field_list for f in fd.requested])
-            if available: self.derived_field_list.append(field)
-        for field in self.field_list:
-            if field not in self.derived_field_list:
-                self.derived_field_list.append(field)
 
     def _generate_random_grids(self):
         if self.num_grids > 40:



More information about the yt-svn mailing list