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

mturk at wrangler.dreamhost.com mturk at wrangler.dreamhost.com
Thu Jun 19 12:10:20 PDT 2008


Author: mturk
Date: Thu Jun 19 12:10:15 2008
New Revision: 575
URL: http://yt.spacepope.org/changeset/575

Log:
No one uses yt to interface with Amira.  On numerous occasions I have attempted
to start a dialogue about this, but there was never any real interest.  I'm
removing it now; Amira is extremely expensive, closed source, and I don't think
the exporter has a place in the current vision for this toolkit.  Anyone who
would like to see my initial sketches of the exporter -- which were only once
successfully put into practice -- can look at this diff for reference. 



Modified:
   trunk/yt/lagos/BaseGridType.py
   trunk/yt/lagos/EnzoRunType.py
   trunk/yt/lagos/HierarchyType.py

Modified: trunk/yt/lagos/BaseGridType.py
==============================================================================
--- trunk/yt/lagos/BaseGridType.py	(original)
+++ trunk/yt/lagos/BaseGridType.py	Thu Jun 19 12:10:15 2008
@@ -316,44 +316,6 @@
         os.chdir(cwd)
         mylog.debug("Grid read with SWIG")
 
-    def __export_amira(self, filename, fields, timestep = 1, a5Filename=None, gid=0):
-        """
-        **DO NOT USE**
-        """
-        fields = ensure_list(fields)
-        deltas = na.array([self.dx,self.dy,self.dz],dtype='float64')
-        tn = "time-%i" % (timestep)
-        ln = "level-%i" % (self.Level)
-        for field in fields:
-            iorigin = (self.LeftEdge/deltas).astype('int64')
-            new_h5 = tables.openFile(filename % {'field' : field}, "a")
-            f = self[field].transpose().reshape(self.ActiveDimensions)
-            new_h5.createArray("/","grid-%i" % (self.id), f)
-            del f
-            node = new_h5.getNode("/","grid-%i" % (self.id))
-            node.setAttr("level",self.Level)
-            node.setAttr("timestep",timestep)
-            node.setAttr("time",self.Time)
-            node.setAttr("cctk_bbox",na.array([0,0,0,0,0,0],dtype='int32'))
-            node.setAttr("cctk_nghostzones",na.array([0,0,0],dtype='int32'))
-            node.setAttr("delta",deltas)
-            node.setAttr("origin",self.LeftEdge)
-            node.setAttr("iorigin",iorigin*(2**(self.hierarchy.maxLevel - self.Level)))
-            new_h5.close()
-            if a5Filename != None:
-                new_h5 = tables.openFile(a5Filename % {'field' : field}, "a")
-                new_h5.createGroup("/%s/%s" % (tn, ln),"grid-%i" % (gid))
-                node=new_h5.getNode("/%s/%s" % (tn, ln),"grid-%i" % (gid))
-                node._f_setAttr("dims",self.ActiveDimensions)
-                node._f_setAttr("ghostzoneFlags",na.array([0,0,0,0,0,0],dtype='int32'))
-                node._f_setAttr("integerOrigin",(self.LeftEdge/deltas).astype('int64'))
-                node._f_setAttr("numGhostzones",na.array([0,0,0],dtype='int32'))
-                node._f_setAttr("origin",self.LeftEdge)
-                node._f_setAttr("referenceDataPath","/"+"grid-%i" % (self.id))
-                fn = os.path.basename(filename % {'field' : field})
-                node._f_setAttr("referenceFileName", fn)
-                new_h5.close()
-
     def _set_child_mask(self, newCM):
         if self.__child_mask != None:
             mylog.warning("Overriding child_mask attribute!  This is probably unwise!")

Modified: trunk/yt/lagos/EnzoRunType.py
==============================================================================
--- trunk/yt/lagos/EnzoRunType.py	(original)
+++ trunk/yt/lagos/EnzoRunType.py	Thu Jun 19 12:10:15 2008
@@ -386,40 +386,3 @@
         for i in range(self.outputs.shape[0]):
             keys.append(self.outputs[i].basename)
         return keys
-
-    def exportAmira(self, basename, fields):
-        a5 = basename + "-%(field)s.a5"
-        sorted_times = []
-        sorted_timesteps = []
-        for field in fields:
-            a5b=tables.openFile(a5 % {'field':field},"w")
-            a5b.close()
-        if (not iterable(fields)) or (isinstance(fields, types.StringType)):
-            fields = [fields]
-        for i in range(len(self)):
-            mylog.info("Exporting %s to Amira format", self[i])
-            bn = basename + "-%06i" % (i) + "-%(field)s.h5"
-            numDone = 0
-            self.promoteType(i)
-            self[i].exportAmira(bn, fields, a5, i)
-            rootDelta = na.array([self[i].grids[0].dx, self[i].grids[0].dy, self[i].grids[0].dz], dtype=nT.Float64)
-            sorted_timesteps.append(i)
-            sorted_times.append(self[i]["InitialTime"])
-            self.demoteType(i)
-            numDone += 1
-        for field in fields:
-            a5b=tables.openFile(a5 % {'field':field},"a")
-            a5b.createGroup("/","globalMetaData")
-            node=a5b.getNode("/","globalMetaData")
-            node._f_setAttr("datatype",0)
-            node._f_setAttr("fieldtype",1)
-            node._f_setAttr("staggering",1)
-            node._f_setAttr("maxTime",self.timesteps[-1])
-            node._f_setAttr("maxTimeStep",len(self)-1)
-            node._f_setAttr("minTime",self.timesteps[0])
-            node._f_setAttr("minTimeStep",0)
-            node._f_setAttr("numTimeSteps",len(self))
-            node._f_setAttr("rootDelta",rootDelta)
-            a5b.createArray("/","sorted_timesteps", na.array(sorted_timesteps, dtype=nT.Int32))
-            a5b.createArray("/","sorted_times", na.array(sorted_times, dtype=nT.Float64))
-            a5b.close()

Modified: trunk/yt/lagos/HierarchyType.py
==============================================================================
--- trunk/yt/lagos/HierarchyType.py	(original)
+++ trunk/yt/lagos/HierarchyType.py	Thu Jun 19 12:10:15 2008
@@ -745,42 +745,6 @@
                      self.gridLeftEdge[i,1], self.gridRightEdge[i,1],
                      self.gridLeftEdge[i,2], self.gridRightEdge[i,2]))
 
-    @time_execution
-    def __export_amira(self, basename, fields, a5basename, timestep):
-        """
-        This is untested, and only remains for possible future usage.
-        """
-        if (not iterable(fields)) or (isinstance(fields, types.StringType)):
-            fields = [fields]
-        for field in fields:
-            tt=tables.openFile(basename % {'field':field},"w")
-            k=tt.createGroup("/","Parameters and Global Attributes")
-            k._f_setAttr("staggering",1)
-            tt.close()
-            a5=tables.openFile(a5basename % {'field':field},"a")
-            a5.createGroup("/", "time-%i" % timestep)
-            node = a5.getNode("/","time-%i" % timestep)
-            node._f_setAttr("numLevels",self.maxLevel+1)
-            node._f_setAttr("time",self["InitialTime"])
-            a5.close()
-        for level in range(self.maxLevel+1):
-            mylog.info("Exporting level %s", level)
-            for field in fields:
-                a5=tables.openFile(a5basename % {'field':field},"a")
-                a5.createGroup("/time-%i" % (timestep),"level-%i" % (level))
-                node=a5.getNode("/time-%i" % (timestep),"level-%i" % (level))
-                delta = na.array([self.gridDxs[self.levelIndices[level][0]]]*3,dtype='float64')
-                node._f_setAttr("delta",delta)
-                node._f_setAttr("num_grids",self.levelNum[level])
-                # This next one is not necessarily true.  But, it is for
-                # everyone I care about right now...
-                node._f_setAttr("relativeRefinementFactor",na.array([2,2,2],dtype='int32'))
-                a5.close()
-            gid = 0
-            for grid in self.grids[self.levelIndices[level]]:
-                grid.export_amira(basename, fields, timestep, a5basename, gid)
-                gid += 1
-
     def __initialize_enzo_interface(self, idt_val = 0.0):
         """
         This is old, old code that will some day be revived.



More information about the yt-svn mailing list