[Yt-svn] yt-commit r501 - in trunk/yt: lagos reason

mturk at wrangler.dreamhost.com mturk at wrangler.dreamhost.com
Thu May 29 00:10:22 PDT 2008


Author: mturk
Date: Thu May 29 00:10:21 2008
New Revision: 501
URL: http://yt.spacepope.org/changeset/501

Log:
Added a 'display_field' option to derived fields, which is just another attempt
at keeping some fields in, some fields out.  I think this one is appropriate
for things that are normal, useful derived fields that might not need to be
plotted.  I am currently also using it to suppress 'Dark matter density' in the
views, but I think that one should be dealt with separately.



Modified:
   trunk/yt/lagos/DerivedFields.py
   trunk/yt/reason/App.py
   trunk/yt/reason/Functions.py
   trunk/yt/reason/Notebook.py
   trunk/yt/reason/Windows.py

Modified: trunk/yt/lagos/DerivedFields.py
==============================================================================
--- trunk/yt/lagos/DerivedFields.py	(original)
+++ trunk/yt/lagos/DerivedFields.py	Thu May 29 00:10:21 2008
@@ -130,6 +130,7 @@
                  units = "", projected_units = "",
                  take_log = True, validators = None,
                  particle_type = False, vector_field=False,
+                 display_field = True,
                  projection_conversion = "cm"):
         self.name = name
         self._function = function
@@ -146,6 +147,7 @@
         self.particle_type = particle_type
         self.vector_field = vector_field
         self.projection_conversion = projection_conversion
+        self.display_field = display_field
     def check_available(self, data):
         for validator in self.validators:
             validator(data)
@@ -238,24 +240,24 @@
 def _dx(field, data):
     return data.dx
     return na.ones(data.ActiveDimensions, dtype='float64') * data.dx
-add_field('dx', validators=[ValidateSpatial(0)])
+add_field('dx', display_field=False, validators=[ValidateSpatial(0)])
 
 def _dy(field, data):
     return data.dy
     return na.ones(data.ActiveDimensions, dtype='float64') * data.dy
-add_field('dy', validators=[ValidateSpatial(0)])
+add_field('dy', display_field=False, validators=[ValidateSpatial(0)])
 
 def _dz(field, data):
     return data.dz
     return na.ones(data.ActiveDimensions, dtype='float64') * data.dz
-add_field('dz', validators=[ValidateSpatial(0)])
+add_field('dz', display_field=False, validators=[ValidateSpatial(0)])
 
 def _coordX(field, data):
     dim = data.ActiveDimensions[0]
     return (na.ones(data.ActiveDimensions, dtype='float64')
                    * na.arange(data.ActiveDimensions[0]).reshape(dim,1,1)
             +0.5) * data['dx'] + data.LeftEdge[0]
-add_field('x', function=_coordX,
+add_field('x', function=_coordX, display_field=False,
           validators=[ValidateSpatial(0)])
 
 def _coordY(field, data):
@@ -263,7 +265,7 @@
     return (na.ones(data.ActiveDimensions, dtype='float64')
                    * na.arange(data.ActiveDimensions[1]).reshape(1,dim,1)
             +0.5) * data['dy'] + data.LeftEdge[1]
-add_field('y', function=_coordY,
+add_field('y', function=_coordY, display_field=False,
           validators=[ValidateSpatial(0)])
 
 def _coordZ(field, data):
@@ -271,7 +273,7 @@
     return (na.ones(data.ActiveDimensions, dtype='float64')
                    * na.arange(data.ActiveDimensions[2]).reshape(1,1,dim)
             +0.5) * data['dz'] + data.LeftEdge[2]
-add_field('z', function=_coordZ,
+add_field('z', function=_coordZ, display_field=False,
           validators=[ValidateSpatial(0)])
 
 
@@ -307,12 +309,14 @@
 def _OnesOverDx(field, data):
     return na.ones(data["Density"].shape,
                    dtype=data["Density"].dtype)/data['dx']
-add_field("OnesOverDx")
+add_field("OnesOverDx", display_field=False)
 
 def _Ones(field, data):
     return na.ones(data.ActiveDimensions, dtype='float64')
-add_field("Ones", validators=[ValidateSpatial(0)], projection_conversion="1")
-add_field("CellsPerBin", function=_Ones, validators=[ValidateSpatial(0)])
+add_field("Ones", validators=[ValidateSpatial(0)], projection_conversion="1",
+          display_field = False)
+add_field("CellsPerBin", function=_Ones, validators=[ValidateSpatial(0)],
+          display_field = False)
 
 def _SoundSpeed(field, data):
     return ( data.pf["Gamma"]*data["Pressure"] / \
@@ -346,6 +350,9 @@
 add_field("particle mass", function=particle_func("particle_mass"),
           validators=[ValidateSpatial(0)], particle_type=True)
 
+add_field("Dark matter density", function=lambda a,b:None,
+          display_field=False)
+
 def _ParticleMass(field, data):
     particles = data["particle_mass"].astype('float64') * \
                 just_one(data["CellVolumeCode"].ravel())
@@ -446,11 +453,11 @@
     return data.convert("au")
 add_field("Height", convert_function=_convertHeight,
           validators=[ValidateParameter("height_vector")],
-          units=r"cm")
+          units=r"cm", display_field=False)
 add_field("HeightAU", function=_Height,
           convert_function=_convertHeightAU,
           validators=[ValidateParameter("height_vector")],
-          units=r"AU")
+          units=r"AU", display_field=False)
 
 def _DiskAngle(field, data):
     # We make both r_vec and h_vec into unit vectors
@@ -466,7 +473,8 @@
     return na.arccos(dp)
 add_field("DiskAngle", take_log=False,
           validators=[ValidateParameter("height_vector"),
-                      ValidateParameter("center")])
+                      ValidateParameter("center")],
+          display_field=False)
 
 def _DynamicalTime(field, data):
     """
@@ -640,8 +648,10 @@
 
 def _Contours(field, data):
     return na.ones(data["Density"].shape)*-1
-add_field("Contours", validators=[ValidateSpatial(0)], take_log=False)
-add_field("tempContours", function=_Contours, validators=[ValidateSpatial(0)], take_log=False)
+add_field("Contours", validators=[ValidateSpatial(0)], take_log=False,
+          display_field=False)
+add_field("tempContours", function=_Contours, validators=[ValidateSpatial(0)],
+          take_log=False, display_field=False)
 
 def _SpecificAngularMomentum(field, data):
     """

Modified: trunk/yt/reason/App.py
==============================================================================
--- trunk/yt/reason/App.py	(original)
+++ trunk/yt/reason/App.py	Thu May 29 00:10:21 2008
@@ -258,11 +258,12 @@
         ni = self.data_tree.AppendItem(self.output_root, "%s" % (eso.basename), data=tid)
         self.data_tree.Expand(self.output_root)
 
-    def _add_data_object(self, title, object, mids):
+    def _add_data_object(self, title, object, mids, parent_id = None):
         self.data_objects.append(object)
         tid = wx.TreeItemData((object, title, len(self.data_objects), mids))
-        ni = self.data_tree.AppendItem(self.data_root, "%s" % (title), data=tid)
-        self.data_tree.Expand(self.data_root)
+        if parent_id is None: parent_id = self.data_root
+        ni = self.data_tree.AppendItem(parent_id, "%s" % (title), data=tid)
+        self.data_tree.Expand(parent_id)
 
     def _add_sphere(self, title, sphere):
         # These all get passed in

Modified: trunk/yt/reason/Functions.py
==============================================================================
--- trunk/yt/reason/Functions.py	(original)
+++ trunk/yt/reason/Functions.py	Thu May 29 00:10:21 2008
@@ -26,10 +26,13 @@
 
 from yt.reason import *
 
-def QueryFields(outputfile):
+def QueryFields(outputfile, only_display_fields = False):
     fields = []
     for f in outputfile.hierarchy.derived_field_list:
         if f in lagos.fieldInfo and lagos.fieldInfo[f].particle_type: continue
+        if only_display_fields and \
+            f in lagos.fieldInfo and \
+            not lagos.fieldInfo[f].display_field: continue
         fields.append(f)
     return sorted(fields)
 

Modified: trunk/yt/reason/Notebook.py
==============================================================================
--- trunk/yt/reason/Notebook.py	(original)
+++ trunk/yt/reason/Notebook.py	Thu May 29 00:10:21 2008
@@ -673,7 +673,7 @@
         #self.UpdateWidth()
 
     def QueryFields(self):
-        return QueryFields(self.outputfile)
+        return QueryFields(self.outputfile, True)
 
 class SlicePlotPage(VMPlotPage):
     def makePlot(self):

Modified: trunk/yt/reason/Windows.py
==============================================================================
--- trunk/yt/reason/Windows.py	(original)
+++ trunk/yt/reason/Windows.py	Thu May 29 00:10:21 2008
@@ -214,7 +214,7 @@
     def __init__(self, data_object, parent):
         wx.Dialog.__init__(self, parent, -1, title="Setup Projection")
 
-        fields = QueryFields(data_object)
+        fields = QueryFields(data_object, True)
         
         border = wx.BoxSizer(wx.VERTICAL)
         gbs = wx.GridBagSizer(5, 5)



More information about the yt-svn mailing list