[Yt-svn] yt-commit r762 - branches/yt-generalization/yt/lagos

mturk at wrangler.dreamhost.com mturk at wrangler.dreamhost.com
Tue Sep 9 06:21:41 PDT 2008


Author: mturk
Date: Tue Sep  9 06:21:40 2008
New Revision: 762
URL: http://yt.spacepope.org/changeset/762

Log:
Added the orion fields specifier file, changed the name of the field containers
to avoid collision with the .py files, and put in a 'density' -> 'Density'
mapper.  For some reason the commented out code in OrionFields.py doesn't work
-- scoping issues, it looks like.  I'll fix that up later, as we need to put
that same mapping in both the OrionFields.py and EnzoFields.py.



Added:
   branches/yt-generalization/yt/lagos/OrionFields.py
Modified:
   branches/yt-generalization/yt/lagos/FieldInfoContainer.py
   branches/yt-generalization/yt/lagos/HierarchyType.py
   branches/yt-generalization/yt/lagos/OrionDefs.py
   branches/yt-generalization/yt/lagos/OutputTypes.py

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 06:21:40 2008
@@ -82,16 +82,16 @@
             return self._universal_field_list[key]
         raise KeyError
 
-class EnzoFields(CodeFieldInfoContainer):
+class EnzoFieldContainer(CodeFieldInfoContainer):
     _shared_state = {}
     _field_list = {}
-EnzoFieldInfo = EnzoFields()
+EnzoFieldInfo = EnzoFieldContainer()
 add_enzo_field = EnzoFieldInfo.add_field
 
-class OrionFields(CodeFieldInfoContainer):
+class OrionFieldContainer(CodeFieldInfoContainer):
     _shared_state = {}
     _field_list = {}
-OrionFieldInfo = OrionFields()
+OrionFieldInfo = OrionFieldContainer()
 add_orion_field = OrionFieldInfo.add_field
 
 class ValidationException(Exception):

Modified: branches/yt-generalization/yt/lagos/HierarchyType.py
==============================================================================
--- branches/yt-generalization/yt/lagos/HierarchyType.py	(original)
+++ branches/yt-generalization/yt/lagos/HierarchyType.py	Tue Sep  9 06:21:40 2008
@@ -506,7 +506,7 @@
         """
         # Expect filename to be the name of the parameter file, not the
         # hierarchy
-        self.field_info = EnzoFields()
+        self.field_info = EnzoFieldContainer()
         self.data_style = data_style
         self.hierarchy_filename = os.path.abspath(pf.parameter_filename) \
                                + ".hierarchy"
@@ -852,7 +852,7 @@
 
 class OrionHierarchy(AMRHierarchy):
     def __init__(self,pf,data_style=7):
-        self.field_info = OrionFields()
+        self.field_info = OrionFieldContainer()
         self.field_indexes = {}
         self.parameter_file = weakref.proxy(pf)
         header_filename = os.path.join(pf.fullplotdir,'Header')

Modified: branches/yt-generalization/yt/lagos/OrionDefs.py
==============================================================================
--- branches/yt-generalization/yt/lagos/OrionDefs.py	(original)
+++ branches/yt-generalization/yt/lagos/OrionDefs.py	Tue Sep  9 06:21:40 2008
@@ -35,19 +35,4 @@
                   }
 
 
-yt2orionFieldsDict = {"x-velocity": "xvel",
-                        "y-velocity": "yvel",
-                        "z-velocity": "zvel",
-                        "Density": "density",
-                        "Gas_Energy": "eden",
-                        "Temperature": "temperature",
-                      "x-momentum": "xmom",
-                      "y-momentum": "ymom",
-                      "z-momentum": "zmom"
-                        }
-orion2ytFieldsDict = {}
-
-for f,v in yt2orionFieldsDict.items():
-    orion2ytFieldsDict[v] = f
-
 orion_FAB_header_pattern = r"^FAB \(\((\d+), \([0-9 ]+\)\),\(\d+, \(([0-9 ]+)\)\)\)\(\((\d+,\d+,\d+)\) \((\d+,\d+,\d+)\) \((\d+,\d+,\d+)\)\) (\d+)\n"

Added: branches/yt-generalization/yt/lagos/OrionFields.py
==============================================================================
--- (empty file)
+++ branches/yt-generalization/yt/lagos/OrionFields.py	Tue Sep  9 06:21:40 2008
@@ -0,0 +1,32 @@
+
+
+from UniversalFields import *
+
+add_field = add_orion_field
+
+add_field("density", function=lambda a,b: None, take_log=True,
+          validators = [ValidateDataField("density")],
+          units=r"\rm{g}/\rm{cm}^3")
+
+translation_dict = {"x-velocity": "xvel",
+                    "y-velocity": "yvel",
+                    "z-velocity": "zvel",
+                    "Density": "density",
+                    "Gas_Energy": "eden",
+                    "Temperature": "temperature",
+                    "x-momentum": "xmom",
+                    "y-momentum": "ymom",
+                    "z-momentum": "zmom"
+                   }
+
+add_field("Density", function=lambda a,b: b["density"])
+
+#for f,v in translation_dict.items():
+#    if v not in OrionFieldInfo:
+#        add_field(v, function=lambda a,b: None, take_log=True,
+#                  validators = [ValidateDataField(v)])
+#    def func(a, b):
+#        print "Returning %s (%s)" % (v, f)
+#        return b[v]
+#    print "Setting up translator from %s to %s" % (v, f)
+#    add_field(f, function=func, take_log=True)

Modified: branches/yt-generalization/yt/lagos/OutputTypes.py
==============================================================================
--- branches/yt-generalization/yt/lagos/OutputTypes.py	(original)
+++ branches/yt-generalization/yt/lagos/OutputTypes.py	Tue Sep  9 06:21:40 2008
@@ -146,7 +146,7 @@
         cp = os.path.join(self.directory, "cool_rates.out")
         if os.path.exists(cp):
             self.cool = EnzoTable(cp, cool_out_key)
-        self.field_info = EnzoFields()
+        self.field_info = EnzoFieldContainer()
 
     def _parse_parameter_file(self):
         """
@@ -307,6 +307,7 @@
           ASCII
 
         """
+        self.field_info = OrionFieldContainer()
         self.data_style = data_style
         self.paranoid_read = paranoia
         plotname = plotname.rstrip('/')



More information about the yt-svn mailing list